Windowsのブート構成データ(BCD)エディターとは?基本知識と使い方を徹底解説
デュアルブートやマルチブート環境を構築する際に最も厄介な問題の一つが、ブートマネージャーが古いオペレーティングシステムを認識してくれないケースです。原因としては、Windows Vista以前のように古いOSが異なる種類のブートローダーを使用していることや、Windowsが見つからないOSに対してドライブ名を正しく割り当てられなかったことなどが考えられます。
ブート構成データ(BCD)エディターとは
Bcdedit.exeは、ブート構成データストアを編集するためのコマンドラインツールです。ブート構成データストアにはブート構成パラメーターが格納されており、OSがどのように起動するかを制御しています。これらのパラメーターは、従来はBIOSベースのシステムではBoot.iniファイルに、EFI(Extensible Firmware Interface)ベースのシステムでは不揮発性RAMのエントリに保存されていました。Bcdedit.exeを使えば、ブート構成データストアへのエントリの追加・削除・編集・追記が可能です。
本記事ではブート構成データエディターを中心に、「オペレーティングシステムが見つかりません」といったエラーや、マルチブート環境で2つ目・3つ目のOSが検出できない問題など、ブート関連のトラブルをどう解決できるかに焦点を当てて解説します。
なぜBoot.iniからBCDへ変更されたのか
BCDは、ブート構成データをより高度に記述するための仕組みとして導入されました。新しいファームウェアモデルの登場に伴い、基盤となるファームウェアを抽象化する拡張性と相互運用性に優れたインターフェースが必要になったのです。この新しい設計は、Windows Vista、Windows 7、Windows 8、Windows 10、Windows 11におけるスタートアップ修復ツールやマルチユーザーインストールのショートカットなど、さまざまな新機能の基礎となっています。
BCDエディターでできること
Windowsでは、BCDエディターはGUI(グラフィカルユーザーインターフェース)として提供されています。選択できるオプションは多くありませんが、GUIを使ってブートマネージャーの修復やマスターブートレコード(MBR)の修復を行うことができます。
また、特定の状況でBootmgrが見つからないという問題も、このGUIから修復可能です。
BCDレジストリの場所
ブート構成データストアにはブート構成パラメーターが含まれており、OSの起動方法を制御しています。
BCDレジストリは、アクティブパーティションの \boot\bcd フォルダーに格納されています。
EFIベースのシステムの場合、BCDレジストリの既定の場所はEFIシステムパーティション上です。
関連記事:WindowsでBCDファイルをバックアップ・復元する方法
コマンドライン版BCDエディター
コマンドライン版のBCDエディターははるかに強力で、以下のような多彩な操作を実行できます。
- BCDストアの新規作成
- 既存のBCDストアへのエントリ追加
- BCDストア内の既存エントリの変更
- BCDストアからのエントリ削除
- BCDストアへのエントリのエクスポート
- BCDストアからのエントリのインポート
- 現在有効な設定の一覧表示
- 特定のタイプのエントリの照会
- グローバルな変更の適用
BCDEdit.exeで他に何ができるかを確認するには、コマンドプロンプトで bcdedit.exe /? と入力してください。コマンドプロンプトからBCDエディターで実行できるすべてのオプションと操作が一覧表示されます。
マルチブート環境での注意点
2つ以上のOSを併用する予定がある場合は、以下のポイントに留意しましょう。
- Windows Vista以降のOSは、別のパーティションにインストールしてください。原則として各OSは独自のパーティションを持つべきです。そうしないと、WindowsフォルダーやProgram Filesなどの共通フォルダーが競合し、コンピューターがクラッシュする恐れがあります。古いOSも使いたい場合は、まずVistaより前のOSをインストールしてboot.iniを引き続き使用できるようにし、その後でVista以降のOSをインストールすると、bootcfgとの競合を避けられます。
- Vistaより前のOSはboot.iniを使用し、Vista以降のOSはBCDを使用するという構成を必ず維持してください。これはBCDのコマンドラインやMSCONFIGコマンドを使って実現できます。
- Windows XPのような古いOSをVista以降と併用したい場合でも、BCDを無効化してはいけません。BCDはboot.iniを見つける役割を担っており、それが古いOSの読み込みにつながります。BCDを無効にすると、コンピューターが古いOSを認識できなくなる可能性があります。
BCDを使ってデフォルトのOSを変更する方法
最も簡単で迅速な方法は、コマンドライン版のBCD.exeを使うことです。コマンドプロンプトで次のコマンドを実行します。
BCDEDIT /DEFAULT {ID}
各OSのIDを調べるには、次のコマンドを使用します。
BCDEDIT /ENUM ALL
表示されたID一覧から、デフォルトに設定したいOSの横にあるIDをコピーし、最初のコマンドの {ID} の部分に貼り付けてください。
「ブート構成データエディターが動作を停止しました」エラーへの対処法
このエラーが表示された場合は、スタートアップ修復を実行する必要があります。以下のリンクが参考になります。
- Windows 7でスタートアップ修復を実行する
- Windows 8で自動修復を実行する
- Windows 10またはWindows 11で自動スタートアップ修復を実行する(設定は「詳細スタートアップオプション」にあります)
詳細については、Microsoft TechNetをご覧ください。
なお、EasyBCD、Visual BCD Editor、Dual Boot Repair Toolの3つのフリーソフトを使えば、Windowsのブート構成データを簡単に編集・修復できます。
-
これだけは覚えておきたい!便利なWindowsコマンド12選
Windowsは、簡単な操作ですら長いコマンドを入力する必要があった旧MS-DOSと比べて、ユーザーフレンドリーな設計で広く知られています。そのため、多くのWindowsユーザーはコマンドプロンプトを敬遠しがちです。しかし、一部の重要な操作は、コマンドプロンプトからしか実行できないことをご存じでしょうか? 日頃からコマンドプロンプトのさまざまなコマンドに関する知識を持っておけば、いざというときに必ず役立ちます。この記事では、覚えておくと便利なコマンドを厳選してご紹介します。 1. ipconfig まずは「ipconfig」から。このコマンドを使えば、コンピューターのIPアドレスを簡単に確
-
【解決済み】Windows 10 起動時に発生するBCDエラーコード0xc000000fの対処法
MicrosoftはWindows 10 バージョン21H1を全ユーザーに向けて展開しており、対応デバイスでは自動的にアップグレードが行われます。しかし一部のユーザーから、アップグレード完了後にWindows 10が起動せず、BCDエラーコード0xc000000fや0xc0000225が表示されるという報告が寄せられています。エラー0xc000000fは、BCD(ブート構成データ)に何らかの問題が発生していることを示しています。BCDに関連する起動トラブルにはさまざまな形態があり、BCDが破損または消失した場合、以下のようなエラー画面が表示されることがあります。 PC/デバイスを修復する必要