Windowsを起動しようとした際に「お使いのPCは修復する必要があります」という青い画面が表示され、パニックになった経験はないでしょうか。
このトラブルの多くは、Windowsの起動プロセスを管理する「ブート構成データ(BCD)」が破損したことによって発生します。
BCDはシステムがどのドライブからOSを読み込むべきかを指示する重要な役割を担っており、ここが壊れるとOSは立ち上がることができません。
本記事では、BCDが破損する原因から、初心者でも試せる自動修復、そしてコマンドプロンプトを用いた本格的な修復手順までを詳しく解説します。
ブート構成データ(BCD)とは何か?
ブート構成データ(BCD)は、Windowsの起動時に読み込まれるシステムデータベースの一種です。
以前のWindowsで使用されていた「boot.ini」に代わるもので、OSの起動オプションや場所に関する情報を保持しています。
PCの電源を入れると、まずBIOSまたはUEFIが起動し、その後にBCDを参照してWindows本体のプログラムを呼び出す仕組みとなっています。
そのため、BCDにエラーが発生すると、Windowsを見つけることができず起動プロセスが停止してしまいます。
画面に「0xc000000f」や「0xc0000034」といったエラーコードが表示された場合は、BCDの破損を疑うべきでしょう。
BCDが破損する主な原因
BCDが破損する原因はいくつか考えられますが、最も多いのはWindows Updateの失敗や不適切なシステム終了です。
更新プログラムのインストール中に電源が切れたり、PCを強制終了したりすると、書き込み中のBCDファイルが整合性を失うことがあります。
また、HDDやSSDといったストレージの物理的な劣化やセクタ不良も原因の一つです。
さらに、ウイルスやマルウェアがブートセクタを書き換えてしまうことによって発生する場合も少なくありません。
複数のOSをインストールするデュアルブート環境の構築や解除を失敗した際にも、このトラブルは頻発します。
修復作業の前に準備しておくべきもの
BCDの修復作業を行うには、通常のWindows画面が起動しないため、外部のメディアが必要になります。
事前に「回復ドライブ」を作成していればそれを使用しますが、作成していない場合は別のPCを使って「Windowsインストールメディア」を準備しましょう。
インストールメディアは、Microsoftの公式サイトからツールをダウンロードし、USBメモリに作成することが可能です。
また、作業中に万が一の事態が起きる可能性を考え、重要なデータのバックアップがあるかを確認しておくことを強く推奨します。
ノートPCの場合は、作業途中でバッテリー切れを起こさないよう、必ずACアダプタを接続した状態で作業を行ってください。
まずは「スタートアップ修復」を試す
コマンド操作を行う前に、まずはWindowsの標準機能である「スタートアップ修復」を試すのが鉄則です。
これは、Windowsが自動的に起動に関わるトラブルを検知し、修復を試みる機能です。
スタートアップ修復の実行手順
- 作成した回復ドライブやインストールメディアからPCを起動します。
- 言語設定画面が表示されたら「次へ」をクリックし、「コンピュータを修復する」を選択します。
- 「トラブルシューティング」をクリックします。
- 「詳細オプション」の中にある「スタートアップ修復」を選択します。
- ターゲットとなるOSを選択すると修復が開始されます。
この機能でBCDの軽微な不整合であれば、自動的に解消されるケースが多々あります。
もし「スタートアップ修復でPCを修復できませんでした」と表示された場合は、より高度なコマンド操作が必要となります。
コマンドプロンプトを使用したBCDの再構築
自動修復で解決しない場合は、コマンドプロンプトを使用して手動でBCDファイルを再構築します。
この作業では、Windowsのシステム修復ツールであるbootrecコマンドを使用します。
コマンドプロンプトの起動方法
先ほどと同様に、インストールメディアから起動し「詳細オプション」まで進みます。
メニューの中から「コマンドプロンプト」を選択してください。
黒い画面が表示されたら、以下の手順でコマンドを入力していきます。
基本の修復コマンドを実行する
まずは、マスターブートレコードとブートセクタを修復するための基本コマンドを入力しましょう。
一つ目のコマンドはbootrec /fixmbrです。
二つ目のコマンドはbootrec /fixbootです。
三つ目に、システム内のWindows構成を確認するbootrec /scanosを実行します。
最後に、BCDを完全に作り直すためのbootrec /rebuildbcdを入力してください。
コマンドの実行結果として「Windowsのインストールとして認識された合計数: 1」のように表示されれば成功です。
「インストールをブート一覧に追加しますか?」というメッセージが出たら「Y」キーを押して確定させます。
「アクセスが拒否されました」と表示される場合の対処
bootrec /fixbootを実行した際に、アクセス拒否のエラーが出ることがあります。
これは近年のUEFI環境のPCでよく見られる現象であり、ブートパーティションを一度フォーマットして構成し直す必要があります。
その場合は、diskpartコマンドを使用してEFIパーティションを特定し、手動でブート情報を書き込む作業が必要です。
| コマンド | 役割 |
|---|---|
list disk | 接続されているディスクを一覧表示する |
select disk 0 | OSが入っているディスクを選択する |
list partition | パーティション構成を確認する |
assign letter=V: | 隠れているEFIパーティションにドライブ文字を割り当てる |
UEFI環境でのbcdbootコマンドによる修復
最新のPC(GPT/UEFI形式)では、bootrecよりもbcdbootコマンドの方が確実な修復を期待できます。
EFIパーティションに対して、Windowsのシステムディレクトリから新しいブートファイルをコピーする手法です。
以下のコマンドを入力することで、ブート情報がクリーンな状態で再生成されます。
bcdboot C:\Windows /l ja-jp /s V: /f UEFI
ここで「C:」はWindowsがインストールされているドライブ、「V:」は先ほどドライブ文字を割り当てたEFIパーティションを指します。
「ブートファイルは正常に作成されました」と表示されれば、BCDの修復は完了です。
コマンドプロンプトを閉じ、PCを再起動してWindowsが正常に立ち上がるか確認してください。
BCD修復で解決しない場合に確認すること
コマンドを正しく入力してもエラーが解消されない、あるいは「Windowsのインストールが見つかりません」と表示される場合があります。
この場合、問題はBCDのデータそのものではなく、より深い階層のファイルシステムや物理的な故障にあるかもしれません。
ファイルシステムの修復(chkdsk)
ディスク自体にエラーがあると、BCDの書き込みが正常に行われません。
コマンドプロンプトでchkdsk c: /fを実行し、ファイルシステムの不整合をチェックしてください。
軽微な読み取りエラーであれば、このコマンドだけで解消され、その後のBCD修復が通るようになることがあります。
パーティションのアクティブ化状態(旧BIOS環境)
古いPC(MBR形式)の場合、OSが入っているパーティションが「アクティブ」に設定されていないと起動しません。
diskpartツール内で、対象のパーティションに対してactiveコマンドを実行し、起動フラグが立っているか確認してください。
ハードウェアの物理故障
もしコマンド操作中に「I/Oデバイスエラー」といったメッセージが出る場合は、SSDやHDDの寿命が考えられます。
この状態ではいくらソフトウェア的な修復を行っても解決しません。
早急にドライブを交換し、新しい環境へデータを救出する段階へ移行する必要があります。
まとめ
Windowsのブート構成データ(BCD)の破損は、PCが起動しなくなる致命的なトラブルの一つですが、適切な手順を踏めば修復は可能です。
まずは安全な「スタートアップ修復」から試し、改善が見られない場合にコマンドプロンプトによるbootrecやbcdbootの操作を行いましょう。
コマンド操作はスペルミス一つで状況を悪化させる可能性もあるため、一つ一つの意味を理解しながら慎重に入力することが重要です。
それでも解決しない場合は、システム全体を初期化するか、ハードウェアの故障を疑って修理を検討してください。
万が一に備え、今回のトラブルが解決した後は定期的なシステムのバックアップと回復ドライブの作成を習慣づけるようにしましょう。
日頃の備えがあれば、このような緊急事態にも冷静に対処できるようになります。
