Debugging Tools for Windows |
自定义引导选项的第一步就是为某个操作系统添加新的引导入口。引导入口是为操作系统或引导程序定义的一组加载配置。
一个操作系统可以有多个引导入口,每个的参数都可以不同。Windows安装程序在安装系统的时候创建了标准的引导入口,但是还可以通过修改引导选项自己添加新的、自定义的入口。
也可以在Windows 安装程序创建的入口中添加、删除或修改选项。但是最好保持标准入口,而添加一个新的入口来修改。
新建引导入口,可以复制一个已存在的入口再修改它。
可以使用Bootcfg /copy 命令来复制引导入口,这一操作是和固件无关的。
下面的Bootcfg命令将第二个引导入口复制成新的入口。/ID 参数指定被复制的入口的行号,/d (说明)命令指定新入口的友好名,友好名必须用引号括起来。
如果添加过从来不使用的引导入口,一定要删除它们,特别是在使用有限的EFI NVRAM资源的机器上。使用Bootcfg /delete 命令来删除一个不使用的入口。
如果一个系统有多个引导入口,一定要将首选的入口设置为默认入口。更多操作说明,查看修改默认引导入口。
查看完整的Bootcfg操作说明,查看帮助和支持。示例可以查看使用引导参数。
在Boot.ini中添加新入口,可以复制并粘贴某个入口。然后将新入口的友好名修改得在文件和引导菜单中能轻易识别。友好名是在引导入口中被引号括起来的字符串。
例如,下面的Boot.ini文件中,原来的Windows XP入口被复制了一份,并且新入口的友好名被修改了。新创建的入口是用粗体字标识的。
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional - new" /fastdetect
在Windows Vista中使用BCDEdit来修改引导选项。添加新的入口,需要用管理员权限打开一个命令提示符窗口(右键点击命令提示符并在快捷菜单中点击以管理员方式运行)。
使用BCDEdit和/copy参数复制已有的入口。例如,下面的命令中,BCDEdit复制了{current}标识的,最近一次被Windows使用过的引导入口,并创建了新入口。/d参数指定新引导入口的名字为DebugEntry。
如果命令成功,BCDEdit显示类似下面的信息(中文系统上是中文说明。— 译者):
复制了引导菜单上的入口之后,新入口会自动被添加到引导菜单末尾。
前面的信息中的GUID(大括号({})中的内容)是新入口的标识。可以用它来在所有BCDEdit命令中指明该入口
如果该命令失败,确认是否以管理员权限运行命令提示符窗口,以及包括{current}两端的大括号在内的所有命令参数都正确拼写了。
也可以使用/create 选项新建引导入口。例如下面的命令新建了一个名为"My Windows Vista"的引导入口:
使用/create 参数时,新的引导入口不会自动被加入引导菜单。可以用/displayorder 选项将新入口添加到引导菜单中。可以以任何顺序排列引导入口。
查看关于/create命令参数的更多信息,可以在命令提示符窗口键入bcdedit /? /create。
Windows Vista中,新引导入口不会自动添加到引导菜单,可以以任何顺序排列引导入口。
使用/displayorder 选项来设置多重引导菜单中引导管理器显示入口的顺序。该命令语法如下:
ID是引导入口的GUID或类似{current}这样的保留标识。用空格分开每个标识符,并必须包含大括号({})。
例如,使用下面的命令来在{current}之后添加DebugEntry 引导入口:
也可以使用/addlast, /addfirst,和/remove选项来 在菜单中排序或删除条目。例如下面的命令将DebugEntry 引导入口设置为菜单的最后一条:
想验证显示顺序是否正确,可以使用下面的命令:
键入bcdedit 并不使用其它参数时,BCDEdit按照引导菜单中的顺序显示引导管理器入口和引导入口。
Windows引导管理器入口也包含引导菜单显示顺序,如下所示
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
displayorder {current}
{18b123cd-2bf6-11db-bfae-00e018e2b8db}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows Vista
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {d7094401-2641-11db-baba-00e018e2b8db}
nx OptIn
Windows Boot Loader
-------------------
identifier {18b123cd-2bf6-11db-bfae-00e018e2b8db}
device partition=C:
path \Windows\system32\winload.exe
description Debugger Boot
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {d7094401-2641-11db-baba-00e018e2b8db}
nx OptIn
debug Yes