在 Windows 95、Windows 98 或 Windows Millennium Edition 上安装或升级到 Windows XP 时出现“NTLDR is missing”(丢失 NTLDR)错误信息

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

本文的发布号曾为 CHS314057
本文已归档。它按“原样”提供,并且不再更新。
有关本文的 Microsoft Windows 2000 版本,请参见 255220
症状
当试图在一台运行 Microsoft Windows 95、Windows 98 或 Windows Millennium Edition 的计算机上安装 Microsoft Windows XP 或者升级到 Windows XP 时,在安装过程中的第一次重新启动后,可能会收到以下错误信息:
NTLDR is missing
Press any key to restart
原因
如果克隆现有的 Windows 95、Windows 98 或 Windows Millennium Edition 的安装,然后应用于与克隆副本的源驱动器有不同布局的驱动器上,可能会出现此问题。

例如,您在 4 GB 驱动器上运行 Windows 98。在升级到 30 GB 硬盘后,您使用第三方磁盘映像实用工具制作 Windows 98 安装的镜像,然后将该映像应用于新驱动器。之后,您升级到了 Windows XP。为此,您在克隆的 Windows 98 映像上安装了 Windows XP。

必须满足以下所有条件,才会出现此问题:
  • 系统/启动分区使用 FAT32 文件系统进行格式化。
  • 计算机使用 INT-13 扩展进行启动。(这是一个大于 7.8 GB 的分区,它在分区表中的系统 ID 类型为 0C)。
  • 由于克隆过程,造成了 FAT32 BIOS 参数块 (BPB) 中的头(边)值与物理驱动器的布局不匹配。
Windows 95、Windows 98 或 Windows Millennium Edition 启动代码忽略 BPB 中的头值,并且即使在值无效时仍启动程序。但 Microsoft Windows 2000 和 Windows XP 中的安装代码需要此值,如果此值无效,则启动不能成功。
解决方案
要解决此问题,请更正 FAT32 BPB 中的头(边)值,使 Windows XP 启动能够继续。要更新此值,请重写 Windows 95、Windows 98 或 Windows Millennium Edition 的启动代码。为此,请按照下列步骤操作:
  1. 通过使用包含 Sys.com 文件的 Windows 95、Windows 98 或 Windows Millennium Edition 启动盘重新启动计算机。(默认情况下包括此文件。)
  2. 在系统驱动器的根目录中制作 Msdos.sys 文件的备份副本。为此,请在命令提示符下键入以下命令:
    attrib -h -r -s c:\msdos.sys
    rename msdos.sys *.ysy
  3. 在命令提示符处,键入 sys c: 以便用准确的 BPB 信息重写 Windows 95、Windows 98 或 Windows Millennium Edition 的启动代码。如果此命令运行成功,请转到步骤 4。

    如果您使用 Windows Millennium Edition 启动盘,并收到以下错误信息,则可能是因为已经删除了 Windows Millennium Edition 安装程序中的一个或多个文件:
    Cannot find the system file in the standard locations on drive C:
    按照下面的步骤将正确的文件放置到驱动器上,使 sys 命令可以找到它们:
    1. 键入下面的命令。在键入每个命令后按 Enter:
      c:
      cd\windows
      如果将 Windows 安装到与 Windows 文件夹不同的文件夹中,请相应地调整命令。
    2. 键入以下命令尝试切换到 Command 文件夹:
      cd command
      如果您收到找不到路径的错误信息,请键入以下命令创建 Command 文件夹,然后再次运行 cd command 命令:
      md command
    3. 键入以下命令切换到 EBD 文件夹:
      cd ebd
      如果您没有收到找不到路径的错误信息,请键入以下命令创建 EBD 文件夹,然后重复 cd ebd 命令:
      md ebd
    4. 在 EBD 文件夹中,使用以下命令复制硬盘根目录下的 Io.sys 文件,并将 Io.sys 文件重命名为 Winboot.sys:
      attrib -s -h -r c:\io.sys
      copy c:\io.sys winboot.sys
      Winboot.sys 是 Sys.com 需要的文件。
    5. 切换回驱动器 A,然后键入以下命令:
      a:
      sys c:
    键入以下命令恢复原始的 Msdos.sys 文件。在键入每个命令后按 Enter:
    attrib -s -h -r c:\msdos.sys
    copy c:\msdos.ysy c:\msdos.sys
    按 Y 覆盖现有的 Msdos.sys 文件。会收到文件被改写的“1 FILE(S) COPIED”确认。
  4. 将计算机重新启动到 Windows 95、Windows 98 或 Windows Millennium Edition,然后尝试重新安装或升级到 Windows XP。

    注意:也可以在运行 sys c: 命令后,启动到故障恢复控制台,然后使用 fixboot 命令重写 Windows XP 启动代码。使用此过程,原始安装会正常继续。
状态
Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。
更多信息
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
178947Err Msg:找不到注册表文件。注册表服务可能……
318948 Windows 2000 或 Windows NT 4.0 升级期间出现“NTLDR is missing or corrupt”(缺少 NTLDR 或 NTLDR 已损坏)错误信息
属性

文章 ID:314057 - 上次审阅时间:12/07/2015 08:18:41 - 修订版本: 3.1

Microsoft Windows XP Home Edition, Microsoft Windows XP Professional Edition

  • kbnosurvey kbarchive kberrmsg kbfilesystems kbenv kbsetup kbprb kbacwsurvey KB314057
反馈