BCD要比XP的Bootmgr强大得多,因此你还能够用它做其它很多的事。不过BCDEdit是比较难理解与使用的,BCD中管理启动数据的规则也要比你所想象的更为复杂得多。使用Bcdedit.exe,用户可以在Windows Server 2008中创建一个BCD存储,也可以为现有BCD存储添加新的登录项,修改或者删除现有登录项,此外,Bcdedit.exe工具还可以导入导出现有的Bcd存储,查询指定项以及应用全局修改。
新的引导环境被分为两个部分,Windows Boot Manager 和引导环境中运行的多种引导应用程序。Windows Boot Manager简单的说就是一个迷你的操作系统,这个系统控制着用户的引导过程,并且允许用户选择哪个引导应用程序需要运行。每个引导应用程序都有着自己的不同的作用,例如Windows Boot Loader应用程序就是用来引导Windows的。
当用户使用/enum参数时,用户可以看到一个Windows Boot Manager登录(因为只有一个boot manager),对于每个Windows Server 2008 或者Windows Vista操作系统用户还可以看到对应的Windows Boot Loader应用程序。例如,如果用户在计算机的不同分区中安装了两个不同版本的Windows Vista操作系统,那么用户就可以看到两个Windows Boot Loader登录。此外,用户还可以看到一个legacy登录,这个登录并不是一个引导应用程序,而是使用NTLDR以及Boot.ini来引导Windows Server 2008 以前的操作系统,例如Windows Server 2003, Windows XP以及更早的操作系统。

当用户需要在已经安装了Windows Server 2008 或者Windows Vista的计算机上安装早期的Windows 操作系统时,用户需要按照下面的步骤依次进行:首先安装早期的Windows系统,然后登录到旧的操作系统上,通过运行活动分区中\boot目录下的fixntfs /lh 来恢复最新的boot manager。然后为旧的操作系统创建一个BCD登录,找到定位在\Windows\System32目录下的Bcdedit.exe,然后输入下面的命令:
Bcdedit /create ...{legacy} /d “Description”
Bcdedit /set ...{legacy} device boot
Bcdedit /set ...{legacy} path \ntldr
Bcdedit /displayorder ...{legacy} /addlast
注意Description代表的是旧操作系统新的登录的描述.
bcdedit /create ...{ramdiskoptions} /d "Ramdisk options"
bcdedit /set ...{ramdiskoptions} ramdisksdidevice partition=Drive
bcdedit /set ...{ramdiskoptions} ramdisksdipath \boot\boot.sdi
注意Drive代表的是包含镜像的分区
bcdedit /set ...{GUID} device ramdisk=[c:]\sources\boot.wim,...{ramdiskoptions}
bcdedit /set ...{GUID} path \windows\system32\winload.exe
bcdedit /set ...{GUID} osdevice ramdisk=[c:]\sources\boot.wim,...{ramdiskoptions}
bcdedit /set ...{GUID} systemroot \windows
bcdedit /set ...{GUID} winpe yes
bcdedit /set ...{GUID} detecthal yes
· bcdedit /export “D:\BCD Backup\Bcd Backup : 将启动设置备份到D盘 “BCD Backup” 目录下;
· bcdedit /import “D:\BCD Backup\Bcd Backup : 恢复之前备份在D盘 “BCD Backup”目录下启动选项。
作为一种良好的操作习惯,在对Windows Server 2008的启动选项进行任何修改前,首先要对BCD中的启动选项进行备份,相应的命令上面已经介绍过,在此不再赘述;其次,使用“bcdedit ”或“ bcdedit /enum all ”来查看系统中硬盘或分区的正确 GUID 标识,并将其记录下来。毕竟,BCDEdit只是一款命令行工具,我们操作时需手动输入类似“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”这样的长字符串时,很容易出错,而这往往会导致Windows Vista启动失败。
此外如果用户需要改变特定的登录选项的debugger设置,可以按照下面的步骤操作:
要设计一个连续的debugging:
bcdedit /set ...{GUID} debugtype:serial
bcdedit /set ...{GUID} baudrate:Baudrate
bcdedit /set ...{GUID} debugport:Port
要设置一个USB的debugging:
bcdedit /set ...{GUID} debugtype:usbbcdedit /set ...{GUID} targetname:debugging
要设置1394的debugging:
bcdedit /set ...{GUID} debugtype:1394bcdedit /set ...{GUID} targetname:32
下面的命令行演示的是为c74b751a-ff09-11d9-9e6e-0030482375e4在115200波特com1端口设置连续debugging:
Bcdedit /set ...{c74b751a-ff09-11d9-9e6e-0030482375e4} debugtype:serial
Bcdedit /set ...{c74b751a-ff09-11d9-9e6e-0030482375e4} baudrate:115200
Bcdedit /set ...{c74b751a-ff09-11d9-9e6e-0030482375e4} debugport:1