解決済み:BCDエラーでWindowsが起動できません

本記事では、EFIシステムパーティションにあるBCD(ブート構成データ)ファイルが消失または破損し、OSが起動できなくなった場合の対処方法についてご紹介いたします。Windows11/10/7がBCDブートファイルの破損で起動きない時は、インストールメディアや回復ドライブから回復環境(修復機能)を立上げて、「スタートアップ修復」または「コマンドプロンプト」の二つの方法で修復することができます。

投稿者 @ゆき 2024年10月14日 @ゆき 最後の更新 2024年04月01日

BCDとは?

 

ブート構成データ(Boot Configuration Data、BCD)は、起動時の構成を格納する、ファームウェアに依存しないデータベースである。これはNTLDRで用いられたboot.iniに代わり、Microsoftの新しいWindows Boot Managerに用いられる。BCDは、レジストリと同等のフォーマットを持つデータファイルに格納される。このファイルは、(EFIファームウェアが用いられるマシン上で)EFIシステムパーティション、または(PC/AT互換機ファームウェアを用いるマシン上で)システム・ボリュームの\Boot\Bcdパスのいずれかに配置される。

Windows Boot Manager(Bootmgr)とは、Microsoft Windowsで採用されるブートローダーおよびブートマネージャーである。従来のNT OS Loaderに代わって、Windows VistaおよびWindows Server 2008以降で採用されている。Windows Boot Managerは、BCDを読み込み、オペレーティングシステムの選択メニューを表示する。

--出典:フリー百科事典『ウィキペディア(Wikipedia)』

簡単に言うと、BCD(ブート構成データ)はOS(オペレーティングシステム)の起動時の構成情報を格納している場所です。つまり、BCDにはブート構成パラメータが含まれて、Windows Vista以降のバージョンでOSを起動する方法を制御します。

一般的にBCDファイルは、EFIシステムパーティションにあり、\EFI\Microsoft\Boot\BCDに配置されています。ちなみに、このBCDストアを追加・削除・編集するのがbcdedit.exeというコマンドラインツールです。

👍【関連記事】EFIシステムパーティションについて知っておくべきこと

BCDエラーについて

上述のように、Windows Boot ManagerはBCDファイルを使い、Windows OSの起動処理を進めていくため、このファイルが消失または破損している場合は、OSを起動することができなくなります。BCDエラーが発生する場合は、Windows11/10/7の起動画面は表示されず、ブルースクリーンなどでエラーが表示されます。

BCDファイルが消失または破損し、Windowsが起動できない場合は、主に3種類の画面が表示されます。これらの画面が表示されたら、BCDファイルに消失または破損している可能性があります。

🔎ケース❶:File: \EFI\Microsoft\Boot\BCD(Error code: 0xc000000f)

🔎ケース❷:File: \EFI\Microsoft\Boot\BCD(Error code: 0xc000014c)

🔎ケース❸:回復環境が起動(トラブルシューティングとPCの電源を切るだけが表示)

 

私のお客様は、コンピュータの電源を入れたときに起動に失敗したと言います。画面の上に表示されたメッセージは次のようになります。彼は起動前にハードウェア変更しなかったと確信しています。彼はそのPCを3年前買ってきましたが、Windowsインストールディスクが見つからないため、指示通りに問題を解決することができません。それに1年前にPCに何らかの変更を加えたため、製造元の担当者との交渉はうまくいかないようです。それでWindows10でBCDエラーを修正するために彼は何をするべきですか?

 

👍【関連記事】「Windows ブート マネージャー」でPCが起動しない…

BCDエラーが発生する理由

BCDファイルは消失または破損、BCDエラーが発生する原因はさまざまですが、主な理由は以下の通りです。

電源障害
システムエラー
ハードディスクの障害
不適切なシャットダウン
マルウェア(ウイルスやランサムウェアなど)感染
......

ハードウェア故障が原因であった場合、そのコンポーネント(例えば、ハードディスク、マザーボード、プリンターなど)を新しいものと交換することができます。それ以外の場合は、以下で紹介した方法を試してみて、破損したBCDを修復しましょう。

BCDエラーを修復する為の『事前準備』

回復環境が起動しない場合は、インストールメディアや回復ドライブが必要になります。インストールメディアや回復ドライブがない場合は、別のPCで作成した後に修復作業を行います。

👍【関連記事】Windows用のインストールメディアを作成する

👍【関連記事】回復ドライブを作成する

📖補足:Windowsプレインストール(Windows PE、WinPE)環境からコマンドプロンプトを起動することもできます。※作成したWindows PEメディアから起動した場合は、コマンドプロンプトが自動的に起動します。

回復環境を起動するためのインストールメディアや回復ドライブの起動方法はメーカーや機種により違います。基本操作はPC本体の電源を入れて直ぐに「Delete」や「F2」「F12」「F9」「F8」などを押します。

📖補足:メディアでの起動設定はBIOS(UEFI)画面で起動順序を変更したり、機種によってはキーボードの操作で、起動メディアを直接選択することもできます。※詳しくは説明書を見て調べてください。

次は、起動モードがUEFIの環境において、BCDファイルの破損によりOSが起動できない場合の復旧方法について説明します(Windows10を例として挙げます)。

インストールメディアで回復環境を起動

手順 1. インストールメディアでパソコンを起動してしばらくすると言語などの初期設定画面が表示されます。

手順 2. キーボートの種類や言語を選択して「次へ」をクリックします。

手順 3. 「コンピューターを修復する」をクリックします。

手順 4. 「オプションの選択」が表示されたら、「トラブルシューティング」をクリックします。

回復ドライブで回復環境を起動

手順 1. 回復ドライブ(USBメモリ)でパソコンを起動します。

💡ヒント:回復ドライブの起動は時間がかかることがあります。ロゴ画面で止まっているように感じても、そのまま待ちます。

手順 2. 回復ドライブが起動したら、キーボードのレイアウトを選択します。

手順 3. 「オプションの選択」が表示されたら、「トラブルシューティング」をクリックします。

「スタートアップ修復」でBCDエラーを修復

Windowsのスタートアップ修復(自動修復機能)は、Windowsのシステムファイルが壊れた場合や、正しく構成されていない、などの問題により、Windows が正常に起動ができない場合に利用します。スタートアップ修復を実行すると、PCの問題を診断して自動的に修復します。

手順 1. 「詳細オプション」が表示されたら、「スタートアップ修復」をクリックします。

手順 2. 「スタートアップ修復」が表示されたら、「Windows 10」をクリックして実行します。

手順 3. 「PCを診断中」と表示されるのでそのまま待ちます。

「PCを診断中」の後に、Windows10が起動すればBCDエラーは修復されいます。「PCを診断中」の後に、「スタートアップ修復」画面が表示されたら「詳細オプション」をクリックして「トラブルシューティング」に移動して、再度「スタートアップ修復」を実行してみます。

何度か「スタートアップ修復」を実行してもWindows10が起動しないようなら、次項の「コマンドプロンプト」でBCDエラーを修復しましょう。

「コマンドプロンプト」でBCDエラーを修復

「スタートアップ修復」でBCDエラーを修復することができない場合は、「詳細オプション」画面で「コマンドプロンプト」をクリック(起動)して、「コマンドプロンプト」でBCDエラーを修復することができます。

⭕BCDを再構築する

BCDファイルの再構成でBCDエラーを修復し、Windowsが起動しない問題を解決することが可能です。

手順 1. コマンド プロンプトが起動したら、「diskpart」と入力して「Enter」キーを押します。

手順 2. 「list disk」と入力して「Enter」キーを押します。

※システムに接続されているディスクを確認します。

手順 3. 「select disk 0」と入力して「Enter」キーを押します。

※EFIシステムパーティションやOSがインストールされているディスク(通常は「0」)を選択します。

手順 4. 「list partition」と入力して「Enter」キーを押します。

※システム(EFI)パーティションを確認します。

手順 5. 「select partition 1」と入力して「Enter」を押します。

※「システム」と表示されているパーティションを選択します。ここでは「システム」のパーティション番号が「1」です。

手順 6. 「assign letter=s」と入力して「Enter」を押します。

※システムパーティションにドライブレター(またはドライブ文字)Sを割り当てます。

手順 7. 「list vol」と入力して「Enter」を押します。

※システムパーティションにドライブレターSが割り当てられていること、Windows OSがインストールされているボリュームのドライブレターを確認します(例では、Cが割り当てられていますが、Windows OSがインストールされているドライブレターは、DなどC以外が割り当てられることがあるのでドライブの容量などで念のために必ずチェックしてください)。「list vol」は、パーティションのリスト「list partition」とは異なります。サイズを照らし合わせて確認します。

手順 8. 「exit」と入力して「Enter」を押します。

※diskpartを終了します。

手順 9. 「bcdboot C:\Windows /s s: /f uefi /l ja-jp」と入力して「Enter」キーを押します。

※ここでは、bcdbootコマンドで、Windows10がインストールされているドライブ文字「C」に BCD(UEFIブート)ファイルを、ドライ文字を割り当てたシステムパーティション「s」に、日本語対応で再構築する例です。コマンドの入力には、スペースがあることに注意してください。

🎁ブート修復コマンドの詳細
bcdboot:起動プログラムの編集コマンド
C:\Windows:Windows10のパス
/s s::ブートセクターは「s」であることを指定
/f uefi:ブート形式をUEFIに指定
/l ja-jp:言語は日本語を指定
エラーが表示されたり、まったく動きがない場合は、Windows10がインストールされているドライ文字が正しいか、入力した文字列に間違いないか確認してください。

「ブートファイルは正常に作成されました」と表示されれば、ブートレコードの再構築は完了です。回復環境(WinPE)で起動しているので、「wpeutil shutdownvol」と入力して「Enter」を押してシャットダウンします。

シャットダウンが完全に完了したら、インストールメディアや回復ドライブまたはWindows PEメディアを取り外し、電源をボタンを押してWindowsが正常に起動するか確認してください。

📖補足:BCDを再構築するために、コマンドプロンプトで次のコマンドを入力することもできます。
attrib–r–s–h c:\boot\bcd(BCDファイルを表示させる)
del c:\boot\bcd(BCDファイルを削除する)
bcdboot c:\windows(Cドライブに新しいBCDを作成する)
これらのコマンドを有効にするために、PCを再起動する必要があります。

※BCDを再構築するもう一つの方法がありますが、ちょっと難しいと思います。詳細情報については「WindowsでBCDを再構築する方法」を参考にしてください。

⭕BCDをインポートする

BCDの再構築でも起動しない場合は、BCDブートファイルをインポートして再作成する方法もあります。

最初に、上記項目「BCDを再構築する」の「ドライブレターを付与する」手順(つまり、手順8:「desikpartの終了」)まで操作を進めます。

手順 9. 「s:」と入力して「Enter」キーを押します。

※システムパーティションに移動します。

手順 10. 「bcdboot c:\windows /l ja-JP r: /f ALL」と入力して「Enter」キーを押します。

手順 11. 「bcdedit /createstore s:\boot\bcd.backup」と入力して「Enter」キーを押します。

手順 12. 「bcdedit /store s:\boot\bcd.backup /create {bootmgr} /d "BOOTMGR"」と入力して「Enter」キーを押します。

手順 13. 「bcdedit /import s:\boot\bcd.backup」と入力して「Enter」キーを押します。

手順 14. 「bootrec /rebuildbcd」と入力して「Enter」キーを押します。

手順 15. 「wpeutil shutdownvol」と入力して「Enter」を押してシャットダウンします。

シャットダウンが完全に完了したら、電源をボタンを押してWindows10の起動を確認します。

⭕BCDファイルを修復する

BCDファイルを修復するために、コマンドプロンプトで次のコマンドを1行ずつ入力して「Enter」キーを押すことができます。

●bootrec /ScanOs

●bootrec /FixMbr

●bootrec /FixBoot

●bootrec /RebuildBcd

📖詳しい説明:
これは、MBRやBCDの情報を修復するbootrecコマンドを実行している方法です。
「/ScanOs」はすべてのドライブに対してスキャンを実行し、現在のBCDに含まれないエントリーを列挙します。
「/FixMbr」はWindows10で使用するMBRを使って、システムパーティションのMBRを上書きしますが、現在のパーティションテーブルは変更しません。
「/FixBoot」はWindows10で使用するブートセクターを使って、システムパーティションのブートセクターを上書きします。
「/RebuildBcd」はすべてのドライブに対してスキャンを実行し、BCDに追加するか選択するオプションです。
※本来は症状に合わせたオプションを1つ2つ組み合わせるだけで構わないですが、PCが起動しないというトラブルを考えると、すべてのオプションを実行することをおすすめします。
📖補足:上記項目「BCDをインポートする」の「システムパーティションに移動する」手順(つまり、手順9)まで操作を進め⇒EFI\Microsoft\bootコマンドでBCDファイルのディレクトリに移動⇒ren bcd bcd.backコマンドで既存のBCDファイルをリネームして保存⇒bcdboot c:\windows /L ja-jp /s s: /f allコマンド(BCDファイル生成コマンド)でBCDファイルの修復を実施することもできます。

「bcdedit /enum」と入力して「Enter」キーを押すと、BCD情報が表示されます。問題なければ「exit」を実行してコマンドプロンプトを終了し、「続行」をクリックしてWindows10を再起動します。すべてがうまくいけば、Windows10のBCDブートファイルが修復されているので、システムは正常に起動します。

⭕ディスクをクリーンな状態にする

「Windows Boot Managerに\Boot\BCDが読めない」と言われて起動できない時の最終手段として、diskpartのcleanコマンドを使ってディスクの内容を消去し、あとでWindows10のクリーンインストールを実行して新しいBCDファイルを作成するという方法もあります。ブートマネージャー(Bootmgr)に関するエラー(つまり、PCを起動するための基本システムをどこから読み込めばいいのか分からなくなったエラー)を修正するためにこの方法を試すことができます。

👍【関連記事】古い(非対応)PCにWindows11をインストールする方法

新規クリーンインストールのためのハードディスク消去を行うには、コマンドプロンプトで次のコマンドを1行ずつ入力して「Enter」キーを押します。

●diskpart

●list disk(ディスクの一覧を確認する)

●select disk n (「n」は、消去したいディスクの番号である)

●clean(選択したディスクからすべてのパーティションまたはボリュームのフォーマットを削除する)

※ディスク全体を消去する場合は、「clean」ではなく「clean all」と入力して「Enter」キーを押します。

●exit

☞補足:コマンドラインインターフェイス(CLI)に慣れていない場合は、「AOMEI Partition Assistant Professional」のようなサードパーティ製ディスク管理ツールを使用して、対象のディスクを別のコンピューターと接続して、グラフィカルユーザインタフェース(GUI)でHDDまたはSSDをより簡単に完全消去することもできます。
☞重要:以上の手順は、Windows 8/7/Vistaにも適用されます。Windows XPにも同様の問題が存在する可能性がありますが、ブート設定情報はBCDではなくboot.iniファイルに格納されているため、ブートデータの問題を修正するプロセスはまったく異なります。

⭕BCDコピーを作成する

どちらの方法でも、Windows10でBCDブートファイルのバックアップ・コピーを作成した方がよいと思います。BCDエラーでシステムが起動できない場合、BCDを修復するには破損したファイルをバックアップ・コピーと置き換えることだけでいいす。

コマンドプロンプトで「bcdedit /export c: bcdbackup」と入力して「Enter」キーを押すことでBCDバックアップを作成することができます。※このコマンドはBCDストアをファイルbcdbackupとしてエクスポートするために使用されます。ファイル拡張子を指定する必要はありません。

おまけ:簡単な方法でMBRを再構築

ご存知のように、PCが起動しないときは、非常に多くの原因が考えられます。そのひとつとして、Windows Vista以降であれば、マスターブートレコード(MBR)、もしくはブート構成データ(BCD)が破損している可能性があります。前の部分でBCDの修復方法をすでに述べましたので、次はMBRの再構築によりMBRを修復する簡単な方法を見てみましょう!※以前は、起動モードBIOSによる「MBR」のブートが多く使用されていました。

👍【関連記事】Windows11/10/8/7でLegacy BIOSをUEFIブートモードに変更する方法

前にも言及したAOMEI Partition Assistant Professionalは、MBRを再構築できる強力なハードディスク&パーティション管理ソフトです。ブートに関する問題を解決するためにブータブルメディア(USBメモリまたはCD/DVD)の作成もサポートします。Windows 11、10、8.1/8、Windows 7に対応します。

無料ダウンロード 動作確認の目的でのみ使用

手順 1. AOMEI Partition Assistantをダウンロードし、インストールし、起動します。USBメモリ(またはCD/DVD)をパソコンに接続し、Windowsで認識できることを確認します。

手順 2. ツールバーの「ツール」タブをクリックし、ドロップダウンメニューから「ブータブルCD/USBを作成」をクリックします。ポップアップウィンドウで、USBブートデバイスを選択し、ウィザードの指示に従って残りの操作を進めます。

手順 3. そして、起動可能なメディアをパソコンに挿入します。BIOSで起動デバイスの優先順位を変更し、ブータブルメディアから起動するように設定します。

手順 4. AOMEI Partition Assistantが読み込まれた後に、修復したいディスクを右クリックして「MBRを再構築」を選択します。

手順 5. ここではWindowsのバージョンを指定します。

手順 6. 最後に、問題なければ「適用」→「続行」をクリックして保留中の操作を実行します。

手順 7. 完了後、起動可能なメディアをパソコンから外して、PCが正常に起動するか確認します。

🎯補足:また、パーティション上のデータが破損した場合や失われた場合には、AOMEI Partition Assistant Professionalを利用して、データを復旧することもできます。

BCDエラーに関するよくある質問

Q1:BCDエラーとは何ですか?

BCDエラーは、Windowsブートマネージャーのデータベース(BCD)に問題があることを示すエラーです。これにより、コンピューターが正しく起動できなくなる場合があります。

Q2:BCDエラーが発生したらどうすればいいですか?

まずは、安心してください。BCDエラーは多くの場合、修復可能です。まずは、Windowsのリカバリーモードを使用して、自動修復を試みることができます。それでも問題が解決しない場合は、コマンドプロンプトで修復する方法を試みることができます。

Q3:BCDエラーが起きる主な原因は何ですか?

BCDエラーが発生する主な原因には、以下のようなものがあります。

ハードディスクの障害
不適切なシャットダウン
システムの不具合
ソフトウェアのインストール
ブートセクターの問題

Q4:BCDエラーを回避する方法はありますか?

BCDエラーを回避するためには、定期的なバックアップを作成し、システムのアップデートを適切に管理することが重要です。また、コンピューターを適切にシャットダウンすることも大切です。

Q5:BCDラーが解決しない場合、どうすればいいですか?

BCDエラーが解決しない場合は、専門家に相談することをお勧めします。データの損失を防ぐためにも、自己修復を試みる前にバックアップを取得することをお勧めします。

結論

通常はコンピュータの電源を入れようとしていて、問題が発生することがあります。Windows 10が起動せず、画面にエラーメッセージが表示されます。この場合に発生する可能性のあるものは、エラーブートBCDです。この記事では、Windowsが起動しない時にBCDまたはMBRを修復するための方法についてご紹介しました。

何らかの理由によってお使いの環境でOSが起動しなくなってしまった場合は、本記事の手順をもとにBCDファイルを再構成/インポート/修復することで復旧できるかどうか、お試しいただけますと幸いでございます。

AOMEI Partition Assistant Professionalはディスクとパーティションの管理にとても役立ちます。HDDまたはSSDの完全消去、ブータブルメディアの作成、MBRの再構築だけでなく、ディスクとパーティションのクローン、SSDへのOS移行、アプリ引っ越しなど、より多くの高度な機能も提供しています。

また、Windowsサーバー(Windows Server 2022/2019/2016/2012 R2など)向けのAOMEI Partition Assistant Server版、台数無制限のパソコンで使用可能なAOMEI Partition Assistant Unlimited版、企業&技術者のためにデザインされているAOMEI Partition Assistant Technician版もあります。必要に応じて最適なエディションを選んでください。

この記事が役立つ場合は、友達と共有してください。何か質問や提案がある場合は、support@aomeitech.comまでご連絡ください。よろしくお願いします。