Did you know you could use the information that’s found on the Blue Screen of Death to help you troubleshoot the cause of a Windows 2000 crash? Specifically, the first three lines can help you figure out the cause of the problem. For example, in Figure A, the second line of text (KMODE_EXCEPTION_NOT_HANDLED) is the actual error message. So how on earth can such a cryptic error message help you solve your boot problems? I’ll review some of the more common Blue Screen of Death error messages. I’ll also discuss what the possible cause of each error could be.

Figure A
You can use clues found on the infamous Blue Screen of Death to help you troubleshoot your machine’s boot problems.


Note

If you encounter an error message that I don’t discuss in this article, I recommend that you go to Microsoft’s Support Web site and search on the actual error message.


KMODE_EXCEPTION_NOT_HANDLED
The KMODE_EXCEPTION_NOT_HANDLED error message shown in Figure A indicates that a kernel mode process tried to execute an invalid or an illegal instruction. Normally, when this error occurs, Windows 2000 will list a memory address along with the name of the program or device driver that’s responsible for the error (the stuff shown in the first part of line three). Your best bet in recovering from this type of error is to look for problems with the file that’s listed on line three.

IRQL_NOT_LESS_OR_EQUAL
In Windows 2000, a kernel mode process can only access an interrupt request level less than or equal to its own. The IRQL_NOT_LESS_OR_EQUAL error indicates that a process tried to access a too-high interrupt request level. An incompatible backup tool, device driver, antivirus program, or system service problem typically causes this error.

Whenever you receive an IRQL error, the best thing to do is boot Windows 2000 into Safe Mode by pressing the [F8] key during the early stages of the boot process and selecting Safe Mode from the boot menu. When Windows 2000 loads, disable any antivirus software and any drivers that aren’t absolutely necessary, and restart the system. When the system restarts, begin re-enabling applications one at a time until you determine what is causing the problem.

DATA_BUS_ERROR
The DATA_BUS_ERROR message usually indicates a memory parity error. Bad memory, incompatible hardware, or a hardware configuration issue can cause this error to appear. This issue may be related to your system’s RAM, level 2 RAM (L2) cache, or video RAM.

If this error occurs after you install new hardware, try removing the new hardware to see if the error goes away. It may be that you have some malfunctioning or incompatible components. If you haven’t added anything new, try removing your existing hardware and reseating all expansion cards and memory modules. It’s possible that something could have vibrated loose. If that doesn’t solve your problem, try experimenting with various combinations of the memory modules in your system to see if one of them might have gone bad. If this error occurs on a brand-new system, try contacting the manufacturer to see if a BIOS upgrade is available.

It’s possible (although unlikely) to get this error after installing a new device driver. If this happens, boot the system into Safe Mode by using the method described earlier. Once the system is running, try removing the driver and rebooting the system to see if the error goes away. If a bad driver is the problem, check the Internet for an updated driver that’s specifically designed for Windows 2000.

Finally, it’s also possible to get this error from hard disk corruption or a cracked motherboard. Try running CHKDSK /F to test for and repair any hard disk errors. If you still can’t fix the problem, try taking the motherboard to a repair center for testing.

INACCESSIBLE_BOOT_DEVICE
The INACCESSIBLE_BOOT_DEVICE error means that Windows 2000 can’t access the system partition and will occur only during bootup. The most common cause of this error is installing Windows 2000 on an unsupported storage medium. If you’re upgrading from Windows NT 4, try to remember when you initially installed Windows NT. Did you have to provide a custom disk controller driver? If so, you’ll probably have to provide a controller driver for Windows 2000 as well. Keep in mind that you may have to get an updated version from the hardware manufacturer.

Another common cause of this error is adding a new hard disk. In many cases, you’ll have to manually edit the BOOT.INI file and point it toward the correct partition. If you have trouble doing so, remember that BOOT.INI is a hidden, read-only, system file that’s located in the root directory of your C: drive.

MISMATCHED_HAL
The MISMATCHED_HAL message is displayed when the Hardware Abstraction Layer (HAL) and the kernel don’t match. Primarily, having a single processor HAL and a multiprocessor kernel or vice versa can cause this error to occur. Also, it can be caused by manually updating the NTOSKRNL.EXE or the HAL.DLL files.

The error can also occur if there’s a mismatch. For example, you’ll get this error if you try to use a Windows NT 4 HAL with a Windows 2000 kernel. The easiest way to resolve the error is to boot from the four Windows 2000 Setup disks. When the setup disks load, press [Enter] at the Setup notification screen. You’ll see the Welcome To Setup screen. Press R to enter Repair mode. Next, press C to use the Recovery Console. The recovery console functions similarly to DOS. Once inside the recovery console, use the COPY command to copy the correct HAL and kernel to the hard disk from the original installation media.

NTFS_FILE_SYSTEM
The NTFS_FILE_SYSTEM error indicates that the NTFS.SYS file is having a tough time working with your file system. Bad blocks on the hard disk or by a corrupted SCSI or EIDE driver can cause this error.

Try to disable any antivirus software, backup programs, or disk defragmenters, and see if the error goes away. Next, check the event logs for errors pertaining to SCSI, FASTFAT, or AUTOCHK. These errors may help you find the source of the problem. Finally, run the CHKDSK /F /R command to attempt to repair any hard disk problems.

It’s also possible to receive this error if you’re using Services for Macintosh on a 7-GB or larger partition with over 100,000 files. The indexing routine can consume large amounts of nonpaged pool memory. If this memory is completely depleted, the NTFS_FILE_SYSTEM error can occur. Microsoft knows about this problem and supposedly has addressed it in Windows 2000 Service Pack 2.

Other hard-disk-related errors
NTFS_FILE_SYSTEM isn’t the only error message that is related to hard disk problems. The KERNEL_STACK_INPAGE_ERROR error indicates that a page of kernel data couldn’t be read from the page file. This is most commonly associated with bad blocks on the hard disk, or with viral infections, but can be caused by hardware failures.

When you encounter this type of error, you should run the CHKDSK /F /R command on your system. Next, scan for viruses. If you still have the error, start testing the integrity of your hardware. If all else fails, try to delete and recreate your page file just in case it has become corrupt.

When you receive a KERNEL_STACK_INPAGE_ERROR, the error is often accompanied by a second error message that can help you to narrow down the problem. For example, bad blocks on the hard disk usually cause the STATUS_DEVICE_DATA_ERROR message. Running CHKDSK /F /R may correct the problem.

Another error that you might encounter is STATUS_DEVICE_NOT_CONNECTED. This message indicates that your computer’s disk controller can’t communicate with the hard disk. This may be as simple as a loose cable or a bad SCSI terminator. A bad terminator or loose cable can also cause the STATUS_IO_DEVICE_ERROR message. Finally, if you receive the STATUS_DISK_OPERATION_FAILED message, bad blocks on the hard disk probably caused it. Running CHKDSK /F /R may correct the problem.