BCDBoot 命令行选项
BCDBoot 是一个命令行工具,用于在电脑或设备上配置启动文件以运行 Windows 操作系统。 可在以下场景中使用该工具:
- 应用新的 Windows 映像后,将启动文件添加到电脑。 在典型的基于映像的 Windows 部署中,使用 BCDBoot 来设置固件和系统分区,以启动进入映像。 有关详细信息,请参阅捕获和应用 Windows 分区、系统分区与恢复分区。
- 将电脑设置为启动进入包含 Windows 映像的虚拟硬盘 (VHD) 文件。 有关详细信息,请参阅启动进入 VHD(本机启动):将虚拟硬盘添加到启动菜单。
- 修复系统分区。 如果系统分区已损坏,可以通过 BCDBoot 使用 Windows 分区中系统分区文件的新副本来重新创建这些文件。
- 设置或修复双启动选项电脑上的启动菜单。 如果在电脑上安装了多个 Windows 副本,可以使用 BCDBoot 来添加或修复启动菜单。
文件位置
环境 | 文件位置 |
---|---|
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 使用
%WINDIR%\System32\Config\BCD-Template
文件创建新的 BCD 存储,并初始化系统分区上的 BCD 启动环境文件,包括 Windows 启动管理器。 - 在 Windows 10 及更高版本中,在升级过程中创建新存储时,BCDBoot 将保留任何其他现有启动项,例如 debugsettings。 使用
/c
选项可以忽略旧设置,并使用新的 BCD 存储全新启动。 - 如果此 Windows 分区已有一个启动项,则默认情况下,BCDBoot 将删除旧的启动项及其值。 更新系统文件时,可以使用
/m
选项来保留现有启动项中的值。 - 默认情况下,BCDBoot 会将所选 Windows 分区的启动项移到 Windows 启动管理器启动顺序的顶部。 使用
/d
选项可以保留现有的启动顺序。
在 UEFI 电脑上,BCDBoot 可以更新设备 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]
选项 | 说明 |
---|---|
<source> |
必需。 指定在复制启动环境文件时用作源的 Windows 目录的位置。 以下示例使用 C:\Windows 文件夹中的 BCD 文件初始化系统分区:
|
/l <locale> |
可选。 指定区域设置。 默认设置为美国英语 ( 以下示例将默认的 BCD 区域设置指定为日语:
|
/s <volume letter> |
可选。 指定系统分区的卷号。 不应在典型部署方案中使用此选项。 配置要在另一台计算机上启动的驱动器(例如 U 盘或辅助硬盘)时,请使用此设置来指定系统分区。 UEFI:
BIOS:
以下示例将 C:\Windows 文件夹中的 BCD 文件复制到要在另一台计算机上启动的辅助硬盘上的系统分区。 为辅助硬盘上的系统分区分配了卷号 S:
以下示例在卷号为 S 的 U 盘上创建启动项,包括用于支持基于 UEFI 或基于 BIOS 的计算机的启动文件:
|
/f <firmware type> |
可选。 指定固件类型。 有效值包括
如果指定 /f 选项,则还必须指定 /s 选项用于标识系统分区的卷号。 以下示例将用于支持在基于 UEFI 或基于 BIOS 的计算机上进行启动的 BCD 文件从 C:\Windows 文件夹复制到卷号为 S 的 U 盘:
|
/v |
可选。 启用详细模式。 例如:
|
/m [{OS Loader GUID}] |
可选。 将现有启动项中的值合并到新的启动项中。 默认情况下,此选项仅合并全局对象。 如果指定了 OS 加载程序 GUID,则此选项会在系统模板中合并加载程序对象,以生成可启动项。 以下示例将当前 BCD 存储中由指定的 GUID 所标识的操作系统加载程序合并到新 BCD 存储中:
|
/addlast |
可选。 指定应最后添加 Windows 启动管理器固件项。 默认行为是首先添加此项。 不能与 /p 结合使用。
|
/p |
可选。 指定应在 UEFI 启动顺序中保留现有的 Windows 启动管理器固件项位置。 如果项不存在,则会在第一个位置添加新项。 不能与 /addlast 结合使用。 默认情况下,在升级期间,BCDBoot 会移动 Windows 启动管理器,使之成为 UEFI 启动顺序中的第一个项。
|
/d |
可选。 在 Windows 启动管理器的 {bootmgr} 对象中保留现有的默认操作系统项。
|
/c |
可选。 指定不应迁移任何现有的 BCD 元素。 Windows 10 的新增功能:默认情况下,在升级期间,将保留 debugsettings 或 flightsigning 等 BCD 元素。
|
修复系统分区
如果系统分区已损坏,可以通过 BCDBoot 使用 Windows 分区中系统分区文件的新副本来重新创建这些文件。
启动电脑并打开命令行。 例如,启动进入 Windows 安装磁盘并按 Shift+F10,或启动进入 Windows PE(WinPE:创建可启动的 USB 驱动器)。
使用 Diskpart 确定哪个驱动器号包含 Windows 分区和系统分区 (
diskpart, list vol, exit
)。可选:格式化系统分区:
format (drive letter of your system partition) /q
添加 Windows 分区的启动项:
bcdboot D:\Windows
重新启动电脑。 应会显示 Windows。
设置或修复双启动选项电脑上的启动菜单
将电脑设置为启动多个操作系统时,有时可能无法启动进入其中的某个操作系统。 使用 BCDBoot 选项可以快速添加基于 Windows 的操作系统的启动选项。 设置双启动选项电脑:
为每个操作系统安装独立的硬盘驱动器或准备独立的分区。
安装操作系统。 例如,如果电脑中已安装 Windows 7,请将 Windows 10 安装到其他硬盘驱动器或分区。
重新启动电脑。 显示的启动菜单中应会列出这两个操作系统。
如果未列出这两个操作系统:
在 Windows 中以管理员身份打开命令行,或使用 Windows 安装媒体启动进入命令行并按 Shift+F10,或启动进入 Windows PE(WinPE:创建可启动的 USB 驱动器)。
添加 Windows 操作系统的启动选项。
bcdboot D:\Windows
重新启动电脑。 现在,启动菜单将显示这两个菜单选项。