1, BCD 介绍
在Win7中与之前的版本的引导系统不同,微软引入了一种全新的boot loader架构, Windows Boot Manager (Bootmgr.exe)。与之前通过Ntldr来初始化硬件设备、建立内存空间的映射图等,将系统的软硬件环境设置成一个合适的状态,为最终调用操作 系统内核准备好正确的环境相比。Win7中的新架构可以实现完整的硬件独立性,且能够与多种操作系统无缝结合,让Win7的启动/引导过程更加快速与安 全。同时,将之前Windows系统中由Boot.ini管理的内容移交给新的Boot Configuration Data (BCD : 启动设置数据),当然,也提供了新的启动选项编辑工具,BCDEdit (BCDEdit.exe),来管理启动设置。
BCDEdit:Win7启动设置编辑工具
  如果是新安装Win7操作系统,你将会发现在的文件夹中Boot.ini文件已经彻底消失;如果系统中安装了之前的操作系统版本,虽然仍可找到Boot.ini文件,但是这个文件只作用于老版本的操作系统,并不对Win7造成任何影响。
  在基于EFI (Extensible Firmware Interface : 可扩展固件接口,以后采用这种接口的PC会越来越多 )的计算机中,Boot.ini 文件则更不复存在,在基于EFI的系统中,启动选项被贮存在主板的存储器中。此时要修改启动选项,就需要使用BCDEdit,甚至在修改Boot.ini 的方式也不能使用原先的文本编辑器。另外一方面,微软在Win7中提供了可通过WMI (Windows Management Instrumentation : Windows管理规范)调用的BCD类,通过它可以用编程的方式修改BCD数据。
BCDEdit的启动
  BCDEdit不是一个运行于图形界面程序,而是一个命令行工具,运行文件Bcdedit.exe位于 “\Windows\System32”目录下。如果需要执行BCDEdit,首先应进入命令行窗口,并要将操作用户并提升至管理员权限。在命令行窗口 中,输入“bcdedit” 即可。

2,BCDEdit命令简介
  通过命令行工具Bcdedit,用户可以添加、删除及修改BCD (Boot Configuration Data)中的对象。在BCD中,每个对象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一标识符),如系统中的每块硬盘、每个分区的GUID (全局唯一标识符)均不相同。
  在BCD中,硬盘或分区的GUID可分为如下几类:
{legacy} :指存在上一代Windows系统如Windows XP的硬盘或分区; 
{default} : 默认操作系统所在硬盘或分区; 
{current} : 当前硬盘或分区; 
{c34b751a-ff09-11d9-9e6e-0030482375e7} : 类似于这个格式的GUID指其他安装了操作系统的硬盘或分区。
(注:这只是个例子,具体数字根据硬盘或分区参数会有相应变化,但均会类似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。 
BCDEDIT命令
bcdedit /? : 显示命令帮助 
bcdedit.exe /? CREATESTORE : 显示命令参数“ CREATESTORE ”的详细信息,——当然,“ CREATESTORE ”也只是示例,使用中对其他任何可用参数也均可使用类似格式查看该参数的具体说明。 
bcdedit 或 bcdedit /enum all : 显示Vista和Win7系统当前的启动设置数据,这时系统中所有安装了操作系统的硬盘或分区均会显示相应的 GUID 标识,如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。 
使用BCDEdit备份与恢复启动选项
  在对Vista和Win7的启动选项修改之前,最好先对其备份,以防万一操作失误或其他故障导致系统无法启动。
bcdedit /export “D:\BCD Backup\Bcd Backup” : 将启动设置备份到D盘 “BCD Backup” 目录下; 
bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢复之前备份在D盘 “BCD Backup”目录下启动选项。 
使用BCDEdit修改启动菜单选项
   作为一种良好的操作习惯,在对Vista和Win7的启 动选项进行任何修改前,首先要对BCD中的启动选项进行备份,相应的命令上页我们已介绍过,在此不再赘述;其次,使用“bcdedit ”或“ bcdedit /enum all ”来查看系统中硬盘或分区的正确 GUID 标识,并将其记录下来。毕竟,BCDEdit只是一款命令行工具,我们操作时需手动输入类似“{xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx}”这样的长字符串时,很容易出错,而这往往会导致Vista和Win7启动失败。

3,下面详细介绍使用BCDEdit修改启动选项的常用命令格式:
bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系统在启动菜单中的显示内容,比如说我们也可将其修改为“Vista天地专用XP SP2”之类。注意,命令中的引号不可省略; 
bcdedit /set {current} description “Vista和Win7 Build 5270 x86″ : 修改当前启动硬盘或分区上的操作系统在启动菜单中的显示内容。注意,当前分区上的操作系统可能为Vista和Win7,也可以是其他系统,当然,命令中的 引号也不可省略; 
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Vista和Win7 Build 5270 x64” : 修改安装于其他硬盘或分区的系统在启动菜单中的显示内容,使用这项命令时一定要注意该硬盘/分区的GUID输入正确,相应的GUID可通过“ bcdedit ”或“ bcdedit /enum all ”命令查看。 
bcdedit /default {current} : 将当前启动硬盘/分区中的操作系统设置为默认启动的系统; 
bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 设置指定GUID上的操作系统为默认启动的系统; 
bcdedit /default {legacy} : 设置上一代Windows 系统Windows XP为默认启动的系统; 
bcdedit /displayorder : 设置启用菜单中各项的显示顺序,如:
bcdedit.exe /displayorder {legacy} {current}
将首先显示Windows XP,然后再显示默认启动的系统如Vista和Win7 
bcdedit /timeout 15 : 将默认的启动菜单显示时间30秒更改为15秒,当然,您可以将这个时间修改为任何您希望的数值。 
使用BCDEdit修复硬盘/分区结构错误
  在对启动选项的修改过程中,如添加或删除某个硬盘/分区时,可能会因操作中的不慎导致硬盘/分区结构的混乱,除了采用恢复修改前的备份方法外,也可以首先使用BCDEdit来尝试一下修复。
  具体方法如下:
X:\>X:\boot\fixntfs.exe -lh -all : 这时的“ X: ”指引导目录 “boot” 所在的硬盘/分区; 
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 将指定GUID的分区设为启动分区。注意,这里的“ X: ”的GUID须与指定值不同,同时,运行该命令后,必须接着运行下面的osdevice命令; 
bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 将指定GUID的分区设为启动分区。注意,这个命令必须与上面的device命令配对使用,同时“ X: ”的GUID须与指定值不同。


基础教程:BCDEDIT常用命令及使用实例(图)

BCDEDIT是从Vista开始引入的启动配置数据管理工具,命令行工具用于修改启动配置数据存储,可以使用Bcdedit.exe在启动配置数 据存储中添加、删除、编辑和附加存储项,适应Vista/Windows 2008/Windows 7及之后版本系统,bcdedit.exe文件位于系统盘的Windows\system32目录下 ,其功能非常强大,很多启动问题都可以通过该命令解决,当然前提是你不怕麻烦。
如果只是临时为了应急,比如启动菜单修复,大家也可以使用一些现成的启动管理软件,比如EasyBCD等,如果时间或条件许可,天缘还是建议你多“折腾”一下,下次再遇到类似问题就会得心应手。
一、BCDEDIT常用命令一览表
功能    命令行    示例
导出备份当前系统启动配置数据    bcdedit /export    把当前配置数据导出到D盘,并存为Bkup文件,双引号可要可不要
bcdedit /export "D:\Bkup"
导入并覆盖当前系统启动配置数据    bcdedit /import    把D盘Bkup配置文件导入并覆盖当前配置数据,双引号可要可不要
bcdedit /import "D:\Bkup"
显示Bcdedit全部命令帮助    bcdedit /?
bcdedit /?    bcdedit /?,显示Bcdedit全部命令帮助
bcdedit /? /store,指定显示store命令帮助,命令前面的斜杠可要可不要
在储存中的列表项目    bcdedit [/store ] /enum [ | ] [/v]    列出当前系统全部启动项:
bcdedit,或
bcdedit /enum,或bcdedit /enum ACTIVE
显示所有存储中的项(包括启动管理器显示项、固件应用程序、启动环境、继承项等等):
bcdedit /enum all
列出所有操作系统项:
bcdedit /enum OSLOADER
列出所有的启动管理项:
bcdedit /enum BOOTMGR
/v参数可以完整显示项标识符,而不是使用已知标识符的名称:
bcdedit /enum ACTIVE /v
设置默认启动菜单显示超时    bcdedit /timeout    将默认启动菜单显示超时时间设为5秒
bcdedit /timeout 5
创建指定启动项副本    bcdedit [/store ] /copy {} /d    复制启动项目:
bcdedit /copy {GUID} /d "New entry"
新建启动项目    bcdedit /create [{}] [/d ] [/application |     /inherit [] | /inherit DEVICE | /device]    创建Windows XP系统引导项:
bcdedit /create {ntldr} /d "Windows XP SP3"
创建一个Windows 8系统启动项:
bcdedit /create /d "Windows 8" /application osloader
删除项目    bcdedit [/store ] /delete [/f] [/cleanup | /nocleanup]    彻底删除指定的启动项:
bcdedit /delete {GUID} /cleanup
删除存储中涉及NTLDR的OS加载项:
bcdedit /delete {GUID} /f
删除启动配置数据存储项中的数据元素    bcdedit [/store ] /deletevalue []    删除启动管理器中的bootsequence选项:
bcdedit /deletevalue {bootmgr} bootsequence
设定项目选择项数值    bcdedit [/store ] /set [{}] [ /addfirst | /addlast | /remove ]    修改启动项描述:
bcdedit /set {GUID} description "Windows 7 SP2"
设置启动管理器使用的一次性启动序列    bcdedit /bootsequence [...] [ /addfirst | /addlast | /remove ]    设定多个启动序列(ID之间使用空格):
bcdedit /bootsequence {GUID1} {GUID2} {GUID3} { ...}
加入操作系统项目为启动列表最后项:
bcdedit /bootsequence {GUID} /addlast
设定默认启动项目    bcdedit /default    设定GUID序列为默认启动项:
bcdedit /default {GUID}
将基于NTLDR的OS设置为默认项(天缘注:多个NTLDR没问题?):
bcdedit /default {ntldr}
设置启用管理器使用的显示顺序    bcdedit /displayorder [...] [ /addfirst | /addlast | /remove ]    将指定OS项添加到启动管理显示顺序末尾:
bcdedit /displayorder  {GUID} /addlast
启用或禁用指定项的紧急管理服务    bcdedit /bootems [] { ON | OFF }    开启启动管理器紧急处理服务:
bcdedit /bootems {bootmgr} ON
启用或禁用指定操作系统启动项的紧急管理服务    bcdedit /ems [] { ON | OFF }    启用当前操作系统启动项的紧急管理服务:
bcdedit /ems ON
设置系统全局紧急管理服务设置    bcdedit /emssettings [ BIOS ] | [ EMSPORT: | [EMSBAUDRATE:] ]    将紧急管理服务参数设置为使用BIOS设置:
bcdedit /emssettings BIOS
           
其中几个参数解释:
     指定要使用的存储。如果未指定此选项,则使用系统存储。详细信息,请运行 "bcdedit /? store"。

指定要修改的项的标识符。如果未指定,则使用 {current}。 有关标识符的详细信息,请运行 "bcdedit /? ID"。

指定将创建或修改的选项数据类型。有关数据类型的详细信息,请运行 "bcdedit /? TYPES"。

指定应分配给该选项的值。 的格式取决于指定的数据类型。 有关数据格式的详细信息,请运行 "bcdedit /? FORMATS"。

此外BCDEDIT还有几条命令上表未列出来,可以通过cmd命令行下输入bcdedit /? 方式查看注解,帮助相当详细。
二、BCDEDIT完整命令列表(来源Windows 7 Bcdedit帮助)
对存储执行的命令
======================================
/createstore    新建空的启动配置数据存储。
/export         将系统存储的内容导出到文件。以后可以使用该文件还原系统存储的状态。
/import         使用 /export 命令创建的备份文件来还原系统存储的状态。
/sysstore       设置系统存储设备(仅影响 EFI 系统,在重新启动后不再有效, 且仅用于系统存储设备不确定的情况下)。

对存储中的项执行的命令
======================================
/copy           复制存储中的项。
/create         在存储中新建项。
/delete         删除存储中的项。
/mirror         创建存储中项的镜像。

对项选项执行的命令
======================================
/deletevalue    删除存储中的项选项。
/set            设置存储中的项选项值。

运行 bcdedit /? TYPES 可获得这些命令使用的数据类型的列表。
运行 bcdedit /? FORMATS 可获得有效数据格式的列表。

控制输出的命令
======================================
/enum           列出存储中的项。
/v              命令行选项,完整显示项标识符,而不是使用已知标识符的名称。单独使用命令 /v 可完整显示活动类型的项标识符。

单独运行 "bcdedit" 等同于运行 "bcdedit /enum ACTIVE"。

控制启动管理器的命令
======================================
/bootsequence   为启动管理器设置一次性启动序列。
/default        设置启动管理器将使用的默认项。
/displayorder   设置启动管理器显示多重引导菜单的顺序。
/timeout        设置启动管理器的超时值。
/toolsdisplayorder  设置启动管理器显示工具菜单的顺序。

控制启动应用程序紧急管理服务的命令
======================================
/bootems        启用或禁用启动应用程序的紧急管理服务。
/ems            启用或禁用操作系统项的紧急管理服务。
/emssettings    设置全局紧急管理服务参数。

控制调试的命令
======================================
/bootdebug      启用或禁用启动应用程序的启动调试。
/dbgsettings    设置全局调试程序参数。
/debug          启用或禁用操作系统项的内核调试。
/hypervisorsettings  设置虚拟机监控程序的参数。
 
三、Bcdedit常用设置修复及配置示例
1、警告Bcdedit命令需要在管理员权限下进行操作,如下图:

2、在使用BCD之前,请先备份当前系统的启动配置文件方法如下:
bcdedit /export D:\bootbkup
bcdedit /import D:\bootbkup
其中bootbkup是备份的文件名。
3、BCDEDIT运行界面,如下图,请留意图中的标识符位置和项目名称。

启动入口最主要是四个部分:
Identifier标识符——启动入口的系统标识,可能是bootmgr、current或id形式等。
device设备——一般是驱动器路径或虚拟映像,系统启动引导后入口。
path路径——是device设备的位置,系统用来定位启动文件。
description描述——显示描述,也就是大家见到的菜单显示。
{bootmgr} ——启动管理器
{current}——当前操作系统,启动时选择的系统
{default} ——缺省默认的启动项
{ntldr} ——早期Windows加载
附个参考地址:http://www.sevenforums.com/tutorials/2676-bcdedit-how-use.html
四、BCDEDIT常用操作步骤
1、为Windows XP创建一个分区启动入口:
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=F:
bcdedit /set {ntldr} path ntldr
bcdedit /displayorder {ntldr} /addlast
2、删除Windows XP启动入口
bcdedit /delete {ntldr} /f
3、设置启动分区
bcdedit /set {标识符} device partition=C:
4、增加Linux引导入口
bcdedit /create /d "GrubInstallUbuntu" /application bootsector
命令执行后会返回一个GUID,然后使用鼠标选中右键全选,并在标题栏中右键复制下来,接着再执行以下命令(命令中的GUID需要替换成上面命令返回的ID 值)。
bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path grldr.mbr
bcdedit /displayorder {GUID} /addlast
5、关闭系统DEP保护:
bcdedit.exe/set {current} nx AlwaysOff
6、创建一个配置数据库:
bcdedit /createstore C:\cyberwin

关于BCDEdit 命令的使用相关推荐

  1. linux修改BCD文件,关于BCDEdit 命令的使用

    1, BCD 介绍 在Win7中与之前的版本的引导系统不同,微软引入了一种全新的boot loader架构, Windows Boot Manager (Bootmgr.exe).与之前通过Ntldr ...

  2. linux下bcd文件还原,BCDEDIT命令详解 | 数据恢复实验室 Data Recovery Laboratory

    案例:bcdedit添加系统启动项 使用BCDEDIT命令,编辑启动项,方便.快捷,只需记住几条命令,必要时替换即可. 以下是一个案例: 标识符 {de329298-0dd8-11e0-90b6-8a ...

  3. 用 BCDEdit 命令修改 Windows 多系统启动菜单的名称及显示顺序

    Windows 启动管理器 -------------------- 标识符 {bootmgr} device partition=D: description Windows Boot Manage ...

  4. BCDEDIT命令详解 【Z】

    使用BCDEDIT命令,编辑启动项,方便.快捷,只需记住几条命令,必要时替换即可. 以下是一个案例: 标识符 {de329298-0dd8-11e0-90b6-8af61b7989dc} device ...

  5. BCDEdit命令修改windows启动菜单

    BCDEdit命令简介 通过命令行工具Bcdedit,我们可以添加.删除及修改BCD (Boot Configuration Data)中的对象.在BCD中,每个对象均具有唯一的 GUID (Glob ...

  6. 计算机技能训练bcd是什么,BCD是什么,BCDEdit命令是什么?

    BCD是什么,BCDEdit命令是什么?一位安装Win7和Win8双系统的朋友,希望修改系统的启动菜单,不知道方法,坛友给出的建议是使用BCDEdit程序,看程序界面和命令提示符并没有什么两样,于是想 ...

  7. [转]bootrec和bcdedit命令详解

    我的电脑装了双系统:Win2003 SP2(C盘)和Win2008 SP2(D盘),最近2003一启动就蓝屏unknown hard error,安全模式也进不去,恢复注册表等方法试过也不行,但200 ...

  8. 图解修改Windows启动菜单命令行工具BCDEdit

    一 BCDEdit命令操作实例 二 BCDEdit命令介绍 Bcdedit简介 在NT60系列操作系统(Windows 7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootload ...

  9. windows 7编辑启动菜单 bcdedit linux,WIN7系统BCDEDIT常用命令及使用实例

    BCDEDIT是从Vista开始引入的启动配置数据管理工具,命令行工具用于修改启动配置数据存储,可以使用Bcdedit.exe在启动配置数据存储中添加.删除.编辑和附加存储项,适应Vista/Wind ...

最新文章

  1. python序列数据类型_python 数据类型 序列——列表
  2. 剑指offer の 1-10 之javascript实现
  3. Qt-5种布局控件详解
  4. requirements.txt一键安装项目所需要的的python包
  5. Auto.JS 开发
  6. 吃亏受苦、前途未卜,Nature调查显示博士生三分之一可能抑郁
  7. 计算机硬件加速怎么开,显卡硬件加速,小编教你电脑怎么开启显卡硬件加速
  8. c#问题(按F1或F2键时触发事件)
  9. 信息系统项目管理师(2022年)—— 重点内容:信息化和信息系统(1)
  10. html静态网页制作天天生鲜,天天生鲜 前后台资源
  11. c语言一本书的页码从自然数1开始顺序编码,C++_关于统计数字问题的算法,一本书的页码从自然数1开始顺 - phpStudy...
  12. 五步打造APP节日主题设计:以Lofter新年图标设计为例
  13. 鹏哥手把手带我刷好题 · 编程练习 · I
  14. 红警职教智能硬件电子电路基础版教材与配套视频资源即将开发完毕
  15. LDAP服务器不支持chap认证,终端使用EIA进行PEAP-GTC认证失败的原因分析
  16. 推荐一些实用的谷歌浏览器翻译插件
  17. 依图在实时音视频中语音处理的挑战丨RTC Dev Meetup
  18. 搭建人工智能云服务器,搭建人工智能云连接,实现手机APP远程控制
  19. 用OneNote打造全平台的数字笔记本
  20. 小米校招编程题:数组乘积、异形数、朋友圈

热门文章

  1. 浅谈网络编程中的常见问题
  2. Java学习笔记day26-xml枚举注解
  3. quick-cocos2d-x下载文件
  4. 怎么更新服务器上的项目,更新服务器的项目
  5. SBT20100VDC-ASEMI贴片肖特基二极管SBT20100VDC
  6. CSS(简介、基础选择器、字体属性、文本属性、引入方式)
  7. Zabbix--介绍篇(简介、功能)
  8. SRE_Google运维解密_笔记
  9. keil软件基于AT89C52的基本工程建立及其相关设置
  10. 小福利,django搭建个人网站的源码公开(一)