文章编号: 919529

对未安装任何 Service Pack 的 Windows Vista 的支持即将于 2010 年 4 月 13 日结束。若要继续接收 Windows 安全更新,请确保运行 Windows Vista Service Pack 2 (SP2)。有关更多信息,请参阅此 Microsoft 网页:对某些版本 Windows 的支持即将结束

展开全部 | 关闭全部

本文内容

症状

在基于 Microsoft Windows Vista 或基于 Windows 7 的计算机上安装了早期版本的 Windows 操作系统以形成双引导配置后,可能会遇到下列问题之一:
  • 如果在基于 Windows Vista 或基于 Windows 7 的计算机上安装早期版本的 Windows 操作系统,则 Windows Vista 将再也无法启动。在这种情况下,只有早期版本的 Windows 操作系统可以启动。
  • 如果在已安装了 Windows XP 和 Windows Vista 形成双引导配置的计算机上安装 Microsoft Windows XP 的其他实例,可能会收到以下错误消息:
    Disk read error has occurred.

原因

之所以会出现这些问题,是因为早期版本的 Windows 操作系统与新的 Windows Vista 启动方法不兼容。Windows Vista 使用新的引导配置数据库 (BCD) 存储。此存储包含一个启动菜单以及有关计算机上已安装的操作系统的所有信息。因此,不能使用来自早期版本的 Windows 操作系统的 Boot.ini 文件来启动 Windows Vista。

在基于基本输入/输出系统 (BIOS) 的计算机上运行的早期版本的 Windows 操作系统(如 Windows XP)中,启动过程与系统 BIOS 一起启动。BIOS 确定启动设备,然后加载第一个物理扇区。此物理扇区称为主启动记录 (MBR)。MBR 包含分区表和必要的启动执行代码。此代码搜索分区表,以查找活动分区并将控制权传递给活动分区上的引导扇区。然后,活动分区上的引导扇区将加载 Ntldr 程序。Ntldr 程序会分析 Boot.ini 文件。此文件用来枚举已安装的操作系统。

当 Windows Vista 或 Windows 7 在基于 BIOS 的计算机上启动时,BIOS 将加载 MBR 然后加载引导扇区。但是,启动代码将加载新的 Windows 引导管理器程序 (Bootmgr)。Windows 引导管理器程序会分析引导配置数据文件,枚举已安装的操作系统,然后显示启动菜单。如果安装了早期版本的 Windows 操作系统以与 Windows Vista 或 Windows 7 形成双引导配置,Windows 引导管理器程序就会将控制权转给早期版本的 Windows 操作系统的 Ntldr 程序。当您从启动菜单中选择“Windows Vista”时,Windows 引导管理器程序将执行上述操作。

在基于 Windows Vista 或基于 Windows 7 的计算机上安装早期版本的 Windows 操作系统时,安装程序将覆盖 MBR、引导扇区和启动文件中的所有内容。因此,早期版本的 Windows 操作系统失去了与 Windows Vista 的向前兼容性。

解决方案

要解决这些问题,请按照下列步骤操作。

注意:可通过使用命令提示符来运行以下过程中的命令。如果在 Windows Vista 中运行这些命令,请在已提升用户权限的命令提示符中运行它们。为此,请单击“开始”,单击“附件”,右键单击命令提示符快捷方式,然后单击“以管理员身份运行”
  1. 使用 Bootsect.exe 还原 Windows Vista MBR 以及将控制权转给 Windows 引导管理器程序的启动代码。为此,请在命令提示符处键入以下命令:Drive:\boot\Bootsect.exe /NT60 All

    在此命令中,Drive 是 Windows Vista 安装介质所在的驱动器。

    注意:此步骤的 boot 文件夹位于 DVD 驱动器上。
  2. 使用 Bcdedit.exe 在 BCD Boot.ini 文件中为早期版本的 Windows 操作系统手动创建一个条目。为此,请在命令提示符处键入下列命令。

    注意:在这些命令中,Drive 是安装 Windows Vista 的驱动器。
    • Drive:\Windows\system32\Bcdedit /create {ntldr} /d "对早期 Windows 版本的描述"

      注意:在此命令中,对早期 Windows 版本的描述可以是所需的任何文本。例如,对早期 Windows 版本的描述可以是“Windows XP”或“Windows Server 2003”。
    • Drive:\Windows\system32\Bcdedit /set {ntldr} device partition=x:

      注意:在此命令中,x: 是活动分区的驱动器号。
    • Drive:\Windows\system32\Bcdedit /set {ntldr} path \ntldr
    • Drive:\Windows\system32\Bcdedit /displayorder {ntldr} /addlast
  3. 重新启动计算机。

更多信息

要启动基于 Microsoft Windows NT 的 Windows 操作系统版本,需要下列文件:
  • Ntldr
  • Boot.ini
  • Bootfont.bin

    注意:安装 Windows 的东亚语言版本时,需要使用此文件。
  • NTDetect.com
在 Windows XP 中,这些文件位于标记为“活动”的系统分区上。默认情况下,这些文件在 Windows XP 中是隐藏的系统文件。用户可以通过使用恢复控制台来替换这些文件,也可以通过使用 Windows NT 启动磁盘来启动操作系统。Windows Vista 不使用这三个文件。Windows Vista 通过使用隐藏的系统文件 Bootmgr 和位于 \Boot 目录中的其他必需文件来启动。

创建包括 Windows Vista 的多重引导配置

若要创建可用的多重引导配置,请先安装最早版本的 Windows 操作系统。然后,按顺序安装每个更新的版本。每个新的 Windows 版本都会保留用于启动早期 Windows 版本的向后兼容性。

要创建包括 Windows Vista 的多重引导配置,安装的每个早期 Windows 版本必须至少有一个分区。请按照下面的常规指导操作:
  • 至少创建两个分区。将一个分区用于 Windows Vista 安装。

    注意:如果用于 Windows Vista 的分区已经格式化,请确保它是使用 NTFS 文件系统进行格式化的。不过,我们建议您使用下列方法之一:
    • 创建另一个未格式化的分区。
    • 不创建另一个分区,将空间保留为可用空间。而是在 Windows Vista 安装期间创建另一个分区。
  • 如果计算机中未安装操作系统,请先安装最早的 Windows 版本。

    注意:请在安装 Windows Server 2003 之前安装 Windows XP。
  • 运行 Windows Vista 安装程序。在可用空间或现有分区中安装 Windows Vista。可以在早期 Windows 版本中运行此安装程序,也可以在 Windows Vista 光盘置于 CD 或 DVD 驱动器中时启动计算机。
在 Windows Vista 安装完成后,您将具有一个配置正确的多重引导环境,其中包括 Windows Vista 和早期版本的 Windows。出现的 Bootmgr 启动菜单类似于以下菜单:
“Microsoft Windows 的早期 Windows 操作系统”

从双引导配置中删除 Windows Vista

如果要从包括早期版本的 Windows 的双引导环境中删除 Windows Vista,请按照下列步骤操作。

注意:在早期版本的 Windows 或 Windows Vista 中,可以按照下列步骤操作。如果在 Windows Vista 中按照这些步骤操作,请从已提升用户权限的命令提示符处运行命令。为此,请单击“开始”,单击“附件”,右键单击命令提示符快捷方式,然后单击“以管理员身份运行”
  1. 使用 Bootsect.exe 还原 Ntldr 程序。为此,请键入以下命令:Drive:\Boot\Bootsect.exe /NT52 All

    注意:在此命令中,Drive 是 Windows Vista 介质所在的驱动器。

    计算机重新启动后,它不会加载 Windows 引导管理器程序。而会加载 Netldr.exe 和 Boot.ini。
  2. 删除或移除安装 Windows Vista 的分区。

    重要说明:仅当安装 Windows Vista 的分区是系统上的非活动分区时,才能删除该分区。例如,请考虑以下情况:
    • Windows Vista 安装在驱动器 C 上。驱动器 C 是分区 1,并且是活动分区。
    • Windows XP 安装在驱动器 D 上。驱动器 D 是分区 2,并且是非活动分区。
    在这种情况下,可以运行 bootsect 命令,但不能删除安装 Windows Vista 的分区。如果删除此分区,则会由于 Windows XP 启动文件被删除而导致计算机无法启动。

参考

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
314079 如何使用系统文件创建启动盘以预防 Windows XP 无法启动的问题
911080 使用 Winnt32.exe 程序在同时安装了 Windows XP 和 Windows Vista 的计算机上重新安装 Windows XP 时收到“Disk read error has occurred”(发生磁盘读取错误)错误消息
有关启动配置数据 (BCD) 的更多信息,请访问以下 Microsoft 网站:
http://msdn.microsoft.com/zh-cn/library/aa362692(VS.85).aspx
有关 Windows Vista 可扩展固件接口 (EFI) 的更多信息,请访问下面的 Microsoft Developer Network (MSDN) 网站:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/UEFI_Windows.docx

属性

文章编号: 919529 - 最后修改: 2011年9月23日 - 修订: 12.0
关键字:?
kbsetup kbtshoot kbexpertiseinter kbprb KB919529
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com