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:
BIOS:
以下示例将 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。
如果你指定 /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 重新创建系统分区文件。
- 将你的电脑启动到命令行。例如,启动到 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 8.1 安装到其他硬盘或分区。
- 重新启动电脑。启动菜单出现时,会列出两个操作系统。
如果未列出两个操作系统:
- 作为来自 Windows 内部的管理员,或通过使用 Windows 安装磁盘并按下 Shift+F10 来启动到命令行,或通过启动到 Windows PE,来打开一个命令行。2、为 Windows 操作系统添加启动选项。3、Bcdboot D:\Windows;4重新启动电脑。现在,启动菜单将显示两个菜单选项。
BCDBOOT命令参数介绍的更多相关文章
- Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)
一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账 ...
- OptionParser命令参数介绍及使用
使用optionParse解析命令行参数分以下几个步骤: 创建parser实例 使用add_option添加我们要处理的命令行参数 得到解析sys.argv后的options对象,查看用户的输入 代码 ...
- Hadoop(三) HADOOP常用命令参数介绍
-help 功能:输出这个命令参数手册 -ls 功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注 ...
- vmstat命令参数介绍
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...
- Windows下使用mklink命令参数介绍
Windows下创建符号链接使用命令mklink常用参数有 /D /J,两者有比较明显的区别 区别1:创建/D 创建目录符号链接(即目录快捷方式)而不是文件符号链接(默认为文件符号链接),可以使用相对 ...
- Monkey命令参数介绍
1) 参数: -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App).指定 包之后,Monkey将只允许系统启动指定的APP.如果不指定包,Monkey将允许系统启动 ...
- ansible命令参数介绍
-m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接的用户名,默认用root,ansible.cfg中可以配置 -k:提示输入ssh登录密码.当使用密码验证的时候用 -s:su ...
- ubuntu apt 命令参数(转)
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. apt-get update 在修改/etc/apt/sou ...
- [Linux命令]curl命令参数详解——转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态.curl命令参数介 ...
随机推荐
- Struts国际化
第一步需要建立配置文件 格式为 文件名_zh_CN.properties 为中文配置文件 文件名_en_US.properties为美式英语配置文件 配置文件里面的值以键值对的形式 ...
- MVC中发生System.Data.Entity.Validation.DbEntityValidationException验证异常的解决方法
发生System.Data.Entity.Validation.DbEntityValidationException这个异常的时候,如果没有用特定的异常类去捕捉,是看不到具体信息的. 通常都是用Sy ...
- TortoiseGit - pull 与 fetch
Git的Pull其实是fetch与Merge两个命令的合并. 平时遇到的问题是,在本地分支进行了一些修改,准备提交.但是怕提交前有其他人push了新的代码.于是想在提交前,看看远程仓库上的log.这时 ...
- Date Math SimpleDateFormat 类
Date 和 SimpleDateFormat /* Date 日期类 许多方法都被Calendar取代了 Date() 获取当前时间 使用概率最高 Calendar 类用常量获取当前时间 一般很少 ...
- chapter9_4 非抢占式的多线程
协同程序与常规的多线程不同之处:协同程序是非抢占式的. 当一个协同程序运行时,是无法从外部停止它的.只有当协同程序显式地调用yield时,它才会停止. 当不存在抢先时,编程会变得简单很多,无须为同步的 ...
- sql分页比较简单快捷的方法
SELECT TOP 显示数量* FROM 表 WHERE (主键id>(SELECT MAX(主键id) FROM(SELECT TOP 页码数*显示数量 主键id FROM 表 ORDER ...
- sql参数化查询避免注入漏洞的原因探析
网上其他同学的都说是重用执行计划,将用户输入的作为文本查询,到底如何实现,我用下面三行代码来解析一下. DECLARE @test NVARCHAR() SET @test=' or 1='1 SEL ...
- java中Class对象详解
java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成instance都有多种方式.所以只有弄清其中的原理,才可以深入理解.首先要生成Class对象,然后再生成Instance ...
- Android任务栈TaskStack
Task:有多个Activity按顺序组成的一个完整的业务逻辑. 任务栈(TaskStack):新增的Activity放入栈中,点击back栈顶Activity从栈中退出. android:nohis ...
- 在线GET/POST API接口请求模拟测试工具
在前后端开发过程中经常需要对HTTP接口进行测试,推荐几款比较好用的测试工具 Postman https://www.getpostman.com/ 强大的HTTP请求测试工具 支持多平台 Advan ...