A+ Certification / Beginners

Missing boot files

Windows XP requires four core files to boot, and a fifth file is optional. The required files are:

  • ntldr
  • ntdetect.com
  • boot.ini
  • ntoskrnl.exe

The optional file is

  • ntbootdd.sys, which is the SCSI adapter driver that Windows XP boots from if the SCSI adapter doesn't have an active BIOS.

In the following sections, you get a look at what you can do if any of these files are missing or appear to be missing on your computer. For further information about the Windows XP boot processes.

ntldr

If ntldr is missing, you will receive the following error message when your computer tries to boot:

NTLDR is missing
Press any key to restart

This message often means that a formatted floppy was left in the disk drive. If this file is actually missing, it can be replaced with a working copy from any Windows NT computer; although you should try to replace the missing file with a copy from the same or a newer version of Windows to maintain full compatibility. To replace this file, you may have to make a boot disk to get your computer booted. This can be done with the following steps:

  1. Format a disk on a working Windows XP computer.
  2. Copy the files ntldr, ntdetect.com, and boot.ini from the root of the C: drive.
    These files are hidden, system, and read-only, so you will have to modify their attributes to copy them.
  3. Edit the boot.ini file to reflect the boot configuration of your target computer (the one that will not boot).

boot.ini

If the boot.ini file is missing and you have installed Windows XP in its default location, then the system will boot but will not display a boot menu. The default location for Windows XP and newer versions of Windows is c:\windows; for Windows 2000 and Windows NT, the default location is c:\winnt. If you have not installed Windows in its default location, you will receive a message stating that ntoskrnl.exe or hal.dll is corrupted or missing and that you should replace the file. The message will look similar to this one from Windows 2000:

Windows 2000 could not start because the following file is missing or corrupt: <Windows 2000 root drive>\system32\ntoskrnl.exe

The message may also be similar to this one from Windows XP:

Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\hal.dll
Please re-install a copy of the above file.

This message is misleading because the problem is really with the boot.ini file. The reason for the message is that the boot loader (ntldr) has gone to the default location, and ntoskrnl.exe or hal.dll files were not there. If the boot.ini file is replaced and the boot path is correct for your installation, then the boot process will continue as normal.

boot.ini is a text file and can be edited with any text editor, such as notepad.exe. To replace the boot.ini file, you may need to create a boot disk as you did to replace the missing ntldr file.

ntdetect.com

If ntdetect.com is missing, you will receive the following error message:

NTDETECT failed

This file is generic, like the ntldr file, and can be replaced in the same way that you replace the ntldr file. See the section, "ntldr," earlier in this tutorial.

ntoskrnl.exe or hal.dll

You should be able to find the ntoskrnl.exe file in the <Windows XP root drive>\windows\system32\ directory. If it's missing, you receive a message like this message from Windows 2000:

Windows 2000 could not start because the following file is missing or corrupt:
<Windows 2000 root>\system32\ntoskrnl.exe

The message may also look like this one from Windows XP:

Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\hal.dll
Please re-install a copy of the above file.

These messages may look familiar; they are the same messages that you receive if your boot.ini file is misconfigured. After checking the boot.ini file, if the ntoskrnl.exe or hal.dll files are actually missing, you will have to do one of the following:

  • Perform an Emergency Repair Process forWindows NT 4.0 or Windows 2000 to replace any missing or corrupted files on your system.
  • Attempt to replace the file by using the Recovery Console.
  • Re-install the operating system.

Ninety-nine out of 100 times, the missing ntoskrnl.exe or hal.dll error message means an error with the boot.ini file, and the ntoskrnl.exe or hal.dll file is fine.

ntbootdd.sys

Most systems boot either from IDE/ATA hard drives or from SCSI drives that are attached to a SCSI controller or adapter that has a working BIOS. In either of these cases, you won't find the ntbootdd.sys file on your drive. If you are booting from a SCSI drive that is attached to a SCSI controller that has its BIOS disabled, then you will find the ntbootdd.sys file on the root of your bootable drive, along with ntldr, ntdetect.com, and boot.ini. This file is computer-specific because it's the SCSI driver for your SCSI controller. It can be replaced with a copy of the file found on any other computer that boots from the same SCSI controller. If you don't have another system with the same configuration, you can get a copy of the SCSI driver from either the driver disk for the SCSI controller or possibly from your Windows installation CD-ROM. This driver will have to be renamed to ntbootdd.sys and copied to the boot drive, and you may need to make a boot disk like the one described in the section "ntldr," earlier in this tutorial.

[Previous] [Contents] [Next]