Debugging Tools for Windows |
Windows Vista引入了新的boot loader架构;新的称为引导配置数据(Boot Configuration Data (BCD))的固件无关的引导配置和存储系统;以及新的引导参数编辑工具BCDEdit(bcdedit.exe)。
Windows Vista包含一个新的boot loader组件,使得Windows加载更加快速和安全。传统的Windows NT boot loader——ntldr被三个组件替代:
在这种架构下,Windows 引导管理器是通用的并且不关心每个操作系统的具体要求,而和特定系统相关的boot loader则专门为被它们加载的系统进行优化。
当计算机具有多个引导入口,并至少有一个Windows Vista入口时,根目录下的Windows引导管理器启动系统并和用户交互。它显示出引导菜单,加载被选中的系统相关的boot loader,并将引导参数传递给boot loader。
Boot loader在每个Windows分区的根目录下都存在。当选定之后,boot loader接管引导过程并加载和引导参数一致的操作系统。
在Windows Vista和之后版本Windows中,引导选项在基于BIOS和EFI的机器上都存储在引导配置数据(BCD)中。
BCD代替了基于BIOS的系统中传统的boot.ini文件。将引导参数存放在文本文件中的方式太过简单,所以在正常使用情况下也极易遭受恶意攻击。在将引导选项存放在NVRAM的基于EFI的机器中,也可以和基于BIOS的机器一样使用BCD方法编辑引导选项,从而避免直接使用Windows API或者特定工具直接访问NVRAM。
BCD为所有运行Windows Vista的计算机提供了统一的、固件无关的引导配置接口。它比以往的引导选项存储方式都要安全,因为它允许BCD存储具有保密安全装置,并且可以让管理员为引导选项管理指派权限。BCD在系统运行时和安装时的所有阶段都会起效。甚至可以在电源状态转换时调用BCD并且用它来定义系统从休眠之后唤醒时的引导过程。
你可以远程管理BCD,或者从不同于BCD存储媒介的其他媒介上启动系统,然后再管理它。这种特性对于调试和排错是极为重要的,特别是当BCD存储需要在运行CD、基于USB的存储媒介或者远程的启动修复来重建的时候。
最重要的,BCD容易使用。BCD存储和它的对象-元素(object-and-element)架构,是容易使用的。它使用GUID来精确区分引导相关的程序。
BCD新的数据格式使用了新的引导选项集合。大多数老版本Windows中使用的引导选项,例如/debug, /maxmem,和 /pae都保留下来;但是在某些情况下,他们的名字可能被修改得更符合他们的作用。关于这些引导选项的更多信息,查看BCD 引导选项参考。
如果多个系统被安装到计算机中,并且他们中有一个是Windows Vista或之后版本Windows, Windows引导管理器和早前版本Windows的引导模块一起处理用户交互及对选择的系统的启动。
当一个多重启动计算机被启动,会经历下面一些过程:
编辑Windows Vista及之后版本Windows的引导选项,可以使用BCDEdit(BCDEdit.exe),一个包含在Vista中的工具。在Vista及之后的Windows中不能再使用Bootcfg或Nvrboot编辑引导选项了,尽管可以继续用他们编辑系统中其他早期Windows系统的选项。
要使用BCDEdit,必须是Administrators 组中的一员。BCDEdit 在Windows帮助和支持中有文档描述。
要编程修改Windows Vista及之后版本Windows的引导选项,可以使用Windows管理工具(WMI)针对引导选项的接口。BCD
WMI接口是编程修改引导选项的最好方法。获取更多关于BCD WMI 接口的信息,查看Windows SDK文档中的