Understanding the boot process helps you prevent problems
To troubleshoot Windows NT problems, you need a working knowledge of NT's diagnostic tools and the Microsoft Windows NT Server 4.0 Resource Kit. But sometimes you have problems that this knowledge cannot help you solve. For example, if a problem occurs in the boot process, you cannot bring up NT to run its diagnostic tools. Understanding the steps of the NT boot process will help you troubleshoot problems that might occur.
Problems with the boot process can generate error messages about missing files, cause the system to hang, or crash the system with the infamous blue screen of death. Fixes might involve replacing a damaged file or using Emergency Repair Disks (ERDs) to reinstall NT. As I discuss the steps in the boot sequence, I will examine possible problems and suggest solutions.
Required Files
The NT boot process requires certain files. If these files are missing or corrupted, the boot process cannot complete properly. Intel-based computers require the following files: ntldr, boot.ini, bootsect.dos (if you want to boot to DOS on a multiple-boot computer), ntdetect.com, and ntbootdd.sys (if you have a SCSI controller with the BIOS disabled). Each of these files plays a specific role in the boot process.
The files ntldr and ntdetect.com are not computer-specific. Thus, you can copy these files directly from one computer to another. The file boot.ini is computer-specific, but you can easily edit the file if you need to copy it from one computer to another. The file bootsect.dos is computer-specific, and you cannot copy it from one computer to another. You can copy this file to a 3.5" disk and then restore it from the disk, or you can use NT Backup to restore it. The file ntbootdd.sys is specific to your SCSI controller. You can copy this file from another computer that has the same SCSI controller.
The Preboot Sequence
The preboot sequence is not truly a part of NT. The process involves the computer going through its startup routine. First, the computer runs the power-on self test (POST). If the POST finds a problem, it identifies the cause of the problem with a series of beeps. (For information about beep codes, see Table 1, page 214. These beep codes are for older AMI BIOS systems. For the beep codes specific to your system, see the motherboard and BIOS manufacturers' specifications.) Possible trouble areas include a hard disk failure and the absence of a working video card.
After the POST completes successfully, the BIOS must load the Master Boot Record (MBR) from the hard disk or a 3.5" disk and run the program that the MBR contains (i.e., the boot program). If the hard disk starts to fail, the MBR can become corrupted. A virus might also infect the MBR. Viruses have a harder time running under NT than under many other operating systems (OSs), but a user might reboot the computer with an infected 3.5" disk in the drive and thus damage the MBR. If you damage the MBR, the boot process cannot proceed. (For information about recovering from MBR problems, see Bob Chronister, "Tricks & Traps," March 1998.)
The next step in the preboot sequence is for the system to load the boot sector from the hard disk's active partition into system memory. The boot sector on an NT computer or NT-formatted 3.5" disk contains instructions to load the ntldr file. If this file is missing, you receive the message BOOT: Couldn't find NTLDR. Insert another disk. If the drive partition that contains the boot files uses the FAT file system, you can use a 3.5" DOS disk to boot and then copy ntldr back to the hard disk's root directory. If the partition uses NTFS, you must use a 3.5" NT boot disk. (For information about creating this disk, see the sidebar "Building an NT Boot Disk," page 214.) Use the disk to boot the system. Then, start NT and copy ntldr from the 3.5" disk to the hard disk.
The Boot Sequence
After you load ntldr, the NT boot sequence starts. The system switches to the flat memory model, which supports as much as 4GB of RAM. Next, ntldr loads the mini file system drivers into memory and starts them. These drivers contain just enough code to read the hard disk (whether FAT or NTFS) and to load the rest of the OS from the hard disk.
During this stage of the boot sequence, the boot.ini file might cause problems. The boot.ini file controls the NT startup menu. The startup menu typically gives you the option of starting NT or starting NT in VGA mode only. If your computer can boot several OSs, you might see options such as NT, DOS, Windows 98, and Win95. You might see several versions of NT, especially if you are using a development system with NT Workstation and NT Server installed.
Listing 1 shows a typical boot.ini file. You'll notice that some of the lines in Listing 1 wrap for fit. These lines do not wrap in the original file, so you must be careful to not edit boot.ini in Notepad using the word-wrap feature.