windows7操作系统管理启动菜单的bcdedit工具

在NT60系列操作系统(Windows 8/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数据。不过,相信对绝大多数根本不会接触编程的用户而言,这更是不可能的任务。

通过命令行工具Bcdedit,我们可以添加、删除及修改BCD (Boot Configuration Data)中的对象。在BCD中,每个对象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一标识符),如系统中的每块硬盘、每个分区的GUID (全局唯一标识符)均不相同。