BCDEDIT是从Vista开始引入的启动配置数据管理工具,命令行工具用于修改启动配置数据存储,可以使用Bcdedit.exe在启动配置数据存储中添加、删除、编辑和附加存储项,适应Vista/Windows
2008/Windows
7及之后版本系统,bcdedit.exe文件位于系统盘的Windows\system32目录下,其功能非常强大,很多启动问题都可以通过该命令解决,当然前提是你不怕麻烦。
一、BCDEDIT常用命令一览表
功能 |
命令行 |
示例 |
导出备份当前系统启动配置数据 |
bcdedit /export |
把当前配置数据导出到D盘,并存为Bkup文件,双引号可要可不要 bcdedit /export
"D:\Bkup" |
导入并覆盖当前系统启动配置数据 |
bcdedit /import |
把D盘Bkup配置文件导入并覆盖当前配置数据,双引号可要可不要 bcdedit /import
"D:\Bkup" |
显示Bcdedit全部命令帮助 |
bcdedit /? bcdedit /? <command> |
bcdedit /?,显示Bcdedit全部命令帮助 bcdedit /? /store,指定显示store命令帮助,命令前面的斜杠可要可不要 |
在储存中的列表项目 |
bcdedit [/store <filename>] /enum [<type> | <id>]
[/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 <filename>] /copy {<id>} /d
<description> |
复制启动项目: bcdedit /copy {GUID} /d "New entry" |
新建启动项目 |
bcdedit /create [{<id>}] [/d <description>] [/application
<apptype> | /inherit [<apptype>] | /inherit DEVICE |
/device] |
创建Windows XP系统引导项: bcdedit /create {ntldr} /d "Windows XP
SP3" 创建一个Windows 8系统启动项: bcdedit /create /d "Windows 8" /application
osloader |
删除项目 |
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup |
/nocleanup] |
彻底删除指定的启动项: bcdedit /delete {GUID}
/cleanup 删除存储中涉及NTLDR的OS加载项: bcdedit /delete {GUID} /f |
删除启动配置数据存储项中的数据元素 |
bcdedit [/store <filename>] /deletevalue [<id>]
<datatype> |
删除启动管理器中的bootsequence选项: bcdedit /deletevalue {bootmgr}
bootsequence |
设定项目选择项数值 |
bcdedit [/store <filename>] /set [{<id>}] <datatype>
<value> [ /addfirst | /addlast | /remove ] |
修改启动项描述: bcdedit /set {GUID} description "Windows 7 SP2" |
设置启动管理器使用的一次性启动序列 |
bcdedit /bootsequence <id> [...] [ /addfirst | /addlast | /remove
] |
设定多个启动序列(ID之间使用空格): bcdedit /bootsequence {GUID1} {GUID2} {GUID3} {
...} 加入操作系统项目为启动列表最后项: bcdedit /bootsequence {GUID} /addlast |
设定默认启动项目 |
bcdedit /default <id> |
设定GUID序列为默认启动项: bcdedit /default
{GUID} 将基于NTLDR的OS设置为默认项(天缘注:多个NTLDR没问题?): bcdedit /default
{ntldr} |
设置启用管理器使用的显示顺序 |
bcdedit /displayorder <id> [...] [ /addfirst | /addlast | /remove
] |
将指定OS项添加到启动管理显示顺序末尾: bcdedit /displayorder {GUID} /addlast |
启用或禁用指定项的紧急管理服务 |
bcdedit /bootems [<id>] { ON | OFF } |
开启启动管理器紧急处理服务: bcdedit /bootems {bootmgr} ON |
启用或禁用指定操作系统启动项的紧急管理服务 |
bcdedit /ems [<id>] { ON | OFF } |
启用当前操作系统启动项的紧急管理服务: bcdedit /ems ON |
设置系统全局紧急管理服务设置 |
bcdedit /emssettings [ BIOS ] | [ EMSPORT:<port> |
[EMSBAUDRATE:<baudrate>] ] |
将紧急管理服务参数设置为使用BIOS设置: bcdedit /emssettings BIOS |
|
|
|
其中几个参数解释:
<filename> 指定要使用的存储。如果未指定此选项,则使用系统存储。详细信息,请运行 "bcdedit /?
store"。
<id> 指定要修改的项的标识符。如果未指定,则使用 {current}。
有关标识符的详细信息,请运行 "bcdedit /? ID"。
<datatype>
指定将创建或修改的选项数据类型。有关数据类型的详细信息,请运行 "bcdedit /? TYPES"。
<value>
指定应分配给该选项的值。<value> 的格式取决于指定的数据类型。 有关数据格式的详细信息,请运行 "bcdedit /?
FORMATS"。
此外BCDEDIT还有几条命令上表未列出来,可以通过cmd命令行下输入bcdedit /?
<command>方式查看注解,帮助相当详细。
二、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./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:\Myboot