This page deals with common boot-up problems with Windows XP. These troubleshooting instructions are also applicable for problems encountered setting up a dual-boot or multi-boot with newer versions of Windows.

General Troubleshooting Guidelines

Unfortunately, as a result of the convoluted process used to load Windows NT through XP/2003 up and running, there is plenty of room for confusion and error.

  1. Make sure EasyBCD’s Windows XP entry points to the “system” drive and that it has NTLDR, NTDETECT.COM, BOOT.INI in the root directory. You can grab those files here.
  2. Quadruple-check your BOOT.INI [operating systems] list. Make sure the default entry matches one of the entries in the [operating systems] list. Make sure rdisk(x)partition(y) points to the right partition that Windows XP is installed to.
  3. Make sure you only have one copy of NTLDR, NTDETECT.COM, and BOOT.INI on your system. Having multiple copies leads to lots of confusion as to which files you should edit and check.
  4. Make sure you selected “Windows XP” from the drop-down menu in EasyBCD’s Add/Remove Entries section when you added XP to the Vista bootloader. If you kept it at the default option (“Windows Vista/Longhorn Server”), Windows XP will never boot.

Specific Error Messages

NTLDR is missing or corrupt (or one of its variants)

Windows Boot Manager has experienced a problem.
File: \ntldr
Status: 0xc000000f
Info: The selected entry couldn't be loaded because the application is missing or corrupt.

As this error message says, NTLDR could not be located. Make sure the Windows XP entry in EasyBCD points to the system drive and keep in mind that this is not necessarily the same as the drive that Windows XP is installed to.

If the drive is correct, make sure NTLDR and NTDETECT.COM exist in the root partition. If they don’t or if they’re corrupted, you can download them here.

After choosing to boot into Windows, I get a black, blank screen.

This means that NTLDR was found, but NTDETECT.COM wasn’t. Grab it here.

winload.exe is missing or corrupt

Windows Boot Manager has experienced a problem.
File: \windows\system32\winload.exe
Status: 0xc000000f
Info: The selected entry couldn't be loaded because the application is missing or corrupt.

You added a Windows XP entry without setting the “Type” drop-down box in EasyBCD to Windows XP. Delete this entry, go back to the Add/Remove Entries section, and re-create it. This time, make sure to set its type to Windows XP before doing so.

ntoskrnl.exe is missing or corrupt

"Windows could not start because the following file is missing or corrupt:

\system32\ntoskrnl.exe.

Please re-install a copy of the above file"

This means the ARC paths in the [operating systems] section or the default entry in BOOT.INI is incorrect. Double-check that multi() and disk() are both set to 0, and verify that rdisk(x)partition(y) points to the correct partition where Windows XP is installed. Instructions on the correct configuration of boot.ini can be found here.

Hal.dll is missing or corrupt

Windows\System32\Hal.dll missing or corrupt:

Please re-install a copy of the above file.

This means the ARC paths in the [operating systems] section or the default entry in BOOT.INI is incorrect. Double-check that multi() and disk() are both set to 0, and verify that rdisk(x)partition(y) points to the correct partition where Windows XP is installed. Instructions on the correct configuration of boot.ini can be found here.

Windows could not start because of a computer disk hardware configuration problem. Could not read from the selected boot disk.

Check boot path and disk hardware. Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for additional information.

This means the ARC paths in the [operating systems] section or the default entry in BOOT.INI is incorrect. Double-check that multi() and disk() are both set to 0, and verify that rdisk(x)partition(y) points to the correct partition where Windows XP is installed.

Generally speaking, this particular error message means that the partition referenced in the ARC paths in boot.ini does not exist, so check the partition() number first. If you’re sure the partition() value is correct then try different rdisk() values until you get a working configuration. Further instructions on the correct configuration of boot.ini can be found here.

I get a BSOD when I boot into Windows XP

Congratulations! As hard as it may be to believe, this means your dual-boot is working just fine. Unfortunately, after EasyBCD successfully starts to load Windows XP, it crashes. This can be caused by using an imaged copy of a Windows XP installation from another PC, a hardware mis-configuration, or one of the zillion other BSOD-causing problems. Your best bet is to perform an in-place upgrade/repair install of Windows XP and/or ask for help in our friendly forums.