BCDBoot 命令列選項

BCDBoot 是一種命令行工具,可用來在電腦或裝置上設定開機檔案以執行 Windows作系統。 您可以在下列案例中使用此工具:

  • 在套用新的 Windows 映射之後,將開機檔案新增至計算機。 在典型的映像型 Windows 部署中,使用 BCDBoot 來設定韌體和系統分割區以開機至您的映像。 若要深入瞭解,請參閱 擷取和套用 Windows、系統和復原分割區
  • 將電腦設定為從包含 Windows 映像檔的虛擬硬碟 (VHD) 檔案開機。 若要深入瞭解,請參閱 開機至 VHD(原生開機):將虛擬硬碟新增至開機功能表
  • 修復系統分割區。 如果系統分割區已損毀,您可以使用 BCDBoot 從 Windows 磁碟分區使用這些檔案的新複本重新建立系統分割區檔案。
  • 在雙開機計算機上設定或修復開機功能表。 如果您已在計算機上安裝多個 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 檔案在系統磁碟分區上初始化 BCD 開機環境檔案,包括 Windows 開機管理員。
  • 在 Windows 10 和更新版本中,在升級期間,BCDBoot 會在建立新存放區時保留任何其他現有的開機專案,例如 debugsettings/c使用 選項來忽略舊的設定,並使用新的 BCD 存放區重新開始。
  • 如果此 Windows 磁碟分區已經有開機專案,BCDBoot 預設會清除舊的開機專案及其值。 當您更新系統檔案時,請使用/m選項來保留現有開機項目的值。
  • 根據預設,BCDBoot 會將所選 Windows 磁碟分區的開機專案移至 Windows 開機管理員開機順序的頂端。 /d使用 選項來保留現有的開機順序。

BCDBoot 可以在 UEFI 電腦上更新裝置 NVRAM 中的韌體項目。

  • BCDBoot 會在 NVRAM 中新增一個韌體項目,以指向 Windows 開機管理員。 根據預設,這個專案會放在開機清單中做為第一個專案。 /p使用 選項來保留現有的 UEFI 開機順序。 使用 /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 <地區設定>

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 系統分割區中開啟檔案:\efi\boot\bootx64.efi。

簡介

  1. BCDBoot 會將開機檔案複製到主要硬碟上的使用中磁碟分區,或 /s 選項所指定的磁碟分區。

  2. BCDBoot 會在相同的分割區中建立 BCD 存放區。

下列範例會將 BCD 檔案從 C:\Windows 資料夾複製到將在另一部電腦上開機的次要硬碟上的系統磁碟分區。 次要磁碟驅動器上的系統磁碟分區已指派磁碟區字母 S

bcdboot C:\Windows /s S:

下列範例會在磁碟區字母 S 的 USB 快閃磁碟驅動器上建立開機項目,包括支援 UEFI 型或 BIOS 型電腦的開機檔案:

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

/f <韌體類型>

Optional. 指定韌體類型。 有效值包括 UEFIBIOSALL

  • 在 BIOS/MBR 型系統上,預設值為 BIOS。 此選項會在系統分割區上建立 \Boot 目錄,並將所有必要的開機環境檔案複製到此目錄。

  • 在以 UEFI/GPT 為基礎的系統上,預設值為 UEFI。 此選項會建立 \Efi\Microsoft\Boot 目錄,並將所有必要的開機環境檔案複製到此目錄。

  • 當您指定 ALL 值時,BCDBoot 會同時建立 \Boot\Efi\Microsoft\Boot 目錄,並將 BIOS 和 UEFI 所需的所有開機環境檔案複製到這些目錄。

如果您指定 /f 選項,也必須指定 /s 選項,以識別系統分割區的磁碟區字母。

下列範例會將 BCD 檔案從 C:\Windows 資料夾複製到指派磁碟區字母 S 的 USB 快閃磁碟驅動器上,這些檔案支援在以 UEFI 或 BIOS 為基礎的電腦上開機。

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

/v

Optional. 啟用詳盡模式。 Example:

bcdboot C:\Windows /v

/m [{OS Loader GUID}]

Optional. 將現有開機專案的值合併到新的開機專案。

根據預設,此選項只會合併全域物件。 如果您指定OS 載入器 GUID,此選項會合併系統範本中的載入器物件,以產生可開機的項目。

下列範例會將目前 BCD 存放區中,由指定 GUID 識別的作業系統載入器合併到新的 BCD 存放區中:

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

/addlast

Optional. 指定應該最後新增 Windows Boot Manager 韌體項目。 默認行為是先新增它。 無法搭配 /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 Boot Manager 中 {bootmgr} 物件的現有預設作業系統項目。

bcdboot C:\Windows /d

/c

Optional. 指定開機檔案來源的映像根目錄。 此映像的 bcd 存放區必須使用相對於影像根目錄的路徑來建構。

Windows 10 的新功能:根據預設,升級期間會保留 BCD 元素,例如 debugsettingsflightsigning

bcdboot C:\Windows /c

/imageroot

Optional. 保留 Windows Boot Manager 中 {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 Build 26100.8037 及 25H2 Build 26100.8037。

以下範例強制選擇非 bootex 二進位檔:

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

以下範例強制選擇 bootex 二進位檔:

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

修復系統分割區

如果系統分割區已損毀,您可以使用 BCDBoot 從 Windows 磁碟分區使用這些檔案的新複本重新建立系統分割區檔案。

  1. 將您的電腦開機至命令行。 例如,開機至 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. 重新啟動電腦。 Windows 應該會出現。

在雙開機計算機上設定或修復開機功能表

設定電腦以啟動多個作業系統時,您有時可能會無法啟動其中一個作業系統。 BCDBoot 選項可讓您快速新增 Windows作系統的開機選項。 若要設定雙開機電腦:

  1. 安裝個別硬碟,或為每個作系統準備個別的磁碟分區。

  2. 安裝作業系統。 例如,如果您的電腦有 Windows 7,請將 Windows 10 安裝至其他硬碟或磁碟分區。

  3. 重新啟動電腦。 開機功能表應該會出現,並列出這兩個作系統。

    如果兩個作業系統都未列出:

    1. 以系統管理員身分從 Windows 內部開啟命令行,或使用 Windows 安裝媒體開機到命令行,然後按 Shift+F10,或開機至 Windows PE(WinPE:建立 USB 可開機磁碟驅動器)。

    2. 新增 Windows作系統的開機選項。

      bcdboot D:\Windows
      
    3. 重新啟動電腦。 現在,開機功能表會顯示這兩個功能表選項。

擷取並套用 Windows、系統及復原分割區

設定 BIOS/MBR-Based 硬碟磁碟分區

設定 UEFI/GPT 型硬碟磁碟分割

BCDedit

Bootsect 命令列選項

Diskpart 命令行語法