BCDBOOT命令参数介绍

BCDboot 命令行选项

更新时间: 2013年10月

应用到: Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2

BCDboot 是用于管理系统分区文件的命令行工具。可以在以下方案中使用此工具:

  • 部署新电脑时设置系统分区上的启动文件。有关详细信息,请参阅捕获和应用 Windows、系统和恢复分区
  • 设置 Windows® 以启动到虚拟硬盘 (VHD) 文件。有关说明,请参阅引导到 VHD(本机引导):将虚拟硬盘添加到引导菜单
  • 修复系统分区。如果系统分区已损坏,你可以通过使用 Windows 分区中的上述文件的新副本来使用 BCDboot 重新创建系统分区文件。
  • 设置或修复双启动电脑上的启动菜单。如果你已在电脑上安装了多个 Windows 的副本,则可以使用 BCDboot 添加或修复启动菜单。

文件位置

BCDboot.exe 文件包含在以下的每个位置中:


在 Windows PE 3.x 和 Windows PE 4.x:


%WINDIR%\System32


在 Windows(R) 8、Windows(R) 7、Windows Server® 2012 和 Windows Server® 2008 R2:


%WINDIR%\System32


在 Windows 评估和部署工具包 (Windows ADK):


C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\BCDBoot

支持的操作系统

BCDboot 可以从 Windows 8.1、Windows 8、Windows 7、Windows Vista®、Windows Server 2012 R2、Windows Server® 2012、Windows Server® 2008 R2 或 Windows Server® 2008 的映像中复制启动环境文件。

工作原理

若要配置系统分区,BCDboot 将一小部分启动环境文件从已安装的 Windows 映像复制到系统分区。接下来,BCDboot 在系统分区上创建引导配置数据 (BCD) 存储,指示计算机引导到 Windows 分区。在基于 UEFI 的计算机上,BCDBoot 会在 NVRAM 中添加一个固件条目,以指向这些启动文件。

BCDboot 使用 %WINDIR%\System32\Config\BCD-Template 文件在系统分区上创建新的 BCD 存储并初始化 BCD 启动环境文件。你可以在 BCD-Template 文件中定义特定的 BCD 设置。BCDboot 工具还将最新版本的启动环境文件从操作系统映像 %WINDIR%\boot 文件夹复制到系统分区。

BCDboot 可以将现有的启动环境更新到系统分区。

  • BCDboot 工具将更新版本的文件从 Windows 映像复制到系统分区。
  • 如果 BCD 存储已存在于系统分区上,BCDboot 将基于 BCD-Template 文件在现有的 BCD 存储中创建新的启动项。
  • 如果该 Windows 分区已经有了启动项,默认情况下,BCDboot 将清除旧的启动项及其值。若要在更新系统文件时保留现有启动项的值,你可以使用 /m 选项和 BDCBoot.exe 命令。

命令行选项

下列命令行选项可用于 BCDboot.exe。

BCDBOOT <source> [/l <locale>] [/s <volume-letter> [/f <firmware type>]] [/v] [/m [{OS Loader GUID}]]


选项


说明


<source>


必需。指定作为源的 Windows 目录的位置,将从该目录中复制启动环境文件。

以下示例通过使用以下位置的 BCD 文件初始化系统分区:C:\Windows folder:

bcdboot C:\Windows


/l <locale>


指定区域设置。默认为美国英语 (en-us)。

以下示例将默认 BCD 区域设置设置为日语:

bcdboot C:\Windows /l ja-jp


/s <volume letter>


指定系统分区的卷号。在典型部署方案中不使用此选项。

当你在配置一个将在另外的计算机上引导的驱动器(例如 USB 闪存驱动器或辅助硬盘驱动器)时,使用这一设置来指定系统分区。

UEFI

  • BCDBoot 会将启动文件复制到 EFI 系统分区或 /s 选项所指定的分区。

    BCDBoot 会在相同的分区中创建 BCD 存储。

    在默认情况下,BCDBoot 会在固件上的 NVRAM 中创建一个 Windows 引导管理器条目,用以识别系统分区上的启动文件。 如果使用了 /s 选项,将不会创建此条目。否则,BCDBoot 将会依据默认固件设置来识别系统分区上的启动文件。按照 UEFI 2.3.1 规范,默认固件设置应打开 EFI 系统分区 (ESP) 中的 \efi\boot\bootx64.efi 文件。

BIOS

  1. BCDBoot 会复制启动文件到主硬盘驱动器上的活动分区或由 /s 选项指定的分区。
  2. BCDBoot 会在相同的分区中创建 BCD 存储。

以下示例将 BCD 文件从 C:\Windows 文件夹复制到将在另外的计算机上引导的辅助硬盘驱动器上的系统分区。已为辅助驱动器上的系统分区分配了卷号 S

bcdboot C:\Windows /s S:

以下示例将在卷号为 F 的 USB 闪存驱动器上创建启动项,包括支持基于 UEFT 或 BIOS 的计算机的启动文件。

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


/f <firmware type>


指定固件类型。有效值包括 UEFI、BIOS 和 ALL。

  • 在基于 BIOS/MBR 的系统上,默认值为 BIOS。此选项在系统分区上创建 \Boot 目录,并将所需的所有启动环境文件复制到此目录。
  • 在基于 UEFI/GPT 的系统上,默认值为 UEFI。此选项创建 \Efi\Microsoft\Boot 目录并将所需的所有启动环境文件复制到此目录。
  • 当你指定 ALL 值时,BCDboot 将创建 \Boot 和 \Efi\Microsoft\Boot 目录,并将 BIOS 和 UEFI 所需的所有启动环境文件复制到这些目录。

如果你指定 /f 选项,则也必须指定 /s 选项以确定系统分区的卷号。

以下示例将支持在基于 UEFT 或 BIOS 的计算机上启动的 BCD 文件从 C:\Windows 文件夹复制到分配了卷号 F 的 USB 闪存驱动器:

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


/v


启用详细模式。示例:

bcdboot C:\Windows /v


/m [{OS Loader GUID}]


将现有启动项中的值并入新的启动项。

默认情况下,此选项仅合并全局对象。如果你指定 OS Loader GUID,此选项将合并系统模板中的加载程序对象以生成可启动项。

以下示例将当前 BCD 存储中指定 GUID 标识的操作系统加载程序合并到新的 BCD 存储中。

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

修复系统分区

如果系统分区已损坏,你可以通过使用 Windows 分区中的上述文件的新副本来使用 BCDboot 重新创建系统分区文件。

  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 8.1 安装到其他硬盘或分区。
  3. 重新启动电脑。启动菜单出现时,会列出两个操作系统。

    如果未列出两个操作系统:
    1. 作为来自 Windows 内部的管理员,或通过使用 Windows 安装磁盘并按下 Shift+F10 来启动到命令行,或通过启动到 Windows PE,来打开一个命令行。2、为 Windows 操作系统添加启动选项。3、Bcdboot D:\Windows;4重新启动电脑。现在,启动菜单将显示两个菜单选项。
时间: 2024-10-29 05:22:26

BCDBOOT命令参数介绍的相关文章

Puppet apply命令参数介绍(五)

Puppet apply 命令参数介绍 之前说过puppet的两种运行方式,第一种:c/s结构,第二种:单机运行.apply就是单独执行本地*.pp文件的代码工具,通常用于本地测试调试puppet代码. puppet apply常用参数: [[email protected] ~]# puppet apply -h puppet-apply(8) -- Apply Puppet manifests locally ======== SYNOPSIS -------- Applies a stan

Puppet 命令参数介绍(三)

Puppet 命令参数介绍 前言: Puppet的工作原理: puppet master启动默认是监听tcp协议的8140端口.通过ruby的webrick web接收agent端的请求,根据请求内容与master的统一接口文件site.pp文件匹配,将匹配到的主机资源编译成catalog向agent分发,agent接收到请求后在本地应用. Puppet 命令分为独立命令和集成命令,puppet3.0版本后就没有了独立命令,集成命令也是未来的一个趋势,所以只写puppet集成命令. 通常查看帮助

Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)

一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账户的.以及用户账户需要的文件和工具,这样处理文件权限问题时,就知道如何使用它们了. 1.1  /etc/passwd用户文件 /etc/passwd 是用来将用户的登录名,匹配到对应的UID上.它包含了一些与用户有关的信息.下面截取二个片断.如下图所示: root用户账户是linux系统管理员,固定

Puppet cert命令参数介绍(四)

puppet cert是管理Puppet证书签名的命令,在agent访问master时使用的是SSL安全套接字,优点是加密双方的通信数据,从而保证信息安全.puppet cert命令可以实现对证书的管理.授权.回收.显示和产生签名文件. 1.查看puppet cert帮助信息:(帮助文档注释过多,只截取参数部分) [[email protected] ~]# puppet cert -h * clean:        #--clean清理Master主机上存储的所有相关证书文件.   Revo

Puppet filebucket命令参数介绍(九)

puppet filebucket命令通常用来做文件的备份.获取和还原,支持远程操作. puppet 节点会在每次更新之前,将该节点运行的环境配置文件以md5的形式存储到/var/lib/puppet/bucket目录,里面包含了每个配置文件的内容.路径和名称,通过filebucket命令指定文件的md5值可将指定文件恢复. puppet filebucket参数: [[email protected] ~]# puppet filebucket -h puppet-filebucket(8) 

Monkey命令参数介绍

1) 参数: -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App).指定 包之后,Monkey将只允许系统启动指定的APP.如果不指定包,Monkey将允许系统启动设备中的所有APP. 指定一个包: adb shell monkey -p com.htc.Weather 100 说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件). 指定多个包:adb shell monkey -p com.htc.Weathe

vmstat命令参数介绍

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样). 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,

ansible命令参数介绍

-m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接的用户名,默认用root,ansible.cfg中可以配置 -k:提示输入ssh登录密码.当使用密码验证的时候用 -s:sudo运行 -U:sudo到那个用户,默认为root -K:提示输入sudo密码,当不是NOPASSWD模式时使用 -C:只是测试一下会改变什么内容,不会真正去执行 -c:连接类型(default=smart) -f:fork多少个进程并发处理,默认为5个 -i:指定hosts文件路径,默认defau

Puppet module命令参数介绍(六)

puppet module是puppet的基础模块工具,agent和master都可以使用,主要包含下载.更新.查找.升级.创建等功能.它可以从Puppetforge上查找已经开发好的puppet基础模块代码为我们使用,不需要自己再去编写,提升工作效率. 查看puppet module的帮助信息: [[email protected] ~]# puppet help module USAGE: puppet module <action> [--environment production ]