「スタートアップ修復でPCを修復できませんでした」というエラーを解決する方法
「スタートアップ修復でPCを修復できませんでした」というループに直面するのは、本当にイライラさせられます。Windowsが起動しないこともあり、内蔵の修復ツールが無駄に動作したり、状況を悪化させたりすることがあります。システムが自動的にすべてを修復できると想定しているのに、実際にはブートセクターや破損したファイルを手動で修復する必要がある場合もあるのは少しイライラします。これらの修復方法は必ずしも万能ではありませんが、多くの環境で効果があることが確認されているため、ドライブを消去したり、最初から再インストールしたりする前に試してみる価値はあります。ここでの目標は、ファイルを失うことなくシステムを再起動させることです。正しい手順に従えば、多くの場合、これは可能です。
多くの場合、この問題はブートセクタの破損またはブートローダーの不具合が原因で発生します。一部のシステムでは、Windowsスタートアップ修復ツールが停止したり、問題を誤診断したりすることがあります。少し奇妙ですが、よくあることです。そのため、Windowsの自動修復を試しても問題が解決しない場合は、コマンドラインツールを使って手動で修復作業を行うか、ファイルの復元を試してみることをお勧めします。
「スタートアップ修復でPCを修復できませんでした」というエラーを修正する方法
修正1: ブートセクターとブートローダーを修復または再構築する
これは通常、最も直接的な方法です。ブートセクターまたはブートローダーに問題がある場合、Windowsは起動しません。しかし、MBRパーティションとGPTパーティションのどちらを使用しているか、そしてどの程度深刻な問題があるのかによって、うまくいくかどうかは微妙です。とはいえ、これらのコマンドを実行することで、Windowsを完全に再インストールしなくても起動できる場合があります。ただし、注意が必要です。環境によっては、動作を確認するためにこれを複数回実行したり、数回再起動したりする必要がある場合があります。
- Windows インストールメディア(USB または DVD)から起動します。必要であれば、Windows メディア作成ツール を使用してメディアを作成することもできます。
- 最初の画面で [コンピューターを修復する] を選択し、[トラブルシューティング] > [詳細オプション] > [コマンド プロンプト] に進みます。
MBR修復(古いBIOSディスクの場合)
お使いのシステムがまだMBRを使用している場合(ほとんどの古いシステムやBIOSベースのシステムはMBRを使用しています)、以下のコマンドでブートセクターを修復できます。コマンドを順番に入力し、再起動してください。
bootrec /FixMBR bootrec /FixBoot bootrec /ScanOs bootrec /RebuildBcd
Windows が `/FixBoot` の実行に失敗し、アクセス拒否エラーが発生することがあります。その場合は、`bootsect` などの追加コマンドを実行したり、適切な権限を割り当てたりする必要があるかもしれませんが、それ自体が厄介な問題です。
EFI パーティション修復 (GPT ディスク用)
最近のマシンのほとんどはUEFI経由で起動するため、システムがGPTを使用している場合は、EFIパーティションを修復することが解決策となります。これらの手順は少し面倒ですが、EFIが破損または欠落している場合は、実行する価値があります。
- diskpart (cmd の `diskpart` コマンド) を実行し、list disk でディスクを一覧表示します。
- どのディスクがブート ドライブであるかを確認します。通常は、サイズが最も大きいディスクですが、環境にアスタリスクが表示される場合は、そのディスクを探すこともできます。
- sel disk X でディスクを選択します (X を数字に置き換えます)。
- list vol ですべてのボリュームを表示します。System または Boot というラベルが付いた、おそらく 100MB 程度の FAT32 ボリュームを見つけます。
- sel vol # でそのボリュームを選択します (# をボリューム番号に置き換えます)。
- アクセスできるようにドライブ文字を割り当てます(例:R:\)。「assign letter=R」と入力するだけです。これでdiskpartを終了できます(`exit`)。
- EFI ディレクトリに移動します。多くの場合、 のようなコマンドを実行します
cd /d R:\EFI\Microsoft\Boot\。そのフォルダが見つからない場合は、設定に応じて`cd /d R:\Boot\` または ` ` を試してください。cd /d R:\ESD\Windows\EFI\Microsoft\Boot\ - 念のため、現在の BCD (ブート構成データ) をバックアップしてください: `
ren BCD BCD.bak`。 - Windows ブートファイルをコピーして新しい BCD ストアを作成します: `
bcdboot C:\Windows /s R: /f ALL`。ここでは Windows は C:\ にあるはずですが、別のドライブにある場合は確認してください。 - 最後に、`
bootrec /rebuildbcd` を実行し、再起動して Windows が起動するかどうかを確認します。
Windows回復環境のその他のオプションを試す
コマンドライン修復が難しそうに思えたり、うまくいかない場合は、Windowsには他にも解決策があります。回復オプションメニューが表示されたら、レジストリバックアップの復元、最近のWindowsアップデートの取り消し、システムの復元、自動修復の無効化などを試して、ループを回避してください。
バックアップからレジストリを復元する
以前にレジストリのバックアップを設定していない限り、これは少し難しいかもしれません。もし設定している場合は、ドライブを消去せずにシステムを復旧できる、よりクリーンな修正方法の一つです。
- トラブルシューティング > 詳細オプション から、コマンド プロンプト を選択します。
- diskpart でメインの Windows パーティションを特定します。`list disk`、`sel disk 0`、`list vol` の順に実行します。システムドライブ(おそらく C:)を見つけます。
- System32: `
cd /d C:\windows\system32` に移動します。 - バックアップ フォルダーを作成します: `
mkdir rbackup`。 - 現在の設定フォルダをコピーします: `
copy config rbackup`。 - バックアップフォルダに移動します: `
cd config\regback`。 - `dir` でファイルを一覧表示します。ファイルがゼロで埋められている場合は、この修正は実行されません。
- そうでない場合は、レジストリのバックアップを復元します: `
copy *..\*` — プロンプトが表示されたら Y で確認します。
不正なアップデートをアンインストールする
Windowsのアップデート後にこの問題が発生した場合は、最新のアップデートを削除すると解決する可能性があります。回復オプションの「アップデートのアンインストール」にアクセスして、最近の品質アップデートまたは機能アップデートをロールバックできます。アップデートによって不具合が発生する場合があり、これが最も簡単な解決策です。
システムを動作状態に戻す
復元ポイントを設定している場合は、ロールバックを試してみる価値があります。システムを問題が発生する前の正常な状態に戻すことができます。
- 回復オプションからシステムの復元を選択します。
- 問題が発生する前の復元ポイントを選択し、[次へ] をクリックしてから [完了] をクリックします。
自動スタートアップ修復を無効にする
これは一種の最終手段ですが、自動修復をオフにすることで、隠れていたエラーを発見できる場合があります。より多くの手がかりが得られたり、手動で修正できる場合もあります。
- 回復時にコマンド プロンプトを開きます。
- ` ` を使用して現在のブート設定を確認し
bcdedit、Windows ブート ローダー エントリを識別します。 - ` ` を使用して自動回復を無効にします
bcdedit /set {default} recoveryenabled no(必要に応じて `{default}` を実際の識別子に置き換えます)。 - 再起動して、どのようなエラー メッセージが表示されるかを確認します。
これらの方法のいずれかでシステムが復旧することを願っています。ブートローダーやEFIの修復は必ずしも簡単ではありませんが、すべてを消去したり、盲目的に完全再インストールしたりするよりはずっと良いでしょう。頑張ってください!
まとめ
- ブートの問題を修正するには、`bootrec` や `bcdboot` などのコマンドライン ツールを使用してください。
- Windows が UEFI ベースの場合は EFI パーティションを修復します。
- 大規模な再インストールの前に、回復とシステムの復元オプションを試してください。
- 大きな修正を行う前に重要なファイルをバックアップしてください。
まとめ
目新しい修正ではありませんが、ブートセクターやEFIパーティションを手動で修正することで、多くの手間を省くことができます。Windowsを元の状態に戻すには、ちょっとした工夫が必要な場合もあります。この修正が役に立つことを願っています。多くのマシンで動作を確認しているので、試してみる価値はあります。