BCDBoot 命令行选项
05/02/2017
本文内容
BCDBoot 是一个命令行工具,用于在电脑或设备上配置启动文件以运行 Windows 操作系统。 可在以下场景中使用该工具:
应用新的 Windows 映像后,将启动文件添加到电脑。 在典型的基于映像的 Windows 部署中,使用 BCDBoot 来设置固件和系统分区,以启动进入映像。 有关详细信息,请参阅捕获和应用 Windows 分区、系统分区与恢复分区。
将电脑设置为启动进入包含 Windows 映像的虚拟硬盘 (VHD) 文件。 有关详细信息,请参阅启动进入 VHD(本机启动):将虚拟硬盘添加到启动菜单。
修复系统分区。 如果系统分区已损坏,可以通过 BCDBoot 使用 Windows 分区中系统分区文件的新副本来重新创建这些文件。
设置或修复双启动选项电脑上的启动菜单。 如果在电脑上安装了多个 Windows 副本,可以使用 BCDBoot 来添加或修复启动菜单。
文件位置
在 Windows 和 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 10、Windows 8.1、Windows 8、Windows 7、Windows Vista、Windows Server 2016 技术预览版、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 或 Windows Server 2008 映像中的启动环境文件。
工作原理
若要配置系统分区,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 [ /l ] [ /s [ /f ]] [ /v] [ /m [{OS Loader GUID}]] [ /addlast or /p] [ /d] [ /c]
选项
说明
必需。 指定在复制启动环境文件时用作源的 Windows 目录的位置。
以下示例使用 C:\Windows 文件夹中的 BCD 文件初始化系统分区:
bcdboot C:\Windows
/l
可选。 指定区域设置。 默认设置为美国英语 (en-us)。
以下示例将默认的 BCD 区域设置指定为日语:
bcdboot C:\Windows /l ja-jp
/s
可选。 指定系统分区的卷号。 不应在典型部署方案中使用此选项。
配置要在另一台计算机上启动的驱动器(例如 U 盘或辅助硬盘)时,请使用此设置来指定系统分区。
UEFI:
BCDBoot 将启动文件复制到 EFI 系统分区,或 /s 选项指定的分区。
BCDBoot 在同一分区中创建 BCD 存储。
默认情况下,BCDBoot 会在固件上的 NVRAM 中创建 Windows 启动管理器项,用于标识系统分区上的启动文件。 如果使用 /s 选项,则不会创建此项。 在此情况下,BCDBoot 将依赖使用默认固件设置来标识系统分区上的启动文件。 根据 UEFI 2.3.1 规范,默认固件设置应打开 EFI 系统分区 (ESP) 中的文件 \efi\boot\bootx64.efi。
BIOS:
BCDBoot 将启动文件复制到主硬盘上的活动分区,或 /s 选项指定的分区。
BCDBoot 在同一分区中创建 BCD 存储。
以下示例将 C:\Windows 文件夹中的 BCD 文件复制到要在另一台计算机上启动的辅助硬盘上的系统分区。 为辅助硬盘上的系统分区分配了卷号 S:
bcdboot C:\Windows /s S:
以下示例在卷号为 S 的 U 盘上创建启动项,包括用于支持基于 UEFI 或基于 BIOS 的计算机的启动文件:
bcdboot C:\Windows /s S: /f ALL
/f
可选。 指定固件类型。 有效值包括 UEFI、BIOS 和 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 的 U 盘:
bcdboot C:\Windows /s S: /f ALL
/v
可选。 启用详细模式。 例如:
bcdboot C:\Windows /v
/m [{OS Loader GUID}]
可选。 将现有启动项中的值合并到新的启动项中。
默认情况下,此选项仅合并全局对象。 如果指定了 OS 加载程序 GUID,则此选项会在系统模板中合并加载程序对象,以生成可启动项。
以下示例将当前 BCD 存储中由指定的 GUID 所标识的操作系统加载程序合并到新 BCD 存储中:
bcdboot c:\Windows /m {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
/addlast
可选。 指定应最后添加 Windows 启动管理器固件项。 默认行为是首先添加此项。 不能与 /p 结合使用。
bcdboot C:\Windows /addlast
/p
可选。 指定应在 UEFI 启动顺序中保留现有的 Windows 启动管理器固件项位置。 如果项不存在,则会在第一个位置添加新项。 不能与 /addlast 结合使用。
默认情况下,在升级期间,BCDBoot 会移动 Windows 启动管理器,使之成为 UEFI 启动顺序中的第一个项。
bcdboot C:\Windows /p
bcdboot C:\Windows /p /d
/d
可选。 在 Windows 启动管理器的 {bootmgr} 对象中保留现有的默认操作系统项。
bcdboot C:\Windows /d
/c
可选。 指定不应迁移任何现有的 BCD 元素。
Windows 10 的新增功能:默认情况下,在升级期间,将保留 debugsettings 或 flightsigning 等 BCD 元素。
bcdboot C:\Windows /c
修复系统分区
如果系统分区已损坏,可以通过 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
重新启动电脑。 现在,启动菜单将显示这两个菜单选项。
故障排除
有关在装有 Windows XP 和更高 Windows 版本(例如 Windows 7)的电脑上修复启动文件的信息,请参阅 Microsoft 知识库文章 2277998。
相关主题