BCDBoot コマンドライン オプション

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 ファイルを使用してシステム パーティションを初期化します。

bcdboot C:\Windows

/l <locale>

Optional. ロケールを指定します。 既定値は米国英語 (en-us) です。

次の例では、既定の BCD ロケールを日本語に設定します。

bcdboot C:\Windows /l ja-jp

/s <ボリューム文字>

Optional. システム パーティションのボリューム文字を指定します。 このオプションは、一般的な展開シナリオでは使用しないでください。

USB フラッシュ ドライブやセカンダリ ハード ドライブなど、別のコンピューターで起動するドライブを構成するときに、この設定を使用してシステム パーティションを指定します。

UEFI:

  • BCDBoot は、EFI システム パーティションまたは /s オプションで指定されたパーティションのいずれかにブート ファイルをコピーします。

    BCDBoot は、同じパーティションに BCD ストアを作成します。

    既定では、BCDBoot は、システム パーティション上のブート ファイルを識別するために、ファームウェアの NVRAM に Windows ブート マネージャー エントリを作成します。 /s オプションを使用する場合、このエントリは作成されません。 代わりに、BCDBoot は、システム パーティション上のブート ファイルを識別するために、既定のファームウェア設定に依存します。 UEFI 2.3.1 仕様では、既定のファームウェア設定でファイル \efi\boot\bootx64.efi が EFI システム パーティション (ESP) で開かれます。

BIOS:

  1. BCDBoot は、ブート ファイルをプライマリ ハード ドライブ上のアクティブパーティション、または /s オプションで指定されたパーティションにコピーします。

  2. BCDBoot は、同じパーティションに BCD ストアを作成します。

次の例では、C:\Windows フォルダーから、別のコンピューターで起動されるセカンダリ ハード ドライブ上のシステム パーティションに BCD ファイルをコピーします。 セカンダリ ドライブ上のシステム パーティションにボリューム文字 S が割り当てられました。

bcdboot C:\Windows /s S:

次の例では、ボリューム文字 S を使用して USB フラッシュ ドライブにブート エントリを作成します。これには、UEFI ベースまたは BIOS ベースのコンピューターをサポートするブート ファイルが含まれます。

bcdboot C:\Windows /s S: /f ALL

/f <ファームウェアタイプ>

Optional. ファームウェアの種類を指定します。 有効な値には UEFIBIOS、および ALL があります。

  • BIOS/MBR ベースのシステムでは、既定値は BIOS。 このオプションでは、システム パーティションに \Boot ディレクトリが作成され、必要なすべてのブート環境ファイルがこのディレクトリにコピーされます。

  • UEFI/GPT ベースのシステムでは、既定値は UEFI。 このオプションでは、 \Efi\Microsoft\Boot ディレクトリが作成され、必要なすべてのブート環境ファイルがこのディレクトリにコピーされます。

  • ALL値を指定すると、BCDBoot は \Boot ディレクトリと \Efi\Microsoft\Boot ディレクトリの両方を作成し、BIOS と UEFI に必要なすべてのブート環境ファイルをこれらのディレクトリにコピーします。

/f オプションを指定する場合は、システム パーティションのボリューム文字を識別する /s オプションも指定する必要があります。

次の例では、UEFI ベースまたは BIOS ベースのコンピューターでの起動をサポートする BCD ファイルを C:\Windows フォルダーから、ボリューム文字 S が割り当てられた USB フラッシュ ドライブにコピーします。

bcdboot C:\Windows /s S: /f ALL 

/v

Optional. 詳細モードを有効にします。 Example:

bcdboot C:\Windows /v

/m [{OS ローダー GUID}]

Optional. 既存のブート エントリの値を新しいブート エントリにマージします。

既定では、このオプションはグローバル オブジェクトのみをマージします。 OS ローダー GUID を指定した場合、このオプションはシステム テンプレートのローダー オブジェクトをマージして起動可能なエントリを生成します。

次の例では、指定した GUID が新しい BCD ストアで識別する、現在の BCD ストアのオペレーティング システム ローダーをマージします。

bcdboot c:\Windows /m {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

/addlast

Optional. Windows ブート マネージャーのファームウェア エントリを最後に追加することを指定します。 既定の動作では、最初に追加します。 /p では使用できません。

bcdboot C:\Windows /addlast

/p

Optional. 既存の Windows ブート マネージャーファームウェアエントリ位置を UEFI ブート順序で保持するように指定します。 エントリが存在しない場合は、最初の位置に新しいエントリが追加されます。 /addlast では使用できません。

既定では、アップグレード中に BCDBoot は Windows ブート マネージャーを UEFI ブート順序の最初のエントリに移動します。

bcdboot C:\Windows /p
bcdboot C:\Windows /p /d

/d

Optional. Windows ブート マネージャーの {bootmgr} オブジェクトの既存の既定のオペレーティング システム エントリを保持します。

bcdboot C:\Windows /d

/c

Optional. ブート ファイルの基になるイメージ ルートを指定します。 このイメージの bcd ストアは、イメージのルートを基準としたパスを使用して構築する必要があります。

Windows 10 の新機能: 既定では、アップグレード中に 、debugsettingsflightsigning などの BCD 要素が保持されます。

bcdboot C:\Windows /c

/imageroot

Optional. Windows ブート マネージャーの {bootmgr} オブジェクトの既存の既定のオペレーティング システム エントリを保持します。

bcdboot C:\Images\ImageRoot\Files\Windows /f UEFI /imageroot C:\Images\ImageRoot\Files

/bootex

Optional. 必要な条件が満たされた場合は、bootex バイナリを使用してサービスを提供します。

CVE-2023-24932 に関連付けられているセキュア ブートの変更に対する Windows ブート マネージャーの失効を管理する方法を参照してください

bcdboot c:\windows /f UEFI /s D: /bootex

/オフライン

Optional. ブート ファイルのサービスを強制的にオフラインで処理します。 ブート ファイルの選択は、'bootex' スイッチの存在に基づいて強制されます。

Windows 11 バージョン 24H2 ビルド 26100.8037 およびバージョン 25H2 ビルド 26100.8037 以降でサポートされます。

次の例では、bootex 以外のバイナリを強制的に選択します。

bcdboot c:\windows /f UEFI /s D: /offline

次の例では、bootex バイナリを強制的に選択します。

bcdboot c:\windows /f UEFI /s D: /offline /bootex

システム パーティションを修復する

システム パーティションが破損している場合は、BCDBoot を使用して、Windows パーティションからこれらのファイルの新しいコピーを使用してシステム パーティション ファイルを再作成できます。

  1. PC を起動してコマンド ラインに接続します。 たとえば、Windows インストール ディスクを起動し、Shift キーを押しながら F10 キーを押すか、Windows PE を起動します (WinPE: USB ブート可能ドライブの作成)。

  2. Diskpart を使用して、Windows パーティションとシステム パーティション (diskpart, list vol, exit) を含むドライブ文字を決定します。

  3. オプション: システム・パーティションのフォーマット: format (drive letter of your system partition) /q

  4. Windows パーティションのブート エントリを追加します。 bcdboot D:\Windows

  5. PC を再起動します。 Windows が表示されます。

デュアルブート PC でブート メニューを設定または修復する

複数のオペレーティング システムを起動するように PC を設定すると、オペレーティング システムの 1 つで起動できなくなることがあります。 BCDBoot オプションを使用すると、Windows ベースのオペレーティング システムのブート オプションをすばやく追加できます。 デュアルブート PC を設定するには:

  1. 個別のハード ドライブをインストールするか、オペレーティング システムごとに個別のパーティションを準備します。

  2. オペレーティング システムをインストールします。 たとえば、PC に Windows 7 がある場合は、他のハード ドライブまたはパーティションに Windows 10 をインストールします。

  3. PC を再起動します。 ブート メニューは、両方のオペレーティング システムが一覧表示された状態で表示されます。

    両方のオペレーティング システムが一覧にない場合:

    1. Windows 内から管理者としてコマンド ラインを開くか、Windows インストール メディアを使用してコマンド ラインで起動し、Shift + F10 キーを押すか、Windows PE (WinPE: USB ブート可能ドライブの作成) を起動します。

    2. Windows オペレーティング システムのブート オプションを追加します。

      bcdboot D:\Windows
      
    3. PC を再起動します。 これで、ブート メニューに両方のメニュー オプションが表示されます。

Windows、システム、および回復パーティションのキャプチャと適用

BIOS/MBR-Based ハード ドライブ パーティションを構成する

UEFI/GPT ベースのハード ドライブ パーティションを構成する

Bcdedit

Bootsect Command-Line オプション

Diskpart コマンド ライン構文