微软下一代桌面操作系统已经正式定名为Windows 7。然而,这个 7 并不是代表Windows 7的核心 版本已经从Windows Vista的 NT 6 升级至 NT 7,而只是代表Windows 7是微软正式发行的桌面 Windows 第七代产品而已。Windows 7 真正的核心版本号仅仅是 NT 6.1,Windows 7 与Windows Vista的关系好比是 Windows XP(NT 5.1)与 Windows 2000(NT 5.0)。时隔多年,Windows 又一次与我们 玩起了文字游戏,以至于有人将Windows 7戏称为“NT 6.1 = Windows 非常 6+1 =Windows 7”。
为了更为直观地理解Windows 7= NT 6+1,不妨从Windows启动管理器的层面看待这个问题。与容易混淆的Windows正式产品名称相比,启动管理器一直是严格按照 Windows 系统的 核心版本加以区分的。这是由于在配置多重操作系统共存时,必须由版本最高的启动管理器负责管理所 有的操作系统,启动管理器只具备向下兼容性、不具备向上兼容性。因此,启动管理器的版本必须严格 按照高低先后的顺序正确排列,而不能像 Windows 的正式名称一样胡乱设置,否则便有可能无法正确配 置多重操作系统共存。
例如,Windows 2000/XP/Server 2003 之所以都叫做 NT 5.X,是因为它 们的启动管理器全部都是 NTLDR 与 BOOT.INI。在配置 Windows 2000/XP/Server 2003 彼此之间的多系 统共存时,每一个操作系统都是由 NTLDR 与 BOOT.INI 统一管理的,大家是平起平坐的关系。而做为 NT 6.X 的Windows Vista/Server 2008 则采用了 BOOTMGR 与 BCD 的新式启动管理器,在配置Windows Vista/Server 2008 与 Windows 2000/XP/Server 2003 的多系统共存时,BOOTMGR 将全面负责 计算机的启动管理工作,NTLDR 将沦为 BOOTMGR 的替补。举个例子,假设我们配置了Windows Vista、 Windows XP、Windows Server 2008、Windows Server 2003 四个操作系统的共存,BOOTMGR 启动菜单并 不会把 Windows XP 与 Windows Server 2003 分别列在启动菜单里,而是将它们统一显示为“早 期版本的 Windows”。只有做为 NT 6.X 的Windows Vista与 Windows Server 2008 才有资格在 BOOTMGR 启动菜单中以独立选项的姿态出现。我们只有选择了“早期版本的 Windows”选项 ,由 BOOTMGR 将启动控制权移交给 NTLDR 并自动切换为 NTLDR 菜单,这时才可以继续选择需要启动 Windows XP 还是 Windows Server 2003。换言之,NTLDR 启动菜单就像是 BOOTMGR 启动菜单的子菜单 一样。
现在我们再来看一下Windows 7,当我们在安装有Windows Vista/Server 2008 的计算 机中安装了已经放出的Windows 7预览版后,Windows 7 会将自己添加在 BCD 里,与原有的Windows Vista/Server 2008 实现共存,BOOTMGR 启动菜单将显示Windows 7、Windows Vista/Server 2008 及 早期版本的 Windows(如果有的话)三个选项。换言之,Windows 7 采用的启动管理器依然是 BOOTMGR 与 BCD,它与Windows Vista/Server 2008 是一个平起平坐的关系。
假如Windows 7的核心版 本叫做 NT 7 的话,那么它应该拿出一个版本比 BOOTMGR 与 BCD 更高的新启动管理器才对,由这个新 的启动管理器接管 BOOTMGR 与 BCD 的工作。当然,目前在现实中是不存在这样一个启动管理器的,我 们不妨将其假设为 Loader v7。那么,当我们安装了 Windows NT 7 系统后,Loader v7 将自动取代 BOOTMGR 与 BCD 负责计算机的启动管理,到时候只有符合 NT 7.X 版本的 Windows 系统才有资格以独 立选项的姿态出现在 Loader v7 菜单中,Windows Vista/Server 2008 将被统一显示为“早期版 本的 Windows”、Windows XP/Server 2003 则将被显示为“更早期版本的 Windows” (当然,如果几年以后真的有 Loader v7,到时它究竟还能否向下兼容 Windows XP/Server 2003 恐怕 很难说了)。现在,Windows 7 虽然正式名称叫做 7,但是它却并没有拿出这样一款更高级的 Loader v7 启动管理器,依然只能依靠 BOOTMGR 与 BCD、同Windows Vista/Server 2008 平起平坐,因此Windows 7的核心版本号还没有资格提升到 NT 7 的高度,最多只能叫做 NT 6.1 了。
虽然现在Windows 7仅仅放出了一个预览版,在正式发行前会有什么变化还不好说,但从目前核心版本号已经确 定为 NT 6.1 的情况来看,笔者认为Windows 7的启动管理器不会有什么大变了。可以预见在今后的三 五年内,我们的计算机都将长期使用 BOOTMGR 与 BCD。就像 Windows 2000/XP/Server 2003 可以并列 在一起成为 NT 5.X 系列一样、Windows Vista/Server 2008(包括将来的 R2)/Windows 7 也可以并列 在一起组成一个相对完整的 NT 6.X 家族了。
其实,在Windows 7核心版本号确定之前,笔者 个人还是非常希望Windows 7能够设计新的启动管理器取代 BOOTMGR 与 BCD,真正成为 NT 7 的。现 有的 BOOTMGR 与 BCD 虽然已经很好用,但有一个最大的缺陷就是它始终还是基于纯字符界面的、不是 一个支持鼠标操作的 GUI 界面,叫做 Windows 未免有些名不副实。其它操作系统可是早就实现图形方 式的启动管理器了,这不得不说是一个遗憾。试想如果开机自检后可以出现一个图形化的启动界面,通 过鼠标点击按钮选择操作系统以及安全模式等选项该有多好,期待 NT 7 将来可以实现。目前只有使用 ERD Commander 等第三方启动管理器软件才可以实现这个目的了。