二、bcdedit /set命令
编辑BCD存储时最常用的命令是bcdedit /set,下面用两个实例说明bcdedit /set命令
Bcdedit [/store 文件名] /set [id] 数据类型 值
为一个指定的启动项新建一个元素或修改一个已有的元素。
/store 文件名:可选。指定BCD存储。默认系统BCD存储
id:可选。要修改的启动项的标识符。默认{current}
数据类型:必需。要创建或修改的BCD元素。不同的启动项有不同的BCD元素
:必需。BCD元素的值。值的格式取决于BCD元素。
例如:bcdedit /set nx optin
此命令将当前Window boot loader对象的nx元素设置为optin,即将操作系统的DEP(数据执行保护)设置为只为操作系统组件(包括操作系统内核和驱动程序)启用DEP
Bcdedit /set命令涉及到的数据类型很多,使用bcdedit /? types apptype命令查看指定启动项关联的BCD元素
apptype指定显示启动项
常见的数据类型:
l  bootapp:所有启动应用程序
l  bootmgr:启动管理器
l  devobjectdevice对象
l  memdiag:内存诊断应用程序
l  osloaderWindows启动加载器({current}{default}
l  resume:休眠恢复应用程序
l  customtypes:自定义数据类型
l  ntldrNTLDR
l  bootsector:启动扇区应用程序,启动扇区应用程序允许Windows启动管理器启动一个与非Windows操作系统关联的16位实模式应用程序
每个数据类型(BCD元素)的值有不同的格式,使用bcdedit /? formats命令查看
l  布尔:可能的取值为true1onyes)或false0offno
l  设备:可能的取值为bootpartition=<drive>file=[<parent>]<path>ramdisk=[<parent>]<path>,<optionsid>
l  id:启动项标识符
l  整数:64位整数
l  整数列表:以空格分隔的一个或多个64位整数的列表
l  列表:启动项标识符列表
l  字符串:文本字符串
下面使用《Windows PE用户指南》中的一个例子详细解释bcdedit.exe
1、操作实例:从CD-ROM启动Windows PE
详细介绍bcdedit命令的用法,其他步骤简要列出
步骤1:设置Windows PE构建环境
步骤2:添加启动支持
步骤3:可选。添加其他自定义
步骤4:配置BCD存储
del c:\winpe_x86\mount\boot\bcd
删除装载到c:\winpe_x86\mount文件夹中的Windows PE映像的启动配置数据存储(\boot\bcd),以自定义Windows PE映像的启动配置数据
bcdedit /createstore c:\winpe_x86\mount\boot\bcd
为装载到c:\winpe_x86\mount文件夹中的Windows PE映像新建一个空的启动配置数据存储文件
bcdedit /store c:\winpe_x86\mount\boot\bcd /create {bootmgr} /d “Boot Manager”
在新建的空白启动配置数据存储中新建一个BCD对象(启动项 – Windows启动管理器)。必须指定要使用的BCD存储,如果不指定,修改的技术人员计算机的系统BCD存储
bcdedit /store c:\winpe_x86\mount\boot\bcd /set {bootmgr} device boot
指定Windows PEWindows启动管理器(bootmgr)位于启动设备(在此例中为光盘驱动器)
bcdedit /store c:\winpe_x86\mount\boot\bcd /create /d “WINPE”/application osloader
Windows PE的启动配置数据存储中新建一个application对象(启动项 – Windows启动加载器)。由于没有指定新建的启动项的标识符,bcdedit新建一个GUID作为此启动项的标识符
bcdedit /store c:\winpe_x86\mount\boot\bcd /set <GUID> osdevice boot
bcdedit /store c:\winpe_x86\mount\boot\bcd /set <GUID> systemroot \windows
指定Windows PE操作系统文件位于启动设备(此例中为光盘驱动器)的windows文件夹
bcdedit /store c:\winpe_x86\mount\boot\bcd /set <GUID> device boot
bcdedit /store c:\winpe_x86\mount\boot\bcd /set <GUID> path \winodws\system32\winload.exe
指定Windows启动加载器是位于启动设备(此例中为光盘驱动器)的\windows\system32\winload.exe
bcdedit /store c:\winpe_x86\mount\boot\bcd /set <GUID> winpe yes
计算机启动时能够启动到Windows PE
bcdedit /store c:\winpe_x86\mount\boot\bcd /displayorder  <GUID> /addlast
Windows启动加载器添加到启动菜单最后
步骤5:创建一个可启动CD-ROMDVD-ROM
 
进行测试
可以看出,Windows PE直接从光盘启动,而没有启动到Windows PE RAM磁盘,说明修改Windows PE的启动配置数据(BCD)成功!