BCD ファイル形式とは?
BCD ファイル(ブート構成データ ストア)は、Windows XP 以前で使用されていたプレーンテキストの boot.ini ファイルに代わる Windows レジストリ ハイブです。2007 年に Windows Vista で導入されたこのファイルは、電源投入時に Windows ブート マネージャーが読み取り、利用可能なオペレーティング システム、ロード パラメーター、およびデフォルトのブート エントリを決定するための信頼できるデータ ストアです。
内部的には、このファイルは標準的な regf 形式のレジストリ ハイブであり、GUID キーを持つブート オブジェクトが含まれています。各オブジェクトには、OS ローダーのパス、パーティション GUID、カーネル フラグ、ブート タイムアウト、セーフ モード オプション、およびハードウェア抽象化パラメーターをエンコードする Description および Elements サブキーがあります。グローバルなブート マネージャー設定は、既知のオブジェクト {9dea862c-5cdd-4e70-acc1-f32b344d4795} に格納されています。
UEFI システムでは、アクティブなストアは EFI システム パーティション上の \EFI\Microsoft\Boot\BCD にあります。レガシー MBR/BIOS システムでは、アクティブなシステム パーティション上の \Boot\BCD に配置されます。このファイルは、検査のために regedit で読み取り専用としてマウント(ファイル → ハイブの読み込み)できますが、ハイブの破損を避けるため、編集は常に BCDEdit.exe または EasyBCD などの GUI ラッパーを介して行う必要があります。
トランザクションの整合性は、付随するログ ファイル(BCD.LOG、BCD.LOG1、BCD.LOG2)によって維持されます。破損すると 0xc0000034 エラー(«ブート構成データ ファイルが見つからないか、エラーが含まれています»)が発生しますが、これは Windows 回復環境から bootrec /rebuildbcd または bcdboot を使用して修復できます。
セキュリティと安全性
リスク: MEDIUMBCD を誤って編集すると、Windows が起動しなくなる可能性があります。変更前には必ず bcdedit /export C:\BCDbackup でバックアップを作成してください。マルウェア(特にブートキット)は、OS 起動前に悪意のあるコードをロードするために BCD ストアを改ざんすることがあります。現代のハードウェアでは、Windows セキュア ブートと UEFI ファームウェアの整合性チェックがこれを軽減します。非公式サイトから «BCD 修復ツール» をダウンロードしないでください。その多くはスケアウェアです。
形式の詳細
概要- Turbo Pascal Compiled Unit (レガシー) - 古い Borland Turbo Pascal は、Binary Coded Decimal ユニット ファイルに .bcd を使用していましたが、これは 1995 年以前のものであり、全く無関係です。
\EFI\Microsoft\Boot\BCD、MBR では \Boot\BCD)と内部の GUID キー付きオブジェクトによって識別されます。BCD ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル形式 | Windows レジストリ ハイブ(`regf` バイナリ形式)。構造的には標準のレジストリ ハイブと同一 |
| ファイル シグネチャ | バイト オフセット 0 に `regf`(16進数 `72 65 67 66`) |
| バイト順序 | リトルエンディアン |
| UEFI パス | EFI システム パーティション上の `\EFI\Microsoft\Boot\BCD` |
| MBR / レガシー BIOS パス | アクティブなシステム パーティション上の `\Boot\BCD` |
| オブジェクト構造 | GUID キーを持つレジストリ キー、各々に `Description` と `Elements` サブキー |
| ブート マネージャー GUID | `{9dea862c-5cdd-4e70-acc1-f32b344d4795}` - グローバル ブート マネージャー設定オブジェクト |
| トランザクション ログ | `BCD.LOG`、`BCD.LOG1`、`BCD.LOG2` がアトミックな書き込み整合性を保証 |
| ハイブ形式のバージョン | Windows のリリースに応じて `regf` バージョン 1.3-1.6 |
| 前身 | `boot.ini`(プレーンテキスト、Windows XP / 2003)を構造化されたバイナリ ストアに置き換え |
| 一般的なファイル サイズ | 256 KB - 2 MB |
| CLI 管理ツール | `BCDEdit.exe`(組み込み)。GUI の代替案:EasyBCD |
| 破損の症状 | `0xc0000034` - «ブート構成データ ファイルが見つからないか、エラーが含まれています» |
| 修復方法 | Windows 回復環境からの `bootrec /rebuildbcd` または `bcdboot` |
| リリース日 | 2007 (Windows Vista) |
| 最新バージョン | Windows 11 BCD schema (2021) |
| 仕様書 | learn.microsoft.com |
BCD の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。BCD ファイルについて最初の質問をしてみましょう。
よくある質問
破損した、または見つからない BCD を修正するにはどうすればよいですか?
bootrec /rebuildbcd(または bcdboot C:\Windows /s C:)を実行します。これにより、既存の Windows インストールからストアが再作成されます。コマンド ラインを使わずに BCD を編集できますか?
BCD ファイルはどこにありますか?
\EFI\Microsoft\Boot\BCD。MBR/BIOS システムの場合:アクティブ/システム パーティション(通常は非表示)の \Boot\BCD。BCD ファイルをテキスト エディターで開くことはできますか?
regedit(ファイル → ハイブの読み込み)でマウントしてください。なぜ BCD はレジストリ ハイブ形式を使用しているのですか?
boot.ini のような破損しやすいプレーンテキストを避けました。