Windows ブートマネージャーと MBR/BCD を使ってブートの問題を解決する方法
Windowsが起動せず、BCDデータが欠落または破損しているというエラーが表示されると、かなりイライラしますが、修復方法がいくつかあります。通常、これはブート構成データ(BCD)ファイルが壊れているか、マスターブートレコード(MBR)が消去または破損していることが原因です。場合によっては、システム予約済みパーティションが壊れていたり、EFIパーティション(UEFIシステムの場合)に不具合が生じていることもあります。このガイドでは、最も一般的な修復方法をいくつか紹介します。これにより、再インストールの地獄に陥ることなく、Windowsを元の状態に戻すことができます。
基本的には、Windowsの回復ツールやコマンドラインツールを使ってBCDを再構築し、MBRを修復し、必要に応じてEFIを再作成します。目標は?適切なブートシーケンスを再確立し、Windowsが再びスムーズに起動できるようにすることです。一部の環境では再起動後にこの方法が機能しますが、難しい場合はWindowsインストールメディアまたは回復ドライブから起動し、コマンドプロンプトで操作する必要があります。
Windowsの起動の問題を修正し、ブートローダーを修復する方法
方法1:Windows回復環境による自動修復
BCDファイルまたはシステムファイルが見つからないというエラーが発生した場合、まず試すべきことは、Windows回復環境(WinRE)を起動することです。通常、WindowsインストールUSBまたはDVDから起動することで起動できますが、Windowsが問題を検出すると自動的に回復モードで起動する場合もあります。起動したら、「コンピューターを修復する」 > 「トラブルシューティング」 > 「詳細オプション」 > 「スタートアップ修復」に進みます。これは、一般的な起動の問題を自動的に修正するのに役立ちます。
プロのヒント:作業を始める前に、WinRE 自体が正常に動作し、問題がないことを確認しておくことをお勧めします。WinRE が起動しない場合は、修復するか、リカバリメディアから再作成する必要があるかもしれません。
自動修復がうまくいかない場合に役立つもう一つの方法があります。Windowsインストールメディアから起動し、「コンピューターを修復する」を選択して、コマンドプロンプトを開きます。コマンドラインを使って、BCDを手動で再構築または修復する必要があります。手順は以下のとおりです。
方法2: コマンドラインでBCDを再構築する
エラーが\Boot\BCDファイルの欠落または破損を示している場合、またはシステム予約済みパーティションを誤ってフォーマットした場合は、BCDストアを再作成する必要があります。Windowsインストールメディアから起動していることを確認してください。まず、BIOSをUSBまたはDVDから起動するように設定してください。
コマンド プロンプトが表示されたら (セットアップ画面で Shift + F10 を押した後)、次の手順に従います。
- システムドライブを特定します。通常、WindowsがDドライブか別のドライブ文字かを確認する必要があります。ディスクを確認するには、
diskpart次のコマンドを実行しますlist disk。「Gpt」列に「*」が表示されている場合は、UEFIシステム(GPTパーティションスタイル)です。表示されていない場合は、BIOS/MBRである可能性があります。その後、次のコマンドを実行してlist volWindowsパーティションを特定します。 - システム予約済みパーティションにドライブ文字が割り当てられていない場合は、割り当てます。例:
select disk 0 list vol select vol 1 # replace '1' with your System Reserved partition number assign letter=C exit
次に、古い BCD をバックアップして、破損している場合は削除し、新しい BCD を作成します。
attrib C:\Boot\BCD -s -h -r del C:\Boot\BCD bcdboot C:\Windows /S C: /f ALL
このコマンドは、Windowsのブートファイルをシステム予約済み(専用のシステムパーティションがない場合はCドライブ)にコピーします。少し奇妙に思えますが、一部のマシンでは手動で再構築するよりもうまく機能します。UEFIシステムの場合は、EFIシステムパーティションを修復または再作成する必要があります。
方法3: MBRを再構築する(BIOSシステムの場合)
オペレーティングシステムが見つからないというエラーが発生し、「オペレーティングシステムが見つかりません」と表示される場合は、MBRが破損している可能性があります。bootrecコマンドを使用して修復できます。回復環境を起動し、コマンドプロンプトを開いて、以下の手順を試してください。
bootrec /fixmbr
これにより、MBRが標準のMBRで上書きされます。次に、ブートセクター自体を修正します。
bootrec /fixboot
次に、ブートローダーに含まれていない Windows インストールをスキャンします。
bootrec /scanos bootrec /rebuildbcd
指示に従ってください。Windowsが検出されない、またはブートローダーが正しい場所を指していないなどの問題は、多くの場合、この方法で解決できます。ただし、UEFIを使用している場合は、これらのコマンドだけでは不十分です。代わりにEFIパーティションを修復する必要があります。
方法4: ブートローダーを再作成する(BCDが完全に壊れている場合)
上記のすべてを試してもシステムが起動せず、最初からやり直す必要がある場合は、BCDストアを完全に再作成することをお勧めします。そのためには、 BCDEDITというコマンドラインツールが必要です。
まず、ブートファイルが格納されたシステム予約済みパーティションがあるかどうかを確認します。ない場合は、上記のようにWindowsドライブに新しいBCDを作成できます。ない場合は、以下の手順を実行してください。
diskpart必要に応じて、システム予約済みパーティションにドライブ文字を割り当てるために使用します。- 既存の BCD をバックアップします。
attrib C:\Boot\BCD -s -h -r del C:\Boot\BCD
次に、新しいストアを作成します。
bcdedit /createstore C:\Boot\BCD
必要なエントリを追加します。
bcdedit /create {bootmgr} /d "Windows Boot Manager" bcdedit /set {bootmgr} device partition=c: bcdedit /set {bootmgr} path \Boot\bootmgfw.efi # for UEFI systems
UEFIかBIOSかに応じてパスを置き換えてください。次に、Windowsフォルダを指す実際のWindowsローダーエントリを追加してください。
まとめ
起動の問題の修復は面倒ですが、通常は完全な再インストールなしでも実行できます。重要なのは、システムがBIOSとUEFIのどちらを使用しているかを理解し、適切なツールとコマンドを選択することです。多くの場合、BCDの再作成とMBRの修正で解決しますが、EFIパーティションのリセットが必要な場合もあります。
少しいじる覚悟をしておきましょう。ドライブ文字、パーティション、システムがBIOSかUEFIかを確認してください。回復ドライブがあれば、通常はブートローダーを修復してWindowsを再び起動できます。
まとめ
- 回復環境からの自動修復により、一般的な問題を修正できます。
- MBR およびブート セクターを修復するには
bootrec /fixmbr、およびを使用します。/fixboot bcdbootBCD が欠落しているか破損している場合は、またはを使用して BCD を再構築または再作成しますbcdedit。- 続行する前に、コマンドを使用してシステムが BIOS または UEFI であるかどうかを確認してください
diskpart。
これが役に立つことを祈る
私の経験上、コマンドラインをいじるのは難しそうに聞こえますが、多くの場合、最も早い解決策になります。1つの方法がうまくいかない場合は、別の方法を試してください。問題は複数の要因が組み合わさっている場合もあります。慌てずに、可能であればバックアップを忘れずに取ってください。