Have you ever had a PC running Windows NT fail to boot? If so, you probably found that the boot process is nothing like the processes DOS and Windows 95/98 use. In this article, we’ll explain the Windows NT boot process. As we do, we’ll show you several problems that can make Windows NT fail to boot and how to fix them.
The boot process
As we mentioned, the Windows NT boot process is significantly different from that used by other operating systems. If you’re familiar with DOS or Windows 95/98, you may know that the computer loads IO.SYS followed by the MSDOS.SYS and COMMAND.COM files. However, in Windows NT, none of these files exist (unless you’re running a dual-boot system).
When you boot Windows NT, your computer first looks at the boot stamp on your hard disk. The boot stamp is an area reserved by your computer’s BIOS—its primary function is to tell the computer which file to load first. In DOS and Windows 95/98, the boot stamp tells the computer to load IO.SYS. However, on computers running Windows NT, the boot stamp points to the NTLDR file. The NTLDR file begins the boot process. The computer then loads NTDETECT.COM and NTOSKRNL.EXE or BOOTSECT.DOS. It also loads the BOOT.INI file; ours is shown in Figure A. (We’ll discuss the BOOT.INI file in more detail later.) Now that you know which files are used during the boot sequence, let’s look at some of the problems that can occur during the boot process and how to fix them.
|The BOOT.INI file specifies the location of the main operating system files.|
A word about NTFS
Before we begin, we should point out the infamous Windows NT paradox. Many boot problems can be caused by missing or damaged files. However, if your boot partition is formatted with NTFS, Windows NT must be running in order to make changes to files contained within the partition. There are actually several ways of getting around this problem.
We recommend installing DOS or Windows 95/98 prior to installing Windows NT. When you do install Windows NT, you should leave your boot drive in the FAT format (you can still format the partitions containing your data as NTFS). By doing so, you protect your system: If Windows NT ever crashes, you can boot to DOS or to Windows 95/98 to fix the damaged files.
Unfortunately, doing so is impossible in some situations. DOS and Windows 95/98 can’t access the hard disk on some PCs with hardware implementations of RAID. In such situations, or in situations where security is a top priority, you can provide yourself with some measure of protection by installing a second copy of Windows NT in a different directory. Sometimes, if Windows NT crashes, you can boot the backup copy and use it to repair the damaged files. This technique doesn’t always work, however, because both copies share some of the boot files.
If you run into a situation in which you can’t boot Windows NT and you can’t access the hard disk to repair the damaged files, try to install a new copy of Windows NT to a different directory. Doing so will refresh most of the files used during boot-up.
No boot menu
One common boot problem is that the boot menu disappears. This problem is almost always self-inflicted. If you want to set up a dual-boot system, you must install the alternate operating system before you install Windows NT. If you install Windows NT first and then install another operating system, the second operating system will overwrite the boot sector and the PC will no longer look for the NTLDR file.
The solution to such a problem is to simply install a new copy of Windows NT to a different directory. Doing so will make NT bootable. You can then edit your BOOT.INI file and remove any references to the new copy.
Problems with NTLDR
Another common problem is that you may boot the system and see the following message:
BOOT: Couldn't find NTLDR
Please insert another disk
If you see this message, your boot sector is okay because it still points to the NTLDR file. However, your NTLDR file is either missing or damaged. To correct this problem, simply copy the NTLDR file from another system or install a new copy of Windows NT to a different directory.
Problems with NTDETECT.COM
When you try to boot, you may receive the following error message:
NTDETECT v1.0 Checking Hardware 'E
NTDETECT v1.0 Checking Hardware 'E
This message means that the NTDETECT.COM file is missing or damaged. To correct the problem, copy the file from another PC or install a new copy of Windows NT to a different directory.
Problems with BOOT.INI
The vast majority of boot problems occur in the BOOT.INI file. As you’re probably aware, you can install Windows NT into any directory on any hard disk. The BOOT.INI file specifies the location of the Windows NT operating system. Figure A shows a sample BOOT.INI file. As you can see, the BOOT.INI file also provides the locations of alternate operating systems.
You may notice an entry in our BOOT.INI file pointing to a previous operating system. In our case, this operating system is Windows 98. If you select this option during boot-up, Windows NT looks at the BOOTSECT.DOS file for loading instructions. If your computer had an operating system on it prior to Windows NT, the Setup program will copy the original boot sector to the BOOTSECT.DOS file. In the case of Windows 98, the BOOTSECT.DOS file would contain instructions to load IO.SYS.
Now that you know how BOOT.INI works, let’s take a look at the three basic error messages you may see as a result of an incorrect BOOT.INI file. The first message you may see is:
Windows NT could not start because the following file is missing or corrupt:
\ <winnt root>\ system32\ ntoskrnl.exe
Please re-install a copy of the above file.
This problem usually occurs because the BOOT.INI file points to the wrong location for the Windows NT operating system. Of course, if your BOOT.INI file looks correct, it’s always possible that your NTOSKRNL.EXE file really is corrupted.
The next message you may see is:
I/O Error accessing boot sector file
This error indicates that the BOOT.INI file either points to the wrong location for the BOOTSECT.DOS file or that the BOOTSECT.DOS file is corrupted.
The final message you may see is the following:
OS Loader V4.00
Windows NT 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 NT documentation about hardware disk configuration and your hardware reference manuals for additional information.
This message means that the location BOOT.INI points to doesn’t contain a valid file system—at least, not one that Windows NT can read. This error can be caused by an incorrect location specified in BOOT.INI.
For example, if the BOOT.INI file points to a volume that’s unformatted, you’ll receive this error. It can also be caused by a crashed hard disk or a hardware-implemented RAID device that’s dropped off-line.
While discussing various boot problems, it seems only appropriate to mention Windows 2000 (the operating system formerly known as Windows NT 5.0). Beta 2 contains a menu much like the one found in Windows 95 and Windows 98 that will allow you to boot to safe mode or to a command prompt. Having this feature should make correcting boot problems in future versions of Windows much easier than it is today.
In this article, we’ve looked at various problems that can cause a Windows NT boot failure. As we did, we showed you how to correct these problems.
It’s important to point out that all the files used during the boot process are flagged as hidden, read-only, system files. If you want to copy the files from another PC, you’ll have to remove these attributes and then reset them after you finish the copy process.