2024年5月10日发(作者:)

Windows系统各版本安装顺序和启动引导知识

Windows系统各版本安装顺序和启动引导知识

Boot Manager 时代的多重引导 -Windows Vista RTM 与 Windows Vista SP1/Server 2008

共存的安装顺序

众所周知,从 Windows Vista 开始,Windows 操作系统的启动管理器采用了全新

的 Boot Manager + BCD,取代了 Windows 2000/XP/Server 2003 一贯采用的 NTLDR +

。Boot Manager 不仅可以管理 Windows Vista 的启动,也可以通过自身将启动控

制权移交给 NTLDR、管理 Windows 2000/XP/Server 2003 的启动。换言之,在 Boot Manager

的帮助下,我们既可以配置多个 Windows Vista 彼此之间的共存、也可以配置 Windows Vista

与 Windows 2000/XP/Server 2003 的共存。

凡是配置过多重操作系统的朋友都知道,安装多重操作系统应该本着“先低

后高”的顺序进行,如果按照“先高后低”的顺序反其道行之,就容易引起

高版本的操作 系统无法启动的故障。例如,在配置 Windows Vista 与 Windows

2000/XP/Server 2003 的共存时,应该先安装 Windows 2000/XP/Server 2003、后安装

Windows Vista;如果我们反其道行之,Windows Vista 就会失去引导能力,届时我们必须手

动恢复 Boot Manager、重建 BCD 才可以修复两者的共存。

而在多个 Windows Vista 彼此之间共存的例子上,这个问题就无所谓了,因为在

Windows Vista SP1/Server 2008 发布之前,Windows Vista 只有 RTM 6.00.16386 这个唯

一的版本,Boot Manager 也只有 16386 这个唯一的版本。无论我们先安装哪个 Windows

Vista、后安装哪个 Windows Vista,Boot Manager 都将是 16386 的版本,因此我们无需考

虑安装顺序的问题。

最近,随着 Windows Vista SP1/Server 2008 的发布,Boot Manager 的版本也随

着 Windows Vista SP1/Server 2008 一起提升到了 6.01.18000。既然 Boot Manager 的版

本不再唯一,它已经有了 16386、18000 两种版本,会不会对多重操作系统的配置带来影响

呢?笔者特意针对这个问题进行了一次测试。这次测试得到了微软工程师 Perry Gu 的大力

帮助,在此向 Perry Gu 表示感谢。 (注:由于 Windows Vista SP1 与 Server 2008 的

版本号都是 6.01.18000,为了叙述方便,笔者下面将这两个系统统称为 Windows 18000,而

将 Windows Vista RTM 称为 Windows 16386) 笔者的疑问: 如果我们按照“

先高后低”的顺序配置 Windows 18000 与 Windows 16386 的共存。那么当我们安装

Windows 16386 时,原先 Windows 18000 已经安装在硬盘中的 18000 版的 Boot Manager 会

不会被 Windows 16386 降级为 16386 版本的 Boot Manager?

参考信息:在 NTLDR 时代,这个问题的答案是会。例如假设我们已经安装了 Windows

XP、现在又开始安装 Windows 2000,那么 Windows 2000 安装程序就会用自己的 NTLDR 取

代 Windows XP 已经安装在硬盘中的 NTLDR,造成 NTLDR 版本降级。因此,当 Windows 2000

安装好之后,虽然多重启动菜单已经自动生成,但 Windows XP 却是无法启动的。此时必须

再将 NTLDR 手动恢复为 Windows XP 的版本,才能令 Windows XP 恢复启动。

正是因为按照“先高后低”的顺序安装会引起 NTLDR 被降级,因此

NTLDR 从 Windows XP SP2 开始新增加了版本检测功能。在 Windows XP SP2 以上的版本中

(例如配置 Windows XP SP2 与 Windows Server 2003 的共存),如果安装程序检测到用户

按照“先高后低”顺序安装了多重系统,就会自动阻止 NTLDR 被降级。

笔者的疑问就是:Boot Manager 是不是也继承了这一特性?如果安装程序发现我先

安装了 Windows 18000、后安装了 Windows 16386,会不会自动阻止 Boot Manager 被降级

呢? 经过一番测试,笔者发现 Boot Manager 确实继承了这一特性。当笔者先安装好了

Windows 18000、后安装了 Windows 16386 时,多重系统共存可以自动形成,Windows 18000

的启动也没有受影响。换言之,Boot Manager 没有被降级。 笔者的结论: 在

配置任何多重操作系统共存时本着“先低后高”的顺序安装,这个大原则 本身是

没有错的。只不过由于高版本的 NTLDR(Windows XP SP2 以上版本)及 Boot Manager 均增

加了阻止自身被降级的功能,所以,假如我们配置的多重操作系统是两个采用了相同的启动

管理器的系统,就可以不用考虑“先低后高”的顺序、按照“先高后 低

”的顺序安装也无所谓了。例如,假如我们配置的是 Windows 18000 与 Windows 16386

的共存(两者的启动管理器都是 Boot Manager)、或者配置的是 Windows XP SP2 与 Windows

Server 2003 的共存(两者的启动管理器都是 NTLDR),那么即使按照“先高后低”

的顺序安装也无妨(当然,Windows 2000 例外,因为它尚不支持阻止自身被降级的功能)。

但是,假如我们配置的多重操作系统是两个启动管理器不相同的系统,那么 就必须严格按照

“先低后高”的顺序安装,否则高版本的系统将肯定无法启动。例如,当我们配

置 Windows Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存时,

如果按照“先高后低”的顺序安装,Windows Vista/Vista SP1/Server 2008 将

肯定无法启动。此时必须手动修复 Boot Manager、重建 BCD 才能恢复多系统共存。

最后,笔者再重复一遍如何修复按照“先高后低”顺序配置的 Windows

Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存。这个问题在微软

新闻组及微软技术论坛中已经被问过 N 遍了。在此我们假设首先在 C 盘安装了 Windows

Vista、然后又在 D 盘安装了 Windows XP。

修复步骤: 1.首先恢复 Boot Manager 的引导。以 Windows Vista 安装光盘直接启

动计算机,进入安装程序后选择“修复计算机”-“命令提示符”,

在命令提示符中执行 BOOTREC /REBUILD 或者 BOOTSECT -NT60 ALL 命令。这两个命令效果

是相同的,用哪个都可以。 2.重新建立 BCD。在命令提示符中执行 BOOTREC /REBUILDBCD

命令,可以重新检测硬盘中所有已存在的 Windows Vista/Server 2008 系统,并自动将其重

新添加到新生成的 BCD 中。 3.由于 BOOTREC /REBUILDBCD 命令只能检测 Windows

Vista/Server 2008、不能检测 Windows XP,因此我们必须手动将 Windows XP 重新添加到

BCD。否则的话,Boot Manager 启动菜单就会只显示 Windows Vista、不显示 Windows XP。

手动添加 Windows XP 的步骤是通过命令提示符依次执行下列命令: BCDEDIT -CREATE

{NTLDR} -D "早期版本的 Windows" (注:引号中的内容为注释,可以随意) BCDEDIT

-SET {NTLDR} DEVICE PARTITION=C: (注:C: 是指 NTLDR 所在的硬盘活动分

区,但不一定是 Windows XP 所在的分区,因为 Windows XP 可能没有安装在活动分区,例