标题：Bcdedit
简介
在NT60系列操作系统（Windows 7/Vista/2008）中的一个命令行工具，用于建立和重新配置bootloader，后者无须再使用boot.ini文件。也就是说，使用BCDEdit这个工具，能够修改NT60 系列系统的启动菜单
在之前基于NT50系列（Windows XP/2000/2003）的Windows系统中，Windows使用Ntldr作为Boot Loader来启动系统， 但在新的NT60系列系统中，微软引入了一种全新的boot loader架构， Windows Boot Manager (Bootmgr.exe)。与Ntldr严重地依赖于硬件不同的是，NT60中的新架构可以实现完整的硬件独立性，且能够与多种操作系统无缝结合，让NT60的启动/引导过程更加快速与安全。同时，将之前Windows 系统中由Boot.ini管理的内容移交给新的Boot Configuration Data (BCD : 启动设置数据)，当然，也提供了新的启动选项编辑工具，BCDEdit (BCDEdit.exe)，来管理启动设置。
——所谓boot loader，在指在内核运行之前执行的一段小程序，系统通过它来初始化硬件设备、建立内存空间的映射图等，将系统的软硬件环境设置成一个合适的状态，为最终调用操作系统内核准备好正确的环境。——在启动过程中，Ntldr 使用Boot.ini 文件来确定在启动/引导过程中要显示哪些操作系统选项，我们对启动选项的设置可以通过修改boot.ini文件中相应内容实现。Windows NT60 （Windows 7/Vista/2008）与早期 NT52 系列系统（Windows XP/2000/2003）启动的对比　在传统的基于BIOS的计算机中，如果只安装 NT60 系列操作系统（Windows 7/Vista/2008），您将会发现 Boot.ini 文件已经彻底从系统中消失；如果系统中安装了 NT60 和之前的 Windows 系统，如 NT52 系列操作系统 （Windows XP/2000/2003），虽然仍可找到 Boot.ini 文件，不过，这个文件只作用于那些系统，而不会对 NT60 的启动有任何影响。
而在基于EFI (Extensible Firmware Interface : 可扩展固件接口，以后采用这种接口的PC会越来越多 )的计算机中，Boot.ini 文件则更不复存在，在基于EFI的系统中，启动选项被贮存在主板的存储器中。此时要修改启动选项，要么通过能够读写NVRAM的工具如NvrBoot，要么使用上文提到的BCDEdit。
由此可见，在NT60中，想要再像之前 NT52 中那样通过一个简单的文本编辑器来修改Boot.ini（或用NT52自带工具 Bootcfg）的方式来管理启动选项已经不可能了，要对启动设置进行修改，只能使用命令格式相对要复杂得多的BCDEdit。
此外，微软也在 NT60 中提供了可通过WMI (Windows Management Instrumentation : Windows管理规范)调用的 BCD 类，通过它可以用编程的方式修改BCD数据。不过，相信对绝大多数根本不会接触编程的用户而言，这更是不可能的任务。
使用注意
1.工具性质　
需要注意的是，BCDEdit不是一个运行于图形界面下的程序，而是一个命令行工具，该文件 (Bcdedit.exe) 位于 “\Windows\System 32”目录下。
2.启动
要执行BCDEdit，首先应进入命令行窗口，并要将操作用户提升至管理员权限。另外，该工具依赖于参数，如果不带参数，则不能正常使用。
在命令行窗口中，转到系统目录如 “C:/windows/system32”下，然后输入“bcdedit <参数>” 即可。也可直接在任意目录运行，因为System32目录本身在环境变量“Path”的范围内。
3.BCDEdit命令核心
（1）帮助
bcdedit /? : 显示全部的命令帮助（都只是概述）。
bcdedit.exe /? <命令> : 显示指定命令参数的详细信息（无需带斜杠）。使用中对其他任何可用参数也均可使用本命令格式查看该参数的具体说明。
（2）Enum
通过命令行工具Bcdedit，我们可以添加、删除及修改BCD (Boot Configuration Data)中的对象。在BCD中，每个对象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一标识符)，如系统中的每块硬盘、每个分区的GUID (全局唯一标识符)均不相同。
在BCD中，启动加载器的GUID可分为如下几类：　
{ntldr}: 指存在上代NT50系列操作系统（Windows XP/2000/2003）的硬盘或分区；
{default}: 默认所在硬盘或分区；
{current}: 当前硬盘或分区；
{<GUID>}: 类似于这个格式的GUID指其他安装了操作系统的硬盘或分区。
(注：相应的GUID可通过“ bcdedit ”或“ bcdedit /enum all ”命令查看。这样会显示BCD当前的启动设置数据，包含了所有在BCD记录中的操作系统，均能显示其GUID，用户可以此作更改启动数据的参考。)
（3）set
BCDEdit / set命令用于在Windows启动配置数据存储（BCD）中设置启动项选项值。使用bcdedit / set命令来配置特定的启动项元素，如内核调试器设置，数据执行保护（DEP）和处理器的地址扩展（PAE）选项，加载备用硬件抽象层（HAL）和内核文件等。你可以在为Windows Vista，Windows 7和更高版本的Windows测试和调试您的驱动程序时使用这些启动项的选项。 
　（4）保险措施（使用BCDEdit备份与恢复启动选项）
在对Windows NT60的启动选项修改之前，最好先对其备份，以防万一操作失误或其他故障导致系统无法启动。　
bcdedit /export <目录> : 将启动设置备份到指定的目录下；
bcdedit /import <目录> : 恢复之前备份在指定目录下启动选项。
注：当需要还原备份的启动选项时，应仔细检查备份的启动选项是否对应于自己所需要的，否则重新设置会比较麻烦。
修改选项
作为一种良好的操作习惯，在对Windows Vista的启动选项进行任何修改前，首先要对BCD中的启动选项进行备份，相应的命令上页我们已介绍过，在此不再赘述；其次，使用“bcdedit ”或“ bcdedit /enum all ”来查看系统中硬盘或分区的正确 GUID 标识，并将其记录下来。毕竟，BCDEdit只是一款命令行工具，我们操作时需手动输入类似“”这样的长字符串时，很容易出错，而这往往会导致Windows Vista启动失败。
下面详细介绍使用BCDEdit修改启动选项的常用命令格式：　
bcdedit /set {ntldr} Description “Windows XP Professional SP2” : 修改上一代在启动菜单中的显示内容，比如说我们也可将其修改为“Vista天地de专用XP SP2”之类。注意，命令中的引号不可省略；操作系统
bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改当前启动硬盘或分区上的操作系统在启动菜单中的显示内容。注意，当前分区上的操作系统可能为Windows Vista，也可以是其他系统，当然，命令中的引号也不可省略；
bcdedit /set {<GUID>} description “Windows Vista Build 5270 x64” : 修改安装于其他硬盘或分区的系统在启动菜单中的显示内容，使用这项命令时一定要注意该硬盘/分区的GUID输入正确，相应的GUID可通过“ bcdedit ”或“ bcdedit /enum all ”命令查看。
bcdedit /default {current} ：将当前启动硬盘/分区中的操作系统设置为默认启动的系统；
bcdedit /default {<GUID>} ：设置指定GUID上的操作系统为默认启动的系统；
bcdedit /default {ntldr} ：设置上一代Windows 系统Windows XP为默认启动的系统；
bcdedit /displayorder : 设置启用菜单中各项的显示顺序，如：
bcdedit.exe /displayorder {ntldr} {current} ：将首先显示Windows XP，然后再显示默认启动的系统如Windows Vista;
bcdedit /timeout 15 ：将默认的启动菜单显示时间30秒更改为15秒，当然，您可以将这个时间修改为任何您希望的数值。
使用BCDEdit修复硬盘/分区结构错误
在对启动选项的修改过程中，如添加或删除某个硬盘/分区时，可能会因操作中的不慎导致硬盘/分区结构的混乱，除了采用恢复修改前的备份方法外，也可以首先使用BCDEdit来尝试一下修复。
具体方法如下：　
X:\>X:\boot\fixntfs.exe -lh -all ： 这时的“ X: ”指引导目录 “boot” 所在的硬盘/分区；
bcdedit /set device partition=X: ： 将指定GUID的分区设为启动分区。注意，这里的“ X: ”的GUID须与指定值不同，同时，运行该命令后，必须接着运行下面的osdevice命令；
bcdedit /set osdevice partition=X: ： 将指定GUID的分区设为启动分区。注意，这个命令必须与上面的device命令配对使用，同时“ X: ”的GUID须与指定值不同。
Bcdedit命令详解，自定义Vista启动管理项
Bcdedit 位于X:\Windows\system32\ "X:"为安装Vista的盘符。
储存操作指令
====================
/createstore 创建一个新的空白启动配置数据文件。
bcdedit /createstore C:\Data\BCD 创建BCD启动配置数据文件储存到“C:\DATA\”文件夹。
/export 备份启动配置数据文件。
bcdedit /export "C:\Data\BCD Backup" 备份BCD启动配置文件到“C:\Data\”文件夹，并以“BCD Backup”命名。
/import 还原启动配置数据文件。
bcdedit /import "C:\Data\BCD Backup" 从“C:\Data\”文件夹恢复BCD启动配置文件。
储存项目操作指令
====================
/copy 项目拷贝
操作系统启动项目的拷贝:
bcdedit /copy /d "Copy of entry"
/create 新建项目
创建操作系统载入程序项目的 NTLDR(Ntldr):
bcdedit /create /d "Earlier Windows OS Loader"
创建存储器磁碟另外的选择项项目:
bcdedit /create /d "Ramdisk options"
创建一个新的操作系统启动项目:
bcdedit /create /d "Windows Vista" /application osloader
创建一个新的调试器:
bcdedit /create /d "Debugger Settings"
/delete 删除项目
删除指定的操作系统项目:
bcdedit /delete 
删除指定的操作系统项目但启动时不显示项目（彻底删除）:
bcdedit /delete /cleanup
删除指定的操作系统项目但启动时显示项目:
bcdedit /delete /nocleanup
删除操作系统载入程序项目的 NTLDR:
bcdedit /delete /f
项目选择操作指令
====================
/deletevalue 删除项目选择项。
删除启动管理的bootmgr选择项项目:
bcdedit /deletevalue bootsequence
删除(WinPE)操作系统的数值开机项目:
bcdedit /deletevalue winpe
删除来自指定的操作的 Windows PE 数值系统开机项目:
bcdedit /deletevalue winpe
/set 设定项目选择项数值。
设定操作系统“cbd971bf-b7b8-4885-951a-fa03044f5d71”引导分区“C”:
bcdedit /set device partition=C:
指定的操作系统引导文件“ windows\ system 32\ winload.exe”:
bcdedit /set path \windows\system32\winload.exe
设定“NX”为“OptIn”:
bcdedit /set nx optin
更改名称
默认XP系统名称在Vista启动管理器中是"earlier version of Windows",更改:
bcdedit /set Description "Windows XP Professional SP2"
默认Vista系统名称在Vista启动管理器中是"Microsoft Windows",更改:
bcdedit /set Description "Windows Vista 5456"
输出控制指令
====================
/enum 在储存中的列表项目。
列出所有的操作系统载入程序启动项目:
bcdedit /enum OSLOADER
列出所有的启动管理项目:
bcdedit /enum BOOTMGR
列出默认的启动项目:
bcdedit /enum 
列出指定的操作系统启动项目:
bcdedit /enum 
/v 列出所有活动的项目
bcdedit /enum ACTIVE /v
启动管理控制指令
====================
/bootsequence 设定启动列表顺序。
设定二个操作系统项目和启动顺序:
bcdedit /bootsequence {cbd971bf-b7b8-4885-951a- fa03044f5d71} 
加入操作系统项目为启动列表最后项:
bcdedit /bootsequence /addlast
/default 设定默认启动项目。
设定默认启动项目:
bcdedit /default 
设定默认启动操作系统程序为 NTLDR:
bcdedit /default 
/displayorder 设定哪一个系统启动显示多启动画面。
设定二个操作系统项目和在启动管理显示命令中被建立操作系统载入的程序 NTLDR:
bcdedit /displayorder 
把指定的操作系统项目加入启动管理显示命令结束:
bcdedit /displayorder /addlast
/timeout 设定启动暂停数值。
/toolsdisplayorder 设定命令在哪一个启动管理显示工具画面。
设定二个工具项目和内存诊断在那启动管理工具显示命令:
bcdedit /toolsdisplayorder 
把指定的工具项目加入启动的结束管理工具显示命令:
bcdedit /toolsdisplayorder /addlast
为一个启动应用程序控制紧急处理服务的指令
====================
/bootems 
开启启动管理紧急处理服务:
bcdedit /bootems ON
/ems 
为目前的操作系统启动项目 EMS 开启:
bcdedit /ems ON
/emssettings 设定紧急处理服务参数。
设定 EMS 参数使用基本输出入系统设定:
bcdedit /emssettings BIOS
帮助文件
Windows 7下Bcdedit的原版帮助文件
BCDEDIT - 启动配置数据存储编辑器
Bcdedit.exe 命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并控制操作系统的启动方式。这些参数以前位于
Boot.ini 文件中(在基于 BIOS 的操作系统中)或位于稳定 RAM 项中(在基于可扩展
固件接口的操作系统中)。可以使用 Bcdedit.exe 在启动配置数据存储中添加、删除、
编辑和附加项。
有关命令和选项的详细信息，请键入 bcdedit.exe /? <command>。
例如，若要显示有关 /createstore 命令的详细信息，请键入:
bcdedit.exe /? /createstore
有关本帮助文件中按字母顺序排列的主题列表，请运行 "bcdedit /? TOPICS"。
对存储执行的命令
================================
/createstore 新建空的启动配置数据存储。
/export 将系统存储的内容导出到文件。以后可以使用该文件还原系统
存储的状态。
/import 使用 /export 命令创建的备份文件来还原系统存储的状态。 
/sysstore 设置系统存储设备(仅影响 EFI 系统，在重新启动后不再有效，
且仅用于系统存储设备不确定的情况下)。
对存储中的项执行的命令
===========================================
/copy 复制存储中的项。
/create 在存储中新建项。
/delete 删除存储中的项。
/mirror 创建存储中项的镜像。
运行 bcdedit /? ID 可获得有关这些命令使用的标识符的信息。
对项选项执行的命令
======================================
/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 /createstore <filename>
此命令新建空的启动配置数据存储。创建的存储不是系统存储。
<filename> 指定启动配置数据存储的文件名。如果文件名包含空格，则必须
将其括在引号("")中。
示例:
下列命令创建指定的存储文件:
bcdedit /createstore C:\DATA\BCD
-------------------------------------------------------------- 
bcdedit /export <filename>
此命令将系统存储的内容导出到文件。以后可以使用此文件还原系统存储的状态。
此命令仅对系统存储有效。
<filename> 将用作导出目标的文件名。如果文件名包含空格，则必须将其
括在引号("")中。
示例:
下列命令将系统存储导出到指定的文件:
bcdedit /export "C:\Data\BCD Backup"
-------------------------------------------------------------- 
bcdedit /import <filename> [/clean]
此命令使用以前使用 /export 命令生成的备份数据文件
还原系统存储的状态。在进行导入前，
将删除系统存储中的所有现有项。此命令
仅对系统存储有效。
<filename> 将导入系统存储的文件的名称。
如果文件名包含空格，则必须将其
括在引号("")中。
/clean 指定应删除所有现有固件启动项
(仅影响 EFI 系统)。
示例:
以下命令将指定的文件导入系统存储。
bcdedit /import "C:\Data\BCD Backup" /clean
-------------------------------------------------------------- 
bcdedit /sysstore <devicename>
此命令用于设置系统存储设备。对于 EFI 系统，仅在系统存储设备不确定的
情况下，此命令才有效。此设置在重新启动后不再有效。
<devicename> 要设置为系统存储设备的系统分区的名称。
该设备必须是系统分区。
示例:
下列命令将系统存储设备设置为指定设备:
bcdedit /sysstore C:
-------------------------------------------------------------- 
此命令创建指定启动项的副本。
bcdedit [/store <filename>] /copy {<id>} /d <description>
<filename> 指定要使用的存储。如果未指定此选项，则使用系统存储。
有关详细信息，请运行 "bcdedit /? store"。
<id> 指定要复制的项的标识符。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
<description> 指定要用于新项的描述。
示例:
下列命令创建指定操作系统启动项的副本:
bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
-------------------------------------------------------------- 
此命令在启动配置数据存储中创建新项。如果指定已知的标识符，则无法指定
/application、/inherit 和 /device 选项。如果未指定 <id>，或 <id> 未知，
则必须指定一个 /application、/inherit 或 /device 选项。
bcdedit /create [{<id>}] [/d <description>] [/application <apptype> |
/inherit [<apptype>] | /inherit DEVICE | /device]
<id> 指定新项要使用的标识符。有关标识符的详细信息，
请运行 "bcdedit /? ID"。
<description> 指定要应用于新项的描述。
/application <apptype> 指定新项必须是应用程序项。<apptype> 指定应用程序
类型。<apptype> 可以是下列类型之一:
BOOTSECTOR
OSLOADER
RESUME
STARTUP
如果使用其他应用程序类型而不是这些类型，
则还必须指定已知的标识符。
/inherit [<apptype>] 指定新项必须是继承项，<apptype> 指定应用程序类型。
如果未指定 <apptype>，则任何项都可以继承该项。
如果已指定，则 <apptype> 可以是下列类型之一:
BOOTMGR
BOOTSECTOR
FWBOOTMGR
MEMDIAG
NTLDR
OSLOADER
RESUME
修饰符防止 <apptype> 的应用程序项继承该继承项 。
/inherit DEVICE 指定新项必须是继承项，且该项只能由设备选项的项
继承。
/device 指定新项必须是附加设备选项的项。
示例:
下列命令创建基于 NTLDR 的 OS 加载程序项(Ntldr):
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
下列命令创建 RAM 磁盘附加选项的项:
bcdedit /create {ramdiskoptions}
下列命令创建新的操作系统启动项:
bcdedit /create /d "Windows Vista" /application osloader
下列命令创建新的调试程序设置项:
bcdedit /create {dbgsettings}
-------------------------------------------------------------- 
此命令删除启动配置数据存储中的项。
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup | /nocleanup]
<filename> 指定要使用的存储。如果未指定
此选项，则使用系统存储。
有关详细信息，请运行 "bcdedit /? store"。
<id> 指定要删除的启动项的标识符。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
/f 删除指定的项。如果没有此选项，
则 Bcdedit 将无法删除任何具有
已知标识符的项。
/cleanup 删除指定的项，并从
显示顺序中删除该项。并将从存储中删除
任何其他涉及到所删除项的项目。
删除 OS 加载器项时，如果任何
其他 OS 加载器没有引用该项，
还将删除从休眠中恢复的关联项。
如果未指定 /nocleanup，则认为使用此选项。
/nocleanup 删除指定的项，但不从显示顺序
中删除该项。
示例:
下列命令删除存储中指定的操作系统项，并从显示顺序中删除该项:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
下列命令删除存储中指定的操作系统项，并从显示顺序中删除该项:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
下列命令删除存储中指定的操作系统项，但不从显示顺序中删除该项:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
下列命令删除存储中基于 NTLDR 的 OS 加载器项:
bcdedit /delete {ntldr} /f
-------------------------------------------------------------- 
该命令创建指定启动项的镜像。
bcdedit [/store <filename>] /mirror {<id>}
<filename> 指定要使用的存储。如果未指定该选项，则使用系统存储。
有关详细信息，请运行 "bcdedit /? store"。
<id> 指定要镜像的项目的标识符。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
示例:
以下命令创建指定操作系统启动项的镜像:
bcdedit /mirror {cbd971bf-b7b8-4885-951a-fa03044f5d71}
-------------------------------------------------------------- 
标识符
很多 Bcdedit 命令需要标识符。标识符可以唯一标识存储中包含的项。标识符采取
全局唯一标识符的形式，或称为 GUID。GUID 具有以下格式，其中每个“x”代表
一个十六进制数。
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
例如:
{d2b69192-8f14-11da-a31f-ea816ab185e9}
破折号(-)的放置以及 GUID 开头和结尾的括号是必需的。
已知标识符可以标识多个项。如果某个项具有已知标识符，则 BCDedit 将其显示
在输出中，除非使用了 /v 命令行开关。
有关详细信息，请运行 "bcdedit /? /v"。
已知标识符如下所示:
{bootmgr} 指定 Windows 启动管理器项。
{fwbootmgr} 指定固件启动管理器项，特别是在实现可扩展固件 
接口(EFI)规格的系统上。
{memdiag} 指定内存诊断应用程序项。
{ntldr} 指定可用于启动早于 Windows Vista 版本的操作
系统的 OS 加载程序(Ntldr)。 
{current} 指定与当前运行的操作系统的操作系统启动项 
对应的虚拟标识符。
{default} 指定与启动管理器默认应用程序项对应的虚拟
标识符。 
{ramdiskoptions} 包含启动管理器所需的其他的 RAM 磁盘设备
选项。
{dbgsettings} 包含可由任意启动应用程序项继承的全局调试
程序设置。
{emssettings} 包含可由任意启动应用程序项继承的全局紧急
管理服务设置。 
{badmemory} 包含可由任意启动应用程序项继承的全局 RAM
故障列表。
{globalsettings} 包含所有启动应用程序项应继承的全局设置的
集合。
{bootloadersettings} 包含所有 Windows 启动加载程序应用程序项
应继承的全局设置的集合。
{resumeloadersettings} 包含所有 Windows 从休眠状态恢复应用程序项
应继承的全局设置的集合。
{hypervisorsettings} 包含可由任意 OS 加载程序项继承的虚拟机
监控程序设置。
-------------------------------------------------------------- 
此命令从启动配置数据存储的项中删除数据元素。
bcdedit [/store <filename>] /deletevalue [<id>] <datatype>
<filename> 指定要使用的存储。如果未指定此选项，则使用系统存储。
有关详细信息，请运行 "bcdedit /? store"。
<id> 指定要修改的项的标识符。如果未指定，则使用 {current}。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
<datatype> 指定要从指定项中删除的选项。
有关数据类型的详细信息，请运行 "bcdedit /? TYPES"。
示例:
下列命令删除启动管理器项中的 bootsequence 选项:
bcdedit /deletevalue {bootmgr} bootsequence
下列命令删除当前操作系统启动项的 Windows 预安装环境(WinPE)值:
bcdedit /deletevalue winpe
下列命令删除指定操作系统启动项的 Windows PE 值:
bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
-------------------------------------------------------------- 
此命令设置引导配置数据存储中的项选项值。
bcdedit [/store <filename>] /set [{<id>}] <datatype> <value> [ /addfirst | /addlast | /remove ]
<filename> 指定要使用的存储。如果未指定此选项，则使用系统存储。
有关详细信息，请运行 "bcdedit /? store"。
<id> 指定要修改的项的标识符。如果未指定，则使用 {current}。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
<datatype> 指定将创建或修改的选项数据类型。
有关数据类型的详细信息，请运行 "bcdedit /? TYPES"。
<value> 指定应分配给该选项的值。<value> 的格式取决于指定的数据类型。
有关数据格式的详细信息，请运行 "bcdedit /? FORMATS"。
/addfirst 仅当数据类型是对象列表时才能使用此开关。
将指定的项标识符添加到列表的顶部。
如果已指定此开关，则只能指定一个项标识符。
如果所指定的标识符已在列表中，请将它移到列表顶部。
/addlast 仅当数据类型是对象列表时才能使用此开关。
将指定的项标识符添加到列表的结尾。
如果已指定此开关，则只能指定一个项标识符。
如果所指定的标识符已在列表中，它将被移到列表结尾。
/remove 仅当数据类型是对象列表时才能使用此开关。
请从列表中删除指定的项标识符。
如果已指定此开关，则只能指定一个项标识符。
如果此标识符不在列表中，则操作无效。
如果正在删除最后一项，则此数据类型值也将被删除。
示例:
对于指定的操作系统项，下列命令将应用程序设备设置到 C: 分区:
注意: 使用 "hd_partiton=" 语法显式禁用自动 VHD 检测，并
创建与启动虚拟机兼容的项目，例如，
bcdedit /store Footcd /set {default} device hd_partition=F:
对于指定的操作系统项，下列命令将操作系统设备设置到 VHD 文件(C:\vdisks\vdisk01.vhd)
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} osdevice
vhd=[C:]\vdisks\disk01.vhd
对于指定的操作系统项，下列命令将应用程序路径设置到 \windows\system32\winload.exe:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path
\windows\system32\winload.exe
对于当前的操作系统启动项，下列命令将 NX 策略设置到 OptIn。
bcdedit /set nx optin
-------------------------------------------------------------- 
类型
/set 和 /deletevalue 命令要求将 <datatype> 作为参数。
<datatype> 唯一标识数据格式及值的意义。
数据类型是使用名称或自定义类型标识的。下面列出了
名称及其数据格式(在括号中)以
及自定义类型的简短描述。如果未指定格式，则描述列出可用于该类型的文本值。有关
数据格式的详细信息，请运行 "bcdedit /? formats"。
以下类型对所有项都是有效的。有关特定项(如启动管理器项或 Windows OS 加载器项)
特有的类型的信息，请参阅此帮助主题末尾。
项
=======
DESCRIPTION (字符串) 定义项描述。
PATH (字符串) 定义应用程序路径。
DEVICE (设备) 定义应用程序所驻留的设备。
INHERIT (列表) 定义要继承的项的列表。
有关设备对象的附加类型的信息，请运行 "bcdedit /? TYPES DEVOBJECT"。
有关特定应用程序的附加类型的信息，
请运行 "bcdedit /? TYPES <apptype>"，其中 <apptype> 为以下其中一项:
BOOTAPP 启动应用程序。这些类型也应用于启动管理器、
内存诊断应用程序、Windows OS 加载器和恢复
应用程序。
BOOTMGR 启动管理器。
BOOTSECTOR 启动扇区应用程序。
CUSTOMTYPES 自定义类型。
DEVOBJECT 设备对象附加选项。
FWBOOTMGR 固件启动管理器
MEMDIAG 内存诊断应用程序
NTLDR 以前的 Windows OS 版本附带的 OS 加载器
OSLOADER Windows Vista OS 加载器
RESUME 恢复应用程序
-------------------------------------------------------------- 
以下选项描述了与 /set 命令共同使用的 <datatypes> 所必需的数据格式。
所需的格式取决于使用 /set 命令指定的 <datatypes>。有关与
每个 <datatype> 关联的格式的详细信息，请运行 "bcdedit /? TYPES"。
布尔 布尔值。以下值与 TRUE 对应:
1、ON、YES、TRUE
以下值与 FALSE 对应:
0、OFF、NO、FALSE
设备 设备可以是以下其中一个类型:
BOOT
PARTITION=<drive>
HD_PARTITION=<drive>
FILE=[<parent>]<path>
RAMDISK=[<parent>]<path>,<optionsid>
VHD=[<parent>]<path>,<locatecustom>
这些类型的选项为:
<drive> 带有冒号并且尾部不带反斜杠的驱动器号。
<parent> (必需)可以是 BOOT、LOCATE 或带有冒号的驱动器号。
方括号是语法的文本部分，而不表示是可选项。
<path> 从父设备根开始的文件路径(或 .wim 文件)。
<optionsid> 设备选项的标识符，该选项项包含 RAM 磁盘的
系统部署映像(SDI)选项。这通常
是 {ramdisksdioptions}.
<locatecustom> 提供用于在 VHD 中找到设备的可选元素。
设备的默认位置元素是其应用程序路径
(osdevice 的位置元素为 systemroot)。
必须使用自定义元素语法来指定自定义值
(请参阅 -help 类型的自定义类型)，
例如: locate=custom:22000002。
id 项标识符，它引用启动配置数据存储中的项。有关标识符的详细信息，
请运行 "bcdedit /? ID"。
整数 64 位整数类型。可以使用枚举的值设置某些整数类型。
整数列表 以空格分隔的一个或多个 64 位整数的列表。
该列表不应置于引号中。
列表 项标识符列表。它包含以空格分隔的一个或多个项标识符。
该列表不应置于引号中。
字符串 文本字符串。如果它包含空格，则应该置于引号("")中。
-------------------------------------------------------------- 
此命令列出存储中的项。/enum 命令为默认值，因此，运行没有参数的 "bcdedit" 等同于
运行 "bcdedit /enum ACTIVE"。
bcdedit [/store <filename>] /enum [<type> | <id>] [/v]
<filename> 指定要使用的存储。如果未指定此选项，则使用系统存储。有关详细信息，
请运行 "bcdedit /? store"。
<type> 指定要列出的项的类型。<type> 可以是下列类型之一:
ACTIVE 启动管理器显示顺序中的所有项。这是默认值。
FIRMWARE 所有固件应用程序。
BOOTAPP 所有启动环境应用程序。
BOOTMGR 启动管理器。
OSLOADER 所有操作系统项。
RESUME 全部从休眠项中恢复。
INHERIT 所有继承项。
ALL 所有项。
<id> 指定要列出的项的标识符。如果已提供标识符，则仅列出指定的对象。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
/v 完整显示项标识符，而不是使用已知标识符的名称。
示例:
下列命令列出所有操作系统加载器启动项:
bcdedit /enum OSLOADER
下列命令列出所有启动管理器项:
bcdedit /enum BOOTMGR
下列命令仅列出默认的启动项:
bcdedit /enum {default}
下列命令仅列出指定的操作系统启动项:
bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
-------------------------------------------------------------- 
通常，任何已知的项标识符会用方便记忆的缩写形式来替换。指定 /v 为命令行参数
可阻止此替换，并完整显示所有标识符。单独运行 "bcdedit /v" 等同于
运行 "bcdedit /enum ACTIVE /v"。
bcdedit /v
示例:
下列命令列出系统存储中的活动项及所有显示完整的项标识符。
bcdedit /enum ACTIVE /v
-------------------------------------------------------------- 
此命令设置启动管理器使用的一次性启动序列。
bcdedit /bootsequence <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] 指定组成启动序列的标识符列表。必须至少指定一个标识符，
且必须使用空格分隔标识符。有关标识符的详细信息，请运
行 "bcdedit /? ID"。
/addfirst 将指定的项标识符添加到启动序列的顶部。如果已指定此参
数，则只能指定一个项标识符。如果列表中已存在该标识符，
则将其移动到列表顶部。
/addlast 将指定的项标识符添加到启动序列的末尾。如果已指定此参
数，则只能指定一个项标识符。如果列表中已存在该标识符，
则将其移动到列表末尾。
/remove 从启动序列中删除指定的项标识符。如果已指定此参数，则
只能指定一个项标识。如果该标识符不在列表中，则该操作
不起作用。如果删除最后一项，则启动序列值将会从启动管
理器项中删除。
示例:
下列命令设置启动管理器一次性启动序列中的两个 OS 项和基于 NTLDR 的 OS 加
载器:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
下列命令将指定的 OS 项添加到启动管理器一次性启动序列的末尾:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
-------------------------------------------------------------- 
此命令设置超时过期时启动管理器将使用的默认项。
bcdedit /default <id>
<id> 指定超时过期时将用作默认项的启动项的标识符。
有关标识符的详细信息，请运行 "bcdedit /? ID"。
示例:
下列命令将指定项设置为默认的启动管理器项:
bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
下列命令将基于 NTLDR 的 OS 加载器设置为默认项:
bcdedit /default {ntldr}
-------------------------------------------------------------- 
此命令设置启动管理器使用的显示顺序。
bcdedit /displayorder <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] 指定组成显示顺序的标识符列表。必须至少指定一个标识符，且必须使用
空格分隔标识符。有关标识符的详细信息，请运行 "bcdedit /? ID"。
/addfirst 将指定的项标识符添加到显示顺序的顶部。如果已指定此参数，则只能指定
一个项标识符。如果列表中已存在指定的标识符，则将其移动到列表顶部。
/addlast 将指定的项标识符添加到显示顺序的末尾。如果已指定此参数，则只能指定
一个项标识符。如果列表中已存在指定的标识符，则将其移动到列表末尾。
/remove 从显示顺序中删除指定的项标识符。如果已指定此参数，则只能指定
一个项标识符。如果该标识符不在列表中，则该操作不起作用。如果删除
最后一项，则显示顺序值将会从启动管理器项中删除。
示例:
下列命令设置启动管理器显示顺序中的两个 OS 项以及基于 NTLDR 的 OS 加载器:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
下列命令将指定的 OS 项添加到启动管理器显示顺序的末尾:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
-------------------------------------------------------------- 
此命令设置启动管理器选择默认项以前等待的时间，以秒为单位。
有关设置默认项的详细信息，请运行 "bcdedit /? default"。
bcdedit /timeout <timeout>
<timeout> 指定启动管理器选择默认项以前等待的时间，以秒为单位。
示例:
下列命令将启动管理器 <timeout> 设置为 30 秒:
bcdedit /timeout 30
-------------------------------------------------------------- 
bcdedit /toolsdisplayorder <id> [...] [ /addfirst | /addlast | /remove ]
此命令将设置显示工具菜单时启动管理器使用的显示顺序。
<id> [...] 指定组成工具显示顺序的标识符的列表。至少必须指定一
个标识符，标识符之间必须用空格隔开。有关标识符的详
细信息，请运行 "bcdedit /? ID"。
/addfirst 将指定的项标识符添加到工具显示顺序顶部。如果指定此
开关，则只能指定单个项标识符。如果指定的标识符已经
存在于列表中，则将其移动到列表顶部。
/addlast 将指定的项标识符添加到工具显示顺序末尾。如果指定此
开关，则只能指定单个项标识符。如果指定的标识符已经
存在于列表中，则将其移动到列表末尾。
/remove 将指定的项标识符从工具显示顺序中删除。如果指定此开
关，则只能指定单个项标识符。如果列表中不存在该标识
符，则操作无效。如果正在删除最后一个项，则工具显示
顺序值将从启动管理器项中删除。
示例:
以下命令在启动管理器的工具显示顺序中设置了两个工具项及内存诊断:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
以下命令将指定的工具项添加到启动管理器的工具显示顺序末尾:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
-------------------------------------------------------------- 
此命令启用或禁用指定项的紧急管理服务。
bcdedit /bootems [<id>] { ON | OFF }
<id> 指定要修改的项的标识符。尽管此命令适用于任何项，但仅对启动应用程序有效。
示例:
下列命令启用启动管理器的紧急管理服务:
bcdedit /bootems {bootmgr} ON
-------------------------------------------------------------- 
此命令启用或禁用指定操作系统启动项的紧急管理服务。
bcdedit /ems [<id>] { ON | OFF }
<id> 指定要修改的项的标识符。只能指定“Windows 启动加载器”项。如果未指定，则
使用 {current}。有关标识符的详细信息，请运行 "bcdedit /? ID"。
示例:
下列命令启用当前操作系统启动项的紧急管理服务:
bcdedit /ems ON
-------------------------------------------------------------- 
此命令设置系统的全局紧急管理服务设置。Emssettings 不会对任何特定启动项
启用或禁用紧急管理服务。
bcdedit /emssettings [ BIOS ] | [ EMSPORT:<port> | [EMSBAUDRATE:<baudrate>] ]
BIOS 指定系统对紧急管理服务配置使用 BIOS 设置。这只能在 BIOS 提供支持紧急管理
服务的系统上运行。
<port> 指定要用作紧急管理服务端口的串行端口。此选项不应与 BIOS 选项一起指定。
<baudrate> 指定紧急管理服务使用的串行波特率。此命令不应与 BIOS 选项一起指定。
<baudrate> 是可选项，默认值为 9,600 波特。
示例:
下列命令将紧急管理服务参数设置为使用 BIOS 设置:
bcdedit /emssettings BIOS
下列命令将紧急管理服务参数设置为使用 com2: 115,200 波特。
bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
-------------------------------------------------------------- 
此命令启用或禁用指定启动项的启动调试程序。尽管此命令适用于任何项，
但仅对启动应用程序有效。
bcdedit /bootdebug [<id>] { ON | OFF }
<id> 指定要修改的项的标识符。有关标识符的详细信息，请运行 "bcdedit /? ID"。
示例:
下列命令为当前操作系统启动项的 Windows 操作系统加载器启用启动调试:
bcdedit /bootdebug ON
下列命令禁用 Windows 启动管理器的启动调试:
bcdedit /bootdebug {bootmgr} OFF
-------------------------------------------------------------- 
此命令设置或显示系统的全局调试程序设置。
此命令不会启用或禁用任何特定启动项的调试程序。
若要启用或禁用特定启动项的调试程序，请使用
"bcdedit /debug < identifier> ON"。有关标识符的
详细信息，请运行"bcdedit /? ID"。
若要设置单个全局调试程序设置，请使用
"bcdedit /set {dbgsettings} <type> <value>"。
有关有效类型的信息，请运行 "bcdedit /? TYPES"。
bcdedit /dbgsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] [TARGETNAME:<targetname>]
/start <startpolicy> /noumex ]
<debugtype> 指定调试程序的类型。<debugtype> 可以是 SERIAL、1394
或 USB 之一。
<port> 对于 SERIAL 调试，指定要用作调试端口
串行端口。这是可选设置。
<baud> 对于 SERIAL 调试，指定用于调试的
波特率。这是可选设置。
<channel> 对于 1394 调试，指定用于调试的
1394 通道。
<targetname> 对于通用串行总线(USB)调试，指定用于调试的
USB 目标名称。
/start <startpolicy> 对于所有调试程序类型，此选项会指定
调试程序启动策略。 <startpolicy> 可以是下列策略之一:
ACTIVE
AUTOENABLE
DISABLE.
如果未指定，则默认值为 ACTIVE。
/noumex 如果指定，这将导致内核调试程序忽略任何
用户模式例外。
示例:
下列命令显示当前的全局调试程序设置:
bcdedit /dbgsettings
下列命令设置全局调试程序设置在 com1 上以 115,200 波特
进行串行调试:
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
下列命令设置全局调试程序设置使用通道 23
进行 1394 调试:
bcdedit /dbgsettings 1394 CHANNEL:23
下列命令设置全局调试程序设置使用目标名称 DEBUGGING
进行 USB 调试:
bcdedit /dbgsettings USB TARGETNAME:DEBUGGING
-------------------------------------------------------------- 
此命令启用或禁用指定启动项的内核调试程序。
bcdedit /debug [<id>] { ON | OFF }
<id> 指定要修改的项的标识符。只能指定 Windows 启动加载器项。如果未指定，
则使用 {current}。有关标识符的详细信息，请运行 "bcdedit /? ID"。
示例:
下列命令启用当前 Windows 操作系统启动项的内核调试:
bcdedit /debug ON
下列命令禁用指定操作系统项的内核调试:
bcdedit /debug {cbd971bf-b7b8-4885-951a-fa03044f5d71} OFF
-------------------------------------------------------------- 
此命令用于设置或显示系统的虚拟机监控程序设置。
此命令不为任何特定的 OS 加载程序项启用或禁用
虚拟机监控程序调试程序。若要为特定的 OS 加载程序项启用或禁用虚拟机
管理程序调试程序，请使用 "bcdedit /set <identifier> HYPERVISORDEBUG ON"。
有关标识符的信息，请运行 "bcdedit /? ID"。
若要设置单个虚拟机监控程序调试程序设置，请使用
"bcdedit /set {hypervisorsettings} <type> <value>"。有关有效类型
的信息，请运行 "bcdedit /? TYPES"。
bcdedit /hypervisorsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] ]
<debugtype> 指定调试程序的类型。<debugtype> 可以是
SERIAL 或 1394 之一。
<port> 对于 SERIAL 调试，指定要用作
调试端口的串行端口。
<baud> 对于 SERIAL 调试，指定用于
调试的波特率。
<channel> 对于 1394 调试，指定用于
调试的 1394 通道。
示例:
以下命令用于显示当前虚拟机监控程序设置:
bcdedit /hypervisorsettings 
以下命令用于将虚拟机监控程序调试程序设置设置为通过 COM1 进行
串行调试，波特率为 115,200:
bcdedit /hypervisorsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
以下命令用于将虚拟机监控程序调试程序设置设置为使用通道 23 
进行 1394 调试:
bcdedit /hypervisorsettings 1394 CHANNEL:23
-------------------------------------------------------------- 
[1]