Help and Support  
P

"NTLDR Is Missing" Error Message When You Upgrade or Install Windows XP Over Windows 95, Windows 98, or Windows Millennium Edition

The information in this article applies to:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
This article was previously published under Q314057
For a Microsoft Windows 2000 version of this article, see 255220.

SYMPTOMS

When you attempt to install Windows XP or to upgrade to Windows XP on a computer that runs Microsoft Windows 95, Microsoft Windows 98, or Microsoft Windows Millennium Edition (Me), you may receive the following error message after the first restart during the installation process:
NTLDR is missing
Press any key to restart
This behavior occurs only if Windows 95, Windows 98, or Windows Me is installed on a large-capacity drive that uses the FAT32 file system.

CAUSE

This behavior can occur if your existing Windows 95, Windows 98, or Windows Me installation was cloned and then applied to a drive that has a different geometry from that of the source drive of the cloned copy.

One possible scenario is as follows: You are running Windows 98 on a 4-gigabyte (GB) drive. After you upgrade, for example to a 30-GB hard disk, you use a third-party disk-imaging utility to make a mirror image of your Windows 98 installation and apply the image to the new drive. At a later time, you then upgrade to Windows XP, installing Windows XP over the cloned image of Windows 98.

For this behavior to occur, the following conditions must exist:
  • The system/boot partition is formatted with the FAT32 file system.
  • The computer boots by using INT-13 extensions (a partition larger than 7.8 gigabytes with a System-ID type of 0C in the partition table).
  • Because of the cloning procedure, the Heads (sides) value in the FAT32 BIOS Parameter Block (BPB) does not match the geometry of the physical drive.
The Windows 95, Windows 98, or Windows Me boot code ignores the Heads value in the BPB and starts those programs even though the value is invalid. However, the boot code in Windows 2000 and Windows XP needs this value, and the boot process does not succeed if the value is invalid.

RESOLUTION

To resolve this behavior, correct the invalid Heads (sides) value in the FAT32 BPB to enable the Windows XP boot process to continue. The easiest way to update the field is to rewrite the Windows 95, Windows 98, or Windows Me boot code by using the following procedure:
  1. Restart the computer by using a Windows 95, Windows 98, or Windows Me startup disk that contains the Sys.com file (this file is included by default).
  2. Make a backup copy of the msdos.sys file in the root directory of your system drive. To do this, type the following commands from the command prompt:

    attrib -h -r -s c:\msdos.sys
    rename msdos.sys *.ysy

  3. At a command prompt, type sys c:. This command rewrites the Windows 95, Windows 98, or Windows Me boot code with accurate BPB information. If this command runs successfully, skip to step 4.

    If you are using a Windows Me startup disk and you receive an error message, "Cannot find the system file in the standard locations on drive C:", one or more files in the Windows Me installation have been removed. Use the following steps to place the correct files on the drive so that the sys command can locate them:
    1. Start a command prompt by using the following commands (that is, type the commands and press ENTER after each command):

      c:
      cd\windows

      If Windows is installed in a folder other than the Windows folder, adjust the commands accordingly.

    2. Try to switch to the Command folder by using the following command:

      cd command

      If an error message indicates that the path is not found, use the following command to create the Command folder, and then run cd command again:

      md command

    3. Switch to the EBD folder by using the following command:

      cd ebd

      If an error message indicates that the path is not found, use the following command to create the EBD folder, and then repeat the cd ebd command:

      md ebd

    4. In the EBD folder, use the following commands to copy the Io.sys file from the root of the hard drive and to rename the Io.sys file as Winboot.sys:

      attrib -s -h -r c:\io.sys
      copy c:\io.sys winboot.sys

      Winboot.sys is the file that Sys.com needs.

    5. Switch back to drive A, and then run the following commands:

      a:
      sys c:

    Type the following commands, and press ENTER after each command, to restore the original msdos.sys:

    attrib -s -h -r c:\msdos.sys
    copy c:\msdos.ysy c:\msdos.sys

    Press Y to overwrite the existing MSDOS.SYS file. You should receive a "1 FILE(S) COPIED" verification that the file was overwritten.

  4. Restart the computer to Windows 95, Windows 98, or Windows Me, and then try the Windows XP installation or upgrade procedure again.

    NOTE: Alternatively, after you run the sys c: command, you can boot to the Recovery Console, and then use the fixboot command to rewrite the Windows XP boot code. This procedure enables the original installation to proceed typically.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

178947 Err Msg: Registry File Was Not Found. Registry Services May...

Last Reviewed: 6/12/2002
Keywords: kbenv kberrmsg kbprb kbsetup KB314057
back to the top



Last Reviewed:10/27/2002
Keywords: kbBackup kbhowto kbHOWTOmaster KB306524 kbAudITPro