BCDBoot は、Windows オペレーティング システムを実行するように PC またはデバイス上のブート ファイルを構成するために使用されるコマンドライン ツールです。 このツールは、次のシナリオで使用できます。
- 新しい Windows イメージを適用した後、PC にブート ファイルを追加します。 一般的なイメージ ベースの Windows 展開では、BCDBoot を使用して、イメージに対して起動するファームウェアとシステム パーティションを設定します。 詳細については、「Windows、 システム、および回復パーティションのキャプチャと適用」を参照してください。
- Windows イメージを含む仮想ハード ディスク (VHD) ファイルを起動するように PC を設定します。 詳細については、「 VHD へのブート (ネイティブ ブート): ブート メニューに仮想ハード ディスクを追加する」を参照してください。
- システム パーティションを修復します。 システム パーティションが破損している場合は、BCDBoot を使用して、Windows パーティションからこれらのファイルの新しいコピーを使用してシステム パーティション ファイルを再作成できます。
- デュアルブート PC でブート メニューを設定または修復します。 PC に複数の Windows のコピーをインストールしている場合は、BCDBoot を使用してブート メニューを追加または修復できます。
ファイルの場所
| Environment | ファイルの場所 |
|---|---|
| Windows | %WINDIR%\System32\BCDBoot.exe |
| Windows プレインストール環境 (WinPE) | %WINDIR%\System32\BCDBoot.exe |
| Windows アセスメント & デプロイメント キット (Windows ADK) | C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\BCDBoot\BCDBoot.exe |
しくみ
システム パーティションを構成するために、BCDBoot は、インストールされている Windows イメージからシステム パーティションに少数のブート環境ファイルのセットをコピーします。
BCDBoot は、最新バージョンの Windows ファイルを使用して、システム パーティションにブート構成データ (BCD) ストアを作成できます。
- BCDBoot は、新しい BCD ストアを作成し、
%WINDIR%\System32\Config\BCD-Templateファイルを使用して、Windows ブート マネージャーを含むシステム パーティション上の BCD ブート環境ファイルを初期化します。 - Windows 10 以降では、アップグレード中、BCDBoot は新しいストアを作成するときに、 debugsettings などの他の既存のブート エントリを保持します。
/cオプションを使用して、古い設定を無視し、新しい BCD ストアで新たに開始します。 - この Windows パーティションのブート エントリが既にある場合、既定では、BCDBoot は古いブート エントリとその値を消去します。
/mオプションを使用して、システム ファイルを更新するときに既存のブート エントリの値を保持します。 - 既定では、BCDBoot は、選択した Windows パーティションのブート エントリを Windows ブート マネージャーのブート順序の先頭に移動します。 既存のブート順序を保持するには、
/dオプションを使用します。
UEFI PC では、BCDBoot はデバイスの NVRAM のファームウェア エントリを更新できます。
- BCDBoot は、WINDOWS ブート マネージャーを指すように NVRAM にファームウェア エントリを追加します。 既定では、このエントリはブート リストの最初の項目として配置されます。 既存の UEFI ブート順序を保持するには、
/pオプションを使用します。/addlastを使用して、ブート順序リストの一番下に追加します。
コマンドラインオプション
BCDBoot.exeでは、次のコマンド ライン オプションを使用できます。
BCDBOOT <source> [/l <locale>] [/s <volume-letter> [/f <firmware type>]] [/v] [/m [{OS Loader GUID}]] [/addlast or /p] [/d] [/c]
| Option | Description |
|---|---|
<源> |
Required. ブート環境ファイルのコピー元として使用する Windows ディレクトリの場所を指定します。 次の例では、C:\Windows フォルダーの BCD ファイルを使用してシステム パーティションを初期化します。 |
/l <locale> |
Optional. ロケールを指定します。 既定値は米国英語 ( 次の例では、既定の BCD ロケールを日本語に設定します。 |
/s <ボリューム文字> |
Optional. システム パーティションのボリューム文字を指定します。 このオプションは、一般的な展開シナリオでは使用しないでください。 USB フラッシュ ドライブやセカンダリ ハード ドライブなど、別のコンピューターで起動するドライブを構成するときに、この設定を使用してシステム パーティションを指定します。 UEFI:
BIOS:
次の例では、C:\Windows フォルダーから、別のコンピューターで起動されるセカンダリ ハード ドライブ上のシステム パーティションに BCD ファイルをコピーします。 セカンダリ ドライブ上のシステム パーティションにボリューム文字 S が割り当てられました。
次の例では、ボリューム文字 S を使用して USB フラッシュ ドライブにブート エントリを作成します。これには、UEFI ベースまたは BIOS ベースのコンピューターをサポートするブート ファイルが含まれます。 |
/f <ファームウェアタイプ> |
Optional. ファームウェアの種類を指定します。 有効な値には
/f オプションを指定する場合は、システム パーティションのボリューム文字を識別する /s オプションも指定する必要があります。 次の例では、UEFI ベースまたは BIOS ベースのコンピューターでの起動をサポートする BCD ファイルを C:\Windows フォルダーから、ボリューム文字 S が割り当てられた USB フラッシュ ドライブにコピーします。 |
/v |
Optional. 詳細モードを有効にします。 Example: |
/m [{OS ローダー GUID}] |
Optional. 既存のブート エントリの値を新しいブート エントリにマージします。 既定では、このオプションはグローバル オブジェクトのみをマージします。 OS ローダー GUID を指定した場合、このオプションはシステム テンプレートのローダー オブジェクトをマージして起動可能なエントリを生成します。 次の例では、指定した GUID が新しい BCD ストアで識別する、現在の BCD ストアのオペレーティング システム ローダーをマージします。 |
/addlast |
Optional. Windows ブート マネージャーのファームウェア エントリを最後に追加することを指定します。 既定の動作では、最初に追加します。 /p では使用できません。 |
/p |
Optional. 既存の Windows ブート マネージャーファームウェアエントリ位置を UEFI ブート順序で保持するように指定します。 エントリが存在しない場合は、最初の位置に新しいエントリが追加されます。 /addlast では使用できません。 既定では、アップグレード中に BCDBoot は Windows ブート マネージャーを UEFI ブート順序の最初のエントリに移動します。 |
/d |
Optional. Windows ブート マネージャーの {bootmgr} オブジェクトの既存の既定のオペレーティング システム エントリを保持します。 |
/c |
Optional. ブート ファイルの基になるイメージ ルートを指定します。 このイメージの bcd ストアは、イメージのルートを基準としたパスを使用して構築する必要があります。 Windows 10 の新機能: 既定では、アップグレード中に 、debugsettings や flightsigning などの BCD 要素が保持されます。 |
/imageroot |
Optional. Windows ブート マネージャーの {bootmgr} オブジェクトの既存の既定のオペレーティング システム エントリを保持します。 |
/bootex |
Optional. 必要な条件が満たされた場合は、bootex バイナリを使用してサービスを提供します。 CVE-2023-24932 に関連付けられているセキュア ブートの変更に対する Windows ブート マネージャーの失効を管理する方法を参照してください |
/オフライン |
Optional. ブート ファイルのサービスを強制的にオフラインで処理します。 ブート ファイルの選択は、'bootex' スイッチの存在に基づいて強制されます。 Windows 11 バージョン 24H2 ビルド 26100.8037 およびバージョン 25H2 ビルド 26100.8037 以降でサポートされます。 次の例では、bootex 以外のバイナリを強制的に選択します。
次の例では、bootex バイナリを強制的に選択します。 |
システム パーティションを修復する
システム パーティションが破損している場合は、BCDBoot を使用して、Windows パーティションからこれらのファイルの新しいコピーを使用してシステム パーティション ファイルを再作成できます。
PC を起動してコマンド ラインに接続します。 たとえば、Windows インストール ディスクを起動し、Shift キーを押しながら F10 キーを押すか、Windows PE を起動します (WinPE: USB ブート可能ドライブの作成)。
Diskpart を使用して、Windows パーティションとシステム パーティション (
diskpart, list vol, exit) を含むドライブ文字を決定します。オプション: システム・パーティションのフォーマット:
format (drive letter of your system partition) /qWindows パーティションのブート エントリを追加します。
bcdboot D:\WindowsPC を再起動します。 Windows が表示されます。
デュアルブート PC でブート メニューを設定または修復する
複数のオペレーティング システムを起動するように PC を設定すると、オペレーティング システムの 1 つで起動できなくなることがあります。 BCDBoot オプションを使用すると、Windows ベースのオペレーティング システムのブート オプションをすばやく追加できます。 デュアルブート PC を設定するには:
個別のハード ドライブをインストールするか、オペレーティング システムごとに個別のパーティションを準備します。
オペレーティング システムをインストールします。 たとえば、PC に Windows 7 がある場合は、他のハード ドライブまたはパーティションに Windows 10 をインストールします。
PC を再起動します。 ブート メニューは、両方のオペレーティング システムが一覧表示された状態で表示されます。
両方のオペレーティング システムが一覧にない場合:
Windows 内から管理者としてコマンド ラインを開くか、Windows インストール メディアを使用してコマンド ラインで起動し、Shift + F10 キーを押すか、Windows PE (WinPE: USB ブート可能ドライブの作成) を起動します。
Windows オペレーティング システムのブート オプションを追加します。
bcdboot D:\WindowsPC を再起動します。 これで、ブート メニューに両方のメニュー オプションが表示されます。
関連トピック
Windows、システム、および回復パーティションのキャプチャと適用
BIOS/MBR-Based ハード ドライブ パーティションを構成する