Windows 2000 Stops Error Messages

When Microsoft® Windows® 2000 detects an error condition from which it cannot recover, it generates a variety of system messages including Stop messages and hardware malfunction messages, commonly referred to as blue screen messages. Interpreting the meaning of various Stop messages and taking appropriate action to resolve the problems that generated the errors are critical skills in a production environment. In addition, it is vital that technical support personnel and power users know how to handle system hardware failure correctly. This chapter contains general information and troubleshooting tips about these types of errors as well as specific information about the 12 most common Stop messages seen by callers to Microsoft Product Support Services.

In This Chapter

System Messages
Stop Messages
Troubleshooting Stop Messages
Hardware Malfunction Messages

System Messages

The two types of system messages generated by Windows 2000 depend on the event being reported. Both are generated in character mode.

Stop messages occur when the Windows 2000 kernel detects a condition from which it cannot recover.

Hardware malfunction messages occur when the processor detects a hardware condition from which the system cannot recover.

These messages were created to cover everything that might happen to halt the system, so you are unlikely to see most of them. For example, the Stop message 0x0000003E, or "Multiprocessor Configuration Not Supported," is displayed only if multiple but asymmetric central processing unit (CPU) types, such as a Pentium and a Pentium III, are installed on the same system.

To diagnose and resolve Stop messages, many users also need technical assistance from a person who has been trained to support Windows 2000. In some circumstances, running a kernel debugger on the faulty system might be required.

Stop Messages

Stop messages are always displayed on a full screen in character mode, as shown in Figure 33.1, rather than in a window. Each message is uniquely identified by a hexadecimal number and a string indicating the error’s symbolic name. In addition, Stop messages are usually followed by a series of up to four additional hexadecimal numbers, shown in parentheses, which identify error parameters, as shown in the following example:

*** STOP: 0x0000001E (0xC0000005, 0xFDE38AF9, 0x00000001, 0x7E8B0EB4)

KMODE_EXCEPTION_NOT_HANDLED ***

To a trained support technician, the content of the symbolic name string might suggest which part of the system is affected by the error that left the kernel no recourse but to stop. However, it is also possible that the cause might be in another part of the system. Figure 33.1 is an example of a complete Stop message screen generated by Windows 2000.

Figure 33.1 Stop Message Screen

Stop Message Screen Sections

As shown in Figure 33.1, a Windows 2000 Stop message screen contains three major sections: bugcheck information, recommended user action, and debug port information. Whenever a Stop message is displayed, first examine the bugcheck information section for assistance with troubleshooting. Second, examine the recommended user action section for troubleshooting information; Windows 2000 now incorporates troubleshooting tips, including some custom tips relevant to the particular error detected. Finally, check the debug port information section to see whether or not a memory dump file was saved for later use by a debugger.

Bugcheck Information

The bugcheck information section includes the Stop error code, also known as the bugcheck code, which contains up to four developer-defined parameters, enclosed in parentheses, and the symbolic name of the error. In Figure 17.33.1, the Stop error code is 0x0000001E and its symbolic name is KMODE_EXCEPTION_NOT_HANDLED.

The bugcheck information section frequently, but not always, includes a line that lists the specific hexadecimal memory address of the problem’s source, along with the name of the particular driver or device in question. The type of problem detected determines whether or not this information is displayed.

Under some conditions, the kernel displays only the first line of the Stop message. This can occur if vital services needed for the display have been affected by the error.

Recommended User Action

The recommended user action section provides a list of suggestions for recovering from the error. In some cases, a simple restart might be all that is necessary because the problem is not likely to recur. In other cases, even after restarting, the Stop message returns and you are faced with getting back to an operable state. Often, this means either backing out of a recent change or, in the case of Windows 2000 setup, pinpointing and eliminating the source of the problem.

Tip A generic list of troubleshooting tips is displayed when no specific text for a Stop message exists. For some Stop messages, tips specific to the problem are listed.

Debug Port Information

The debug port information section provides confirmation of the communications parameters (COM port and bits-per-second data transmission rate) used by the kernel debugger on the computer, if the kernel debugger is enabled. It also indicates whether a memory dump file was saved (the dump file indicator is displayed only if that feature is enabled).

Types of Stop Messages

Stop messages generally fall into one of four categories:

· Messages that appear during general use of Windows 2000.

· Messages that appear during the installation of Windows 2000.

· Messages that appear only during the relatively short Phase 4 period of the Windows 2000 Executive initialization sequence.

· Messages that can be traced to a software condition, called a software trap, detected by the processor.

General Stop Messages

The most common Stop messages are generated during regular operations. Even in a complex and robust operating system such as Windows 2000, catastrophic problems sometimes cause the system to stop responding and display a Stop message. In Windows 2000, a driver or the file system can generate a Stop message by introducing an unhandled error (exception) in the code or by performing some illegal operation.

For information about troubleshooting Stop messages, including detailed information about the most common errors, see "Troubleshooting Stop Messages" later in this chapter.

For the most comprehensive list of Stop messages in Windows 2000, along with useful information about diagnosing and troubleshooting these messages, see the Microsoft Knowledge Base article Q103059, titled "Descriptions of Bug Codes for Windows NT."

Stop Messages During Installation

An unsuccessful attempt to install Windows 2000 can result in a Stop message. When this happens, first check that the computer and all of its peripheral hardware are compatible with Windows 2000. To do this, refer to the latest Windows 2000 Hardware Compatibility List (HCL). Microsoft compiles the HCL through rigorous component and compatibility testing of computers and peripheral hardware to determine if they work well with Windows 2000. For more information about the HCL, see "Additional Resources" at the end of this chapter.

If the hardware you use is not included on the Windows 2000 HCL, contact the hardware manufacturer as a first-line resource for available information, newly tested hardware, and Basic Input/Output System (BIOS) and firmware revisions. Reducing the number of hardware components by removing nonessential peripherals and devices can help you pinpoint installation conflicts as well.

Stop Messages That Occur Only at Executive Initialization

Some Stop messages occur only during the relatively short Phase 4 period of the Windows 2000 startup sequence. Initialization of the Windows 2000 Executive, a family of software components that provides basic operating system services, is one step during Phase 4. Executive initialization can be further broken down into two phases: Phase 0 and Phase 1. During Phase 0, interrupts are disabled and only a few Executive components, such as the hardware abstraction layer (HAL), are initialized. During Phase 1 of Executive initialization, the system is fully operational, and the Windows 2000 subcomponents go through a full initialization.

Phase 0 Initialization Stop Messages

If you receive one of the Phase 0 initialization Stop messages listed in Table 33.1, run the hardware diagnostics provided by your system manufacturer.

Note In many situations, hardware failures manifest themselves as errors that generate Stop messages. This is why troubleshooting many of the Stop messages includes running hardware diagnostics on the system.

If no hardware problems are found, reinstall Windows 2000 and try to initialize it again. If you get the same message, contact a support technician.

Table 33.1 Phase 0 Initialization Stop Messages

Message ID

Symbolic Name

0x31

PHASE0_INITIALIZATION_FAILED

0x5C

HAL_INITIALIZATION_FAILED

0x5D

HEAP_INITIALIZATION_FAILED

0x5E

OBJECT_INITIALIZATION_FAILED

0x5F

SECURITY_INITIALIZATION_FAILED

0x60

PROCESS_INITIALIZATION_FAILED

Phase 1 Initialization Stop Messages

If you receive one of the Phase 1 initialization Stop messages listed in Table 33.2, reinstall Windows 2000 and try to initialize it again. If you get the same message, contact a support technician.

Table 33.2 Phase 1 Initialization Stop Messages

Message ID

Symbolic Name

0x32

PHASE1_INITIALIZATION_FAILED

0x61

HAL1_INITIALIZATION_FAILED

0x62

OBJECT1_INITIALIZATION_FAILED

0x63

SECURITY1_INITIALIZATION_FAILED

0x64

SYMBOLIC_INITIALIZATION_FAILED

0x65

MEMORY1_INITIALIZATION_FAILED

0x66

CACHE_INITIALIZATION_FAILED

0x67

CONFIG_INITIALIZATION_FAILED

0x68

FILE_INITIALIZATION_FAILED

0x69

IO1_INITIALIZATION_FAILED

0x6A

LPC_INITIALIZATION_FAILED

0x6B

PROCESS1_INITIALIZATION_FAILED

0x6C

REFMON_INITIALIZATION_FAILED

0x6D

SESSION1_INITIALIZATION_FAILED

0x6E

SESSION2_INITIALIZATION_FAILED

0x6F

SESSION3_INITIALIZATION_FAILED

0x70

SESSION4_INITIALIZATION_FAILED

0x71

SESSION5_INITIALIZATION_FAILED

Stop Messages Caused by Software Traps

Erroneous software conditions detected by the processor, called software traps, can also generate Stop messages. A software trap occurs when a processor detects a problem with executing an instruction, which causes it to stop. For example, a processor does not carry out an instruction whose variables contains invalid data types.

When you receive one of these messages, first write down the information displayed in the bugcheck information section of the Stop message, and then restart the computer. If the message recurs, you have four options for diagnosing the Stop error, all of which need to be handled by a trained support technician at your own site:

· Diagnose the problem by using the information and troubleshooting tips displayed in the Stop message. For more information see "Troubleshooting Stop Messages" later in this chapter and in the Windows 2000 Error and Event Messages Help, where message explanations and recommended user actions for the most common Stop messages are listed. This file is located on the Microsoft® Windows® 2000 Resource Kit companion CD.

· Contact your own or another technical support group to discuss the information in the Stop message. They might recognize a familiar pattern in the information and be able to offer assistance.

Important If you use either of the following options, be sure Windows 2000 is in debug mode before you restart your computer.

· Set up the Windows 2000 kernel debugger to gather more information about the problem.

· Contact your own or another technical support group for assistance in the remote use of the Windows 2000 kernel debugger.

Troubleshooting Stop Messages

Many problems can be resolved through troubleshooting procedures, such as verifying instructions, reinstalling key components, and verifying file dates. Also, diagnostic tools, such as Winmsd and Network General Sniffer and those found on the Windows 2000 Resource Kit companion CD, might isolate and resolve these issues.

Generic Troubleshooting Procedures

For general troubleshooting of Windows 2000 Stop messages, follow these suggestions:

· If new hardware has been added to the system recently, remove it or replace it to see if that resolves the error. Also, try running hardware diagnostics supplied by the system manufacturer. Check with the manufacturer to see if an updated system BIOS or firmware is available. Make sure that any expansion boards are properly seated and all cables are completely connected.

· Confirm that any new hardware is listed on the Windows 2000 Hardware Compatibility List (HCL). For more information about the HCL, see "Additional Resources" at the end of this chapter.

· If new device drivers or system services have been added recently, remove them or update them to see if the problem is resolved. You need to use Safe Mode to remove or disable components, because Safe Mode loads only the minimum required drivers and system services during the startup of Windows. To enter Safe Mode, restart your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose Safe Mode. For more information about safe mode, see "Troubleshooting Tools and Strategies" in this book.

· Check the computer with an up-to-date virus scanner program that is compatible with Windows 2000. Viruses can infect all types of Windows-formatted hard disks, and resulting disk corruption can generate system stop messages. Make sure the virus scanner checks the master boot record for infections.

· Verify that any recently added software is listed as compatible with Windows 2000. If it is not, check with the manufacturer to see if an update or a patch is available. Otherwise, remove the program to see if this resolves the error.

· Verify that the system has the latest Service Pack installed. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed. For information about downloading the latest Service Packs, see "Additional Resources" at the end of this chapter.

· Disable BIOS memory options such as caching or shadowing.

· Check the System Log and Application Log in Event Viewer to see if any additional error messages have been logged recently. These might pinpoint the cause of the error.

· Check the Microsoft Knowledge Base link using the keywords winnt and the full Stop error code, such as the example in Figure 33.1, 0x0000001E. For information about the Microsoft Knowledge Base link, see "Additional Resources" at the end of this chapter.

Kernel debugging is especially helpful when other troubleshooting techniques have failed, or when a problem repeats often. In these cases, it is possible to pinpoint the failing code in a driver or an application by using a kernel debugger. For kernel debugging, it is important to capture the exact text in the bugcheck information section of the error message. Also, in order to isolate a complex problem and develop a viable workaround or a program replacement, it is essential to record the exact steps leading to the failure.

Troubleshooting Common Stop Messages

For the most commonly encountered Stop messages, troubleshooting tips and recommendations have been gathered together to help you resolve the problem on your own. If the error persists after you have tried all of the recommendations listed both here and within the Stop message display, contact your technical support group for further assistance.

Stop 0x0000000A or IRQL_NOT_LESS_OR_EQUAL

This Stop message, also known as Stop 0xA, indicates that a kernel-mode process attempted to access a portion of memory at an Interrupt Request Level (IRQL) that was too high. A kernel-mode process can only access other processes that have an IRQL lesser than or equal to its own.

Interpreting the Message

The four parameters listed in the Stop 0xA message are defined in order of appearance as follows:

1. Memory address referenced

2. IRQL

3. Type of access (0 = read operation, 1 = write operation)

4. Address that referenced memory in parameter 1

If the third parameter is the same as the first parameter, a special condition exists in which a system worker routine, executed by a worker thread to handle background tasks known as work items, returned at a raised IRQL. In that case, the parameters are defined as follows:

1. Address of the worker routine

2. IRQL

3. Address of the worker routine

4. Address of the work item

Resolving the Problem

Buggy device driver, system service, or BIOS. The error that generates Stop 0xA usually occurs after the installation of a buggy device driver, system service, or BIOS. To resolve it quickly, restart your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose the Last Known Good Configuration option. This option is most effective when only one driver or service is added at a time.

Incompatible device driver, system service, virus scanner, or backup tool. If you encounter Stop 0xA while upgrading to a newer version of Windows, it might be caused by a device driver, a system service, a virus scanner, or a backup tool that is incompatible with the new version. If possible, remove all third-party device drivers and system services and disable any virus scanners prior to upgrading. Contact the software manufacturers to obtain updates of these tools.

For additional error messages that might help pinpoint the device or driver that is causing the error, check the System Log in Event Viewer. Disabling memory caching of the BIOS might also resolve this error. You also need to run hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner’s manual for your computer.

If your system has small computer system interface (SCSI) adapters, contact the adapter manufacturer to obtain updated Windows 2000 drivers. Try disabling sync negotiation in the SCSI BIOS, checking the cabling and the SCSI IDs of each device, and confirming proper termination. For enhanced integrated drive electronics (EIDE) devices, define the onboard EIDE port as Primary only. Also, check each EIDE device for the proper master/slave or stand-alone setting. Try removing all EIDE devices except for hard disks.

If the message appears during an installation of Windows 2000, make sure that the computer and all installed peripherals are listed on the Microsoft Windows 2000 Hardware Compatibility List (HCL). For more information about the HCL, see "Additional Resources" at the end of this chapter.

Microsoft periodically releases a package of product improvements and problem resolutions called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed. For information about installing the latest Service Pack, see "Additional Resources" at the end of this chapter.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For information about downloading hotfixes and Service Packs, see "Additional Resources" at the end of this chapter.

For more troubleshooting information about the 0xA Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000000A. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x0000001E or KMODE_EXCEPTION_NOT_HANDLED

This Stop message, also known as Stop 0x1E, indicates that a kernel-mode process tried to execute an illegal or unknown processor instruction. This error handler is a default error handler that catches errors not associated with other specific error handlers.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Exception code that was not handled

2. Address at which the exception occurred

3. Parameter 0 of the exception

4. Parameter 1 of the exception

The first parameter is a Windows 2000 error code, which is defined by the type of error encountered in the file Ntstatus.h of the Microsoft® Windows 2000 Device Driver Development Kit (DDK). For information about the DDK, see "Additional Resources" at the end of this chapter. The second parameter identifies the address of the module in which the error occurred. Frequently, the address points to an individual driver or piece of faulty hardware, which is generally listed on the third line of the Stop message. Always make a note of this address, as well as the link date of the driver or image that contains it. The last two parameters vary, depending upon the exception that has occurred. You can typically find a description of the parameters that are included with the name of error code in Ntstatus.h. If the error code has no parameters, the last two parameters are listed as 0x00000000.

Resolving the Problem

Hardware incompatibility. First, make sure that any new hardware installed is listed on the Windows 2000 Hardware Compatibility List (HCL). For more information about the HCL, see "Additional Resources" at the end of this chapter.

Buggy device driver or system service. In addition, a buggy device driver or system service might be responsible for this error. Hardware issues, such as memory conflicts and interrupt request (IRQ) conflicts, can also generate this error.

If a driver is listed by name within the Stop message, disable or remove that driver. Disable or remove any drivers or services that were recently added. If the error occurs during the startup sequence, restart the computer using Safe Mode to rename or delete the file. If the driver is used as part of the system startup process in Safe Mode, you need to start the computer by using the Recovery Console to access the file. For more information about Safe Mode and the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

If the problem is associated with Win32k.sys, the source of the error might be a third-party remote control program. If such software is installed, the service can be removed by starting the system using the Recovery Console and disabling the offending system service.

Check the System Log in Event Viewer for additional error messages that might help pinpoint the device or driver that is causing Stop 0x1E. Disabling memory caching of the BIOS might also resolve the error. You also need to run hardware diagnostics, especially the memory scanner, supplied by the system manufacturer. For details on these procedures, see the owner’s manual for your computer.

One type of this kind of error displays exception code 0x80000003. This error indicates a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch. This problem rarely occurs. If it occurs repeatedly, make sure a kernel debugger is connected and the system is started with the /DEBUG switch.

The error that generates this message can occur after the first restart during Windows 2000 Setup, or after setup is finished. A possible cause of the error is lack of disk space for installation and system BIOS incompatibilities. For problems during Windows 2000 installation that are associated with a lack of disk space, reduce the number of files on the target hard disk. Check for and delete any unneeded temporary files, Internet cache files, application backup files, and CHK files containing saved file fragments from disk scans. You can also use another hard disk with more free space for the installation. BIOS problems can be resolved by upgrading the system BIOS version.

For more troubleshooting information about the 0x1E Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000001E. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x00000024 or NTFS_FILE_SYSTEM

This Stop message, also known as Stop 0x24, indicates that a problem occurred within Ntfs.sys (the driver file that allows the system to read and write to NTFS drives).

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Source file and line number.

2. A non-zero value contains the address of the exception record.

3. A non-zero value contains the address of the context record.

4. A non-zero value contains the address where the original exception occurred.

All Stop messages due to problems with the file system have encoded in their first parameter the source file and the line number within the source file that generated the Stop. The high 16 bits (the first four hexadecimal digits after the 0x) identify the source file number, while the lower 16 bits (the last four hexadecimal digits of the parameter) identify the source line in the file where the stop occurred.

Resolving the Problem

Disk Corruption. Corruption in the NTFS file system or bad blocks (sectors) on the hard disk can induce this error. Corrupted SCSI and EIDE drivers can also adversely affect the system’s ability to read and write to disk, thus causing the error.

Check Event Viewer for error messages from SCSI and FASTFAT (System Log) or Autochk (Application Log) that might help pinpoint the device or driver that is causing the error. Try disabling any virus scanners, backup programs, or disk defragmenter tools that continually monitor the system. You also need to run hardware diagnostics supplied by the system manufacturer. For details on these procedures, see the owner’s manual for your computer. Run Chkdsk /f /r to detect and resolve any file system structural corruption. You must restart the system before the disk scan begins on a system partition. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the file allocation table (FAT16) file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

Depletion of nonpaged pool memory. If you create a Services for Macintosh volume on a large partition (7 gigabytes or larger) with a large number of files (at least 100,000) while the AppleTalk driver Apf.sys is loaded, the indexing routine consumes a large amount of nonpaged pool memory. If the nonpaged pool memory is completely depleted, this error can stop the system. However, during the indexing process, if the amount of available nonpaged pool memory is very low, another kernel-mode driver requiring nonpaged pool memory can also trigger this error. To resolve this error, either increase the amount of installed random access memory (RAM), which increases the quantity of nonpaged pool memory available to the kernel, or reduce the number of files on the Services for Macintosh volume.

Microsoft periodically releases a package of product improvements and problem resolutions called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

For more troubleshooting information about the 0x24 Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x00000024. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x0000002E or DATA_BUS_ERROR

This message, also known as Stop 0x2E, typically indicates that a parity error in system memory has been detected. This error is almost always caused by a hardware problem—a configuration issue, defective hardware, or incompatible hardware. The exception is when a device driver has accessed an address in the 0x8xxxxxxx range that does not exist (that is, does not have a physical address mapping).

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Virtual address that caused the fault

2. Physical address that caused the fault

3. Processor status register (PSR)

4. Faulting instruction register (FIR)

Resolving the Problem

Hardware problem. The most common cause of this error is a hardware problem, usually related to defective RAM, Level 2 (L2) RAM cache, or video RAM.

Stop 0x2E usually occurs after the installation of faulty hardware or when existing hardware fails. If hardware has recently been added to the system, remove it to see if the error recurs. If existing hardware has failed, remove or replace the faulty component. You need to run hardware diagnostics supplied by the system manufacturer to determine which hardware component has failed. For details on these procedures, see the owner’s manual for your computer. Check that all the adapter cards in the computer, including memory modules, are properly seated. Use an ink eraser or an electrical contact treatment, available at electronics supply stores, to ensure adapter card contacts are clean. Be sure to wipe the cleaned contacts off, removing all cleaning debris, before reinstalling the adapter card into the computer. If compressed air is available, use it to clear out the adapter card slot.

If the problem occurs on a newly installed system, check the availability of updates for BIOS revisions on the motherboard, SCSI controllers, or network cards. Updates of this kind are typically available on the Web site or BBS of the hardware manufacturer.

If the error occurs after installing a new or updated device driver, the driver needs to be removed or replaced. If, under this circumstance, the error occurs during startup, restart the computer using Safe Mode to rename or delete the file. If the driver is used as part of the system startup process in Safe Mode, you need to start the computer using the Recovery Console in order to access the file. For more information about Safe Mode and the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

For additional error messages that might help pinpoint the device or driver that is causing the error, check the System Log in Event Viewer. Disabling memory caching of the BIOS might also resolve this error. In addition, check the system for viruses, using any up-to-date, commercial virus scanning software that examines the Master Boot Record of the hard disk. All Windows 2000 file systems can be infected by viruses.

Disk corruption. This error can also be a result of hard disk corruption. Run Chkdsk /f /r on the system partition. You must restart the system before the disk scan begins. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

Microsoft periodically releases a package of product improvements and problem resolutions for Windows 2000 called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

Finally, if all the above suggestions fail to resolve the error, take the system motherboard to a repair facility for diagnostic testing. A crack, a scratched trace, or a defective component on the motherboard can also cause this error.

For more troubleshooting information about the 0x2E Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000002E. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x00000050 or PAGE_FAULT_IN_NONPAGED_AREA

This Stop message, also known as Stop 0x50, occurs when requested data is not found in memory. The system generates a fault, which normally indicates that the system looks for data in the paging file. In this circumstance, however, the missing data is identified as being located within an area of memory that cannot be read to disk. The system faults, but cannot find, the data and is unable to recover. Faulty hardware, a buggy system service, antivirus software, and a corrupted NTFS volume can all generate this type of error.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Virtual address that caused the fault

2. Type of access (0 = read operation, 1 = write operation)

3. If not zero, the instruction address that referenced the address in parameter 1

4. Opaque information about the stop, interpreted by the kernel

Resolving the Problem

Faulty hardware. Stop 0x50 usually occurs after the installation of faulty hardware or in the event of failure of installed hardware (usually related to defective RAM, be it main memory, L2 RAM cache, or video RAM). If hardware has been added to the system recently, remove it to see if the error recurs. If existing hardware has failed, remove or replace the faulty component. You need to run hardware diagnostics supplied by the system manufacturer. For details on these procedures, see the owner’s manual for your computer.

Buggy system service. Often, the installation of a buggy system service is a culprit. Disable the service and confirm that this resolves the error. If so, contact the manufacturer of the system service about a possible update. If the error occurs during system startup, restart your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose the Last Known Good Configuration option. This option is most effective when only one driver or service is added at a time.

Antivirus software. Antivirus software can also trigger this error. Disable the program and confirm that this resolves the error. If it does, contact the manufacturer of the program about a possible update.

Corrupted NTFS volume. A corrupted NTFS volume can also generate this error. Run Chkdsk /f /r to detect and repair disk errors. You must restart the system before the disk scan begins on a system partition. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book. If the hard disk is a SCSI disk, check for problems between the SCSI controller and the disk.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

Finally, check the System Log in Event Viewer for additional error messages that might help pinpoint the device or driver that is causing the error. Disabling memory caching of the BIOS might also resolve this error.

Microsoft periodically releases a package of product improvements and problem resolutions for Windows 2000 called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

For more troubleshooting information about the 0x50 Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x00000050. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x00000077 or KERNEL_STACK_INPAGE_ERROR

This Stop message, also known as Stop 0x77, indicates that the requested page of kernel data from the paging file could not be read into memory.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. (zero)

2. Value found in stack where signature should be

3. (zero)

4. Address of signature on kernel stack

The first set of definitions applies only if the first and third parameters are both zero. Otherwise, the following definitions are applicable:

1. Status code

2. I/O status code

3. Page file number

4. Offset into page file

Frequently, the cause of this error can be determined from the second parameter, the I/O status code. Examples include:

· 0xC000009A, or STATUS_INSUFFICIENT_RESOURCES, is caused by lack of nonpaged pool resources.

· 0xC000009C, or STATUS_DEVICE_DATA_ERROR, is generally due to bad blocks (sectors) on the hard disk.

· 0xC000009D, or STATUS_DEVICE_NOT_CONNECTED, indicates defective or loose cabling, termination, or the controller not seeing the hard disk.

· 0xC000016A, or STATUS_DISK_OPERATION_FAILED, is also caused by bad blocks (sectors) on the hard disk.

· 0xC0000185, or STATUS_IO_DEVICE_ERROR, is caused by improper termination or defective cabling on SCSI devices, or two devices attempting to use the same IRQ.

These codes are the most common ones for which specific causes have been determined. For information about other possible status codes that can be returned, see the file Ntstatus.h of the Windows 2000 Device Driver Development Kit (DDK). For information about the DDK, see "Additional Resources" at the end of this chapter.

Resolving the Problem

Bad block. Stop 0x77 is caused by a bad block (sector) in a paging file or a disk controller error. In extremely rare cases, it is caused when nonpaged pool resources run out.

If the first and third parameters are zero, the stack signature in the kernel stack was not found. This error is caused by defective hardware. If the I/O status is C0000185 and the paging file is on a SCSI disk, the disk cabling and SCSI termination needs to be checked for problems.

Viruses. In addition, check your computer for viruses using any up-to-date, commercial virus scanning software that examines the Master Boot Record of the hard disk. All Windows 2000 file systems can be infected by viruses.

An I/O status code of 0xC000009C or 0xC000016A normally indicates that the data could not be read from the disk due to a bad block (sector). If you can restart the system after the error, Autochk runs automatically and attempts to map the bad sector to prevent its further use. If Autochk does not scan the hard disk for errors, you can manually start the disk scanner. Run Chkdsk /f /r on the system partition. You must restart the system before the disk scan begins. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

Failing RAM. Another common cause of this error message is failing RAM. You need to run hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner’s manual for your computer.

Also, check that all the adapter cards in the computer, including memory modules, are properly seated. Use an ink eraser or an electrical contact treatment, available at electronics supply stores, to ensure adapter card contacts are clean. Be sure to wipe the cleaned contacts off, removing all cleaning debris, before reinstalling the adapter card into the computer. If compressed air is available, use it to clear out the adapter card slot.

In addition, check the System Log in Event Viewer for additional error messages that might help pinpoint the device that is causing the error. Disabling memory caching of the BIOS might also resolve this error.

Finally, if all the above steps fail to resolve the error, take the system motherboard to a repair facility for diagnostic testing. A crack, a scratched trace, or a defective component on the motherboard can also cause this error.

For more troubleshooting information about the 0x77 Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x00000077. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x00000079 or MISMATCHED_HAL

This message, also known as Stop 0x79, is displayed when the hardware abstraction layer (HAL) and the kernel or the computer type do not match. This error most often occurs when single-processor and multiprocessor configuration files are mixed on the same system.

Interpreting the Message

The types of mismatch parameters are defined in order of appearance in the sets as follows. The first parameter determines which set is applicable.

1. If this parameter is 1, the processor control block (PRCB) release levels mismatch (that is, something is out of date).

2. Major PRCB level of Ntoskrnl.exe.

3. Major PRCB level of Hal.dll.

4. (zero).

– Or –

1. If this parameter is 2, the build types mismatch.

2. Build type of Ntoskrnl.exe.

3. Build type of Hal.dll.

4. (zero).

(Build Types: 0 = free, multiprocessor-enabled build; 1 = checked, multiprocessor-enabled build; and 2 = free, single-processor build)

Resolving the Problem

Stop 0x79 can occur if either the Ntoskrnl.exe or Hal.dll files have been manually updated. The error can also indicate that one of those two files is out-of-date (that is, the HAL is designed for Microsoft® Windows NT® version 4.0 and the kernel is for Windows 2000). Additionally, the computer might erroneously have a multiprocessor HAL and a single-processor kernel installed, or vice versa.

The kernel file Ntoskrnl.exe is for single-processor systems and Ntkrnlmp.exe is for multiprocessor systems. However, these file names correspond to the files on the installation media; after Windows 2000 has been installed, the file is renamed Ntoskrnl.exe, regardless of the source file used. The HAL file also uses the name Hal.dll after installation, but there are several possible HAL files on the installation media.

To resolve this error, restart the computer using either the product CD or the four Setup disks and enter Windows 2000 Setup. Press ENTER at the Setup Notification screen to go to the Welcome to Setup screen. Press R to repair a Windows 2000 installation, and then press C to use the Recovery Console. Use the Copy command to copy either the correct HAL or kernel file from the original CD into the appropriate folder on the hard disk. The Copy command detects whether the file to be copied is in the Microsoft compressed file format. If so, it automatically expands the file copied on the target drive, although you need to specify the correct file name extension as part of the command. These files can also be located within the Driver.cab file. If so, use the Expand command to extract them from the CAB and copy them to the hard disk. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

For more troubleshooting information about the 0x79 Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x00000079. For information about this resource, see chapters under "Additional Resources" at the end of this chapter.

Stop 0x0000007A or KERNEL_DATA_INPAGE_ERROR

This Stop message, also known as Stop 0x7A, indicates that the requested page of kernel data from the paging file could not be read into memory.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Lock type that was held (value 1, 2, 3, or Page Table Entry [PTE] address).

2. I/O status code.

3. Current process (virtual address for lock type 3, or PTE).

4. Virtual address that could not be read into memory.

For information about all possible status codes that might be returned, see the file Ntstatus.h of the Windows 2000 Device Driver Development Kit (DDK). For information about the DDK, see "Additional Resources" at the end of this chapter.

Resolving the Problem

Stop 0x7A is usually caused by a bad block (sector) in a paging file, a virus, a disk controller error, or failing RAM. In rare cases, it is caused when nonpaged pool resources run out. It is also caused by defective hardware.

SCSI problems. If the I/O status is C0000185 and the paging file is on a SCSI disk, check the disk cabling and SCSI termination for problems.

Viruses. Check your computer for viruses, using any up-to-date, commercial virus scanning software that examines the Master Boot Record of the hard disk. Any Windows 2000 file system can be infected by viruses.

Bad block. An I/O status code of 0xC000009C or 0xC000016A normally indicates the data cannot be read from the disk due to a bad block (sector). If you can restart the system after the error, Autochk runs automatically and attempts to map out the bad sector. If Autochk does not scan the hard disk for errors, you can manually launch the disk scanner. Run Chkdsk /f /r on the system partition. You must restart the system before the disk scan begins. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

Failing RAM. Another common cause of this error message is failing RAM. Run hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner’s manual for your computer.

Also, check that all the adapter cards in the computer, including memory modules, are properly seated. Use an ink eraser or an electrical contact treatment, available at electronics supply stores, to ensure adapter card contacts are clean. Be sure to wipe the cleaned contacts off, removing all cleaning debris, before reinstalling the adapter card into the computer. If compressed air is available, use it to clear out the adapter card slot.

Check the System Log in Event Viewer for additional error messages that might help pinpoint the device that is causing the error. Disabling memory caching of the BIOS might also resolve it.

Microsoft periodically releases a package of product improvements and problem resolutions for Windows 2000 called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

Finally, if all the above steps fail to resolve the error, take the system motherboard to a repair facility for diagnostic testing. A crack, a scratched trace, or a defective component on the motherboard can also cause this error.

For more troubleshooting information about the 0x7A Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000007A. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x0000007B or INACCESSIBLE_BOOT_DEVICE

This Stop message, also known as Stop 0x7B, indicates that Windows 2000 lost access to the system partition during the startup process. This error always occurs while the system is starting and cannot be debugged because it generally occurs before the operating system has loaded the debugger.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Address of a Unicode string data structure representing the Advanced RISC Computing (ARC) specification name of the device from which the startup was being attempted.

2. Pointer to ARC name string in memory.

3. (zero).

4. (zero).

The first parameter typically contains two separate pieces of data. For example, if the parameter is 0x00800020, 0x0020 is the actual length of the Unicode string and 0x0080 is the maximum name string length. The next parameter contains the address of the buffer. This address is in system space, so the high-order bit is set.

If the file system that is supposed to read the boot device failed to initialize or simply did not recognize the data on the boot device as a file system structure, the following parameter definition applies:

1. Address of the device object that could not be mounted.

2. (zero).

3. (zero).

4. (zero).

The value of the first argument determines whether the argument is a pointer to an ARC name string (ARC names are a generic method of identifying devices within the ARC environment) or a device object, because a Unicode string never has an odd number of bytes, and a device object always has a Type code of 0003.

Resolving the Problem

Failed boot device. During I/O system initialization, the boot device driver might have failed to initialize the boot device (typically a hard disk). File system initialization might have failed because it did not recognize the data on the boot device.

Also, repartitioning the system partition or installing a new SCSI adapter or disk controller might induce this error. If this happens, the Boot.ini file must be edited. For additional information about the Boot.ini file, see "Additional Resources" at the end of this chapter.

Incompatible disk hardware. If the error occurred at the initial setup of the system, the system might have been installed on an unsupported disk or SCSI controller. Some controllers are supported only by drivers that are in the Windows Driver Library (WDL), which requires the user to use a custom driver during installation. If upgrading the computer to Windows 2000, you might see a prompt to press F6 to use a custom driver. If doing a clean installation of Windows 2000, press F6 when the message "Setup is inspecting your computer’s hardware configuration . . . " is displayed. You will be prompted later for the new driver. If Setup autodetected the controller, you might need to skip detection and use a specific manufacturer’s diskette to load the driver. Also, check the availability of updates for the system BIOS and SCSI controller firmware. Updates of this kind are typically available on the Web site or BBS of the hardware manufacturer.

Remove any recently added hardware, especially hard disks or controllers, to see if the error is resolved. If the offending piece of hardware was a hard disk, the disk firmware version might be incompatible with Windows 2000. Contact the manufacturer for updates. If the removal of another piece of hardware resolved the error, IRQ or I/O port conflicts likely exist. Reconfigure the new device according to the manufacturer’s instructions.

Confirm that all hard disks, hard disk controllers, and SCSI adapters are listed on the Microsoft Windows 2000 Hardware Compatibility List (HCL). For more information about the HCL, see "Additional Resources" at the end of this chapter.

If a driver was recently added, restart your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose the Last Known Good Configuration option. This option is most effective when only one driver or service is added at a time.

In addition, check your computer for viruses using any up-to-date, commercial virus scanning software that examines the Master Boot Record of the hard disk. All Windows 2000 file systems can be infected by viruses.

This error can also be a result of hard disk corruption. Run Chkdsk /f /r on the system partition. You must restart the system before the disk scan begins. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

If your system has SCSI adapters, contact the adapter manufacturer to obtain updated Windows 2000 drivers. Try disabling sync negotiation in the SCSI BIOS, checking the cabling and the SCSI IDs of each device, and confirming proper termination. For EIDE devices, define the onboard EIDE port as Primary only. Also check each EIDE device for the proper master/slave/stand-alone setting. Try removing all EIDE devices except for hard disks.

For more troubleshooting information about the 0x7B Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000007B. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0x0000007F or UNEXPECTED_KERNEL_MODE_TRAP

This Stop message, also known as Stop 0x7F, means that one of two types of problems occurred in kernel-mode, either a kind of condition that the kernel is not allowed to have or catch (a bound trap), or a kind of error that is always fatal. Occasionally, this message can be caused by software problems, but the most common cause is hardware failure.

Interpreting the Message

The four parameters listed in the message are defined in order of appearance as follows:

1. Processor exception code

2. (zero)

3. (zero)

4. (zero)

The first and most important parameter (0x0000000x) can have several different values. The cause of this error can vary, depending on the value of this parameter. All conditions that cause a Stop 0x7F can be found in any x86-based microprocessor reference manual because they are specific to the x86-based platform. Here are some of the most common exception codes:

· 0x00000000, or Divide by Zero Error, is caused when a DIV instruction is run and the divisor is 0. Memory corruption, other hardware problems, or software failures can cause this error.

· 0x00000004, or Overflow, occurs when the processor executes a call to an interrupt handler when the overflow (OF) flag is set.

· 0x00000005, or Bounds Check Fault, is generated when the processor, while executing a BOUND instruction, finds that a variable’s assigned value exceeds the specified limits. A BOUND instruction is used to ensure that a signed array index is within a certain range.

· 0x00000006, or Invalid Opcode, is generated when the processor attempts to run an invalid instruction. This is generally caused when the instruction pointer has become corrupted and is pointing to the wrong location. The most common cause of this is hardware memory corruption.

· 0x00000008, or Double Fault, is when an exception occurs while trying to call the handler for a prior exception. Normally, the two exceptions can be handled serially. However, there are several exceptions that cannot be handled serially, and in this situation the processor signals a double fault. This is almost always caused by hardware problems.

Other exception codes are defined as follows:

· 0x00000001—A system-debugger call.

· 0x00000003—A debugger breakpoint.

· 0x00000007—A hardware coprocessor instruction with no coprocessor present.

· 0x0000000A—A corrupted Task State Segment.

· 0x0000000B—An access to a memory segment that was not present.

· 0x0000000C—An access to memory beyond the limits of a stack.

· 0x0000000D—An exception not covered by some other exception; a protection fault that pertains to access violations for applications.

Resolving the Problem

Hardware failure or incompatibility. Stop 0x7F usually occurs after the installation of faulty or mismatched hardware (especially memory) or in the event that installed hardware fails. If hardware was recently added to the system, remove it to see if the error recurs. If existing hardware has failed, remove or replace the faulty component. Run hardware diagnostics supplied by the system manufacturer, especially the memory scanner, to determine which hardware component has failed. For details on these procedures, see the owner’s manual for your computer. Check that all the adapter cards in the computer, including memory modules, are properly seated. Use an ink eraser or an electrical contact treatment, available at electronics supply stores, to ensure adapter card contacts are clean. Be sure to wipe the cleaned contacts off, removing all cleaning debris, before reinstalling the adapter card into the computer. If compressed air is available, use it to clear out the adapter card slot.

If the error appears on a newly installed system, check the availability of updates for BIOS revisions on the motherboard, SCSI controllers, or network cards. Updates of this kind are typically available on the Web site or BBS of the hardware manufacturer.

Confirm that all hard disks, hard disk controllers, and SCSI adapters are listed on the Windows 2000 Hardware Compatibility List (HCL). For more information about the HCL, see "Additional Resources" at the end of this chapter.

If the error occurred after the installation of a new or updated device driver, the driver needs to be removed or replaced. If, under this circumstance, the error occurs during the startup sequence, restart the computer using Safe Mode to rename or delete the file. If the driver is used as part of the system startup process in Safe Mode, you need to start the computer using the Recovery Console in order to access the file. For more information about Safe Mode and the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Also try restarting your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose the Last Known Good Configuration option. This option is most effective when only one driver or service is added at a time.

Overclocking. Setting the CPU to run at speeds above the rated specification (known as overclocking the CPU) can cause this error. If this has been done to the computer experiencing the error, return the CPU to the default clock speed setting.

Check the System Log in Event Viewer for additional error messages that might help pinpoint the device or driver that is causing the error. Disabling memory caching of the BIOS might also resolve it.

If you encountered this error while upgrading to Windows 2000, it might be caused by a device driver, a system service, a virus scanner, or a backup tool that is incompatible with the new version. If possible, remove all third-party device drivers and system services and disable any virus scanners prior to upgrading. Contact the software manufacturer to obtain updates of these tools.

Microsoft periodically releases a package of product improvements and problem resolutions for Windows 2000 called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

Finally, if all the above steps fail to resolve the error, take the system motherboard to a repair facility for diagnostic testing. A crack, a scratched trace, or a defective component on the motherboard can also cause this error.

For more troubleshooting information about the 0x7F Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0x0000007F. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0xC000021A or STATUS_SYSTEM_PROCESS_TERMINATED

This Stop message occurs when a user-mode subsystem, such as Winlogon or the Client/Server Runtime Subsystem (CSRSS), is fatally compromised and security can no longer be guaranteed. The operating system switches into kernel-mode and generates this error. Because Windows 2000 cannot run without Winlogon or CSRSS, this is one of the few situations where the failure of a user-mode service can bring down the system. Running the kernel debugger is not useful in this situation because the actual error occurred in a user-mode process.

Interpreting the Message

The first three parameters listed in the message are defined in order of appearance as follows:

1. Status code

2. (zero)

3. (zero)

For information about all possible status codes that might be returned, see the file Ntstatus.h of the Windows 2000 Device Driver Development Kit (DDK). For information about the DDK, see "Additional Resources" at the end of this chapter.

Resolving the Problem

Device drivers, system services, and third-party applications. Because Stop 0xC000021A occurs in a user-mode process, the most common culprits are third-party applications. If the error occurred after the installation of a new or updated device driver, system service, or third-party application, the new software needs to be removed or disabled. Contact the manufacturer of the software about a possible update.

If the error occurs during system startup, restart your computer, and press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose the Last Known Good Configuration option. This option is most effective when only one driver or service is added at a time. If this does not resolve the error, try manually removing the offending software by restarting the computer in Safe Mode and renaming or uninstalling the faulty software. If the faulty software is used as part of the system startup process in Safe Mode, you need to start the computer using the Recovery Console in order to access the file. For more information about Safe Mode and the Recovery Console, see "Troubleshooting Tools and Strategies" in this book. If a newly installed piece if hardware is suspected, remove it to see if this resolves the issue.

Try running the Emergency Recovery Disk (ERD) and allow the system to repair any errors that it detects. For more information about the ERD, see "Troubleshooting Tools and Strategies" in this book.

Mismatched system files. Mismatched system files can also cause this error. If you can successfully start the computer using Safe Mode, try using the System File Checker (SFC) to correct the problem. Open up the Run dialog box, type sfc /scannow, and then press ENTER. For more information about System File Checker and Safe Mode, see "Troubleshooting Tools and Strategies" in this book. If SFC does not correct the problem, running a full system restore from tape might generate this error (some restore programs might skip restoring system files they determine are in use). Check to see if there is an updated version of the Backup/Restore program available from the manufacturer.

Microsoft periodically releases a package of product improvements and problem resolutions for Windows 2000 called a Service Pack. Because many problems are resolved by installing the latest Service Pack, it is recommended that all users install them as they become available. To check which Service Pack, if any, is installed on your system, click Start, click Run, type winver, and then press ENTER. The About Windows 2000 dialog box displays the Windows version number and the version number of the Service Pack, if one has been installed.

Occasionally, remedies to specific problems are developed after the release of a Service Pack. These remedies are called hotfixes. Microsoft does not recommend that you install a post–Service Pack hotfix unless the specific problem it addresses has been encountered. Service Packs include all of the hotfixes released since the release of the previous Service Pack. The status of hotfix installations is not indicated in the About Windows 2000 dialog box. For more information about Service Packs and hotfixes, see "Additional Resources" at the end of this chapter.

For more troubleshooting information about the 0xC000021A Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0xC000021A. For information about this resource, see "Additional Resources" at the end of this chapter.

Stop 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH

This Stop message indicates that a driver or a system DLL has been corrupted. Typically, the name of the damaged file is displayed as part of the message.

Resolving the Problem

To resolve this error, restart the computer using either the product CD or the four Setup disks and enter Windows 2000 Setup. Press ENTER at the Setup Notification screen to go to the Welcome to Setup screen. Press R to repair a Windows 2000 installation, then press R to start the Emergency Repair Process, and then press F to run the Fast Repair option. You will be prompted for the Emergency Recovery Disk (ERD). Allow the system to repair or replace the missing or damaged driver file on the system partition. For more information about the ERD, see "Troubleshooting Tools and Strategies" in this book.

If you can successfully start the computer using Safe Mode, try using the System File Checker (SFC) to correct the problem. Open up the Run dialog box, type sfc /scannow and press ENTER. For more information about System File Checker and Safe Mode, see "Troubleshooting Tools and Strategies" in this book.

If a specific file was identified in the Stop message as being corrupted, you can try replacing that individual file manually. Restart the system, then press F8 at the character-mode screen that displays the prompt "For troubleshooting and advanced startup options for Windows 2000, press F8." On the resulting Windows 2000 Advanced Options menu, choose Safe Mode with Command Prompt. From there, copy a fresh version of the file from the original source onto the hard disk. If the file is used as part of the system startup process in Safe Mode, you need to start the computer using the Recovery Console in order to access the file. For more information about Safe Mode and the Recovery Console, see "Troubleshooting Tools and Strategies" in this book. If these methods fail, try reinstalling Windows 2000 and then restoring the system from a backup.

Note Some files are located in the Driver.cab located on the Windows 2000 operating system CD or in the %SystemRoot%\Driver cache\I386 folder. Files inside the CAB file need to be extracted before they can be used. If you can successfully start the computer with Safe Mode, they can be extracted by double-clicking the CAB file in Explorer and copying the files to the target location. If you cannot start the computer, use the Recovery Console. Use the Expand command to extract them from the CAB and copy them to the hard disk. If the original file from the product CD is not in a CAB file but has a file name extension ending in an underscore, the file needs to be uncompressed before it can be used. The Recovery Console’s Copy command automatically detects compressed files and expands them as they are copied to the target location, although you need to specify the correct file name extension as part of the command. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Disk errors can be a source of file corruption. Run Chkdsk /f /r to detect and resolve any file system structural corruption. You must restart the system before the disk scan begins on a system partition. If you cannot start the system due to the error, use the Recovery Console and run Chkdsk /r. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

Warning If your system partition is formatted with the FAT16 file system, the long file names used by Windows 2000 can be damaged if Scandisk or another MS-DOS-based hard disk tool is used to verify the integrity of your hard disk from an MS-DOS prompt. (An MS-DOS prompt is typically derived from an MS-DOS startup disk or from starting MS-DOS on a multiboot system.) Always use the Windows 2000 version of Chkdsk on Windows 2000 disks.

If the error occurred immediately after RAM was added to the system, the paging file might be corrupted or the new RAM itself might be either faulty or incompatible.

To determine if newly added RAM is causing a Stop message

1. Return the system to the original RAM configuration.

2. Use the Recovery Console to access the partition containing the paging file and delete the file Pagefile.sys. For more information about the Recovery Console, see "Troubleshooting Tools and Strategies" in this book.

3. While still in the Recovery Console, run Chkdsk /r on the partition that contained the paging file.

4. Restart the system.

5. Set the paging file to an optimal level for the amount of RAM added.

6. Shut down the system and add your RAM.

The new RAM must meet the system manufacturer’s specifications for speed, parity, and type (that is, fast page mode [FPM] versus extended data out [EDO] versus synchronous dynamic random access memory [SDRAM]). Try to match the new RAM to the existing installed RAM as closely as possible. RAM can come in many different capacities, and more importantly, in different formats (single inline memory modules [SIMMs] or dual inline memory modules [DIMMs]). The electrical contacts can be either gold or tin, and it is not wise to mix these contact types.

If you experience the same error message after reinstalling the new RAM, run hardware diagnostics supplied by the system manufacturer, especially the memory scanner. For details on these procedures, see the owner’s manual for your computer.

When you can log on to the system again, check the System Log in Event Viewer for additional error messages that might help pinpoint the device or driver that is causing the error. Disabling memory caching of the BIOS might also resolve this error.

For more troubleshooting information about the 0xC0000221 Stop message, refer to the Microsoft Knowledge Base link, using the keywords winnt and 0xC0000221. For information about these resources, see "Additional Resources" at the end of this chapter.

Hardware Malfunction Messages

Hardware malfunction messages are another form of Stop messages. Like Stop messages, they are character-mode messages. They are caused by a hardware condition detected by the processor. The first one or two lines of the hardware malfunction message on one computer might differ from those on a different computer, even with the same failed component, depending upon the hardware abstraction layer (HAL) that is loaded at startup. However, these lines always convey the same idea, as shown in the following example:

Hardware malfunction.

Call your hardware vendor for support.

The installed HAL also determines how additional lines in each system’s message differ in format and content. Therefore, before doing what the hardware malfunction message recommends, contact a support technician within your own organization to run hardware diagnostics on your computer. The information provided after the first two lines in the message helps your support technician decide which hardware diagnostics to run. For example, for ISA bus computers, this information indicates whether it is a memory-parity error or a bus-data error. On EISA computers, if the hardware problem is in an adapter, the adapter slot number on the system board is displayed.

Important In many situations, hardware failures first manifest themselves as Stop errors. Software using the failing hardware can detect problems because of unexpected results before the hardware itself has been identified as faulty. This is why troubleshooting many of the Stop messages includes running hardware diagnostics on the system.

Under rare circumstances, hardware malfunction messages can be generated by software bugs—specifically driver problems. For example, if a problematic driver writes to the wrong I/O port, the actual device at the targeted port might generate a hardware malfunction message. However, most errors of this sort are detected and debugged before the software is released to the public.

If you need help from outside your organization to interpret the information on the screen, contact the hardware manufacturer for your specific brand of computer, adapter, or peripheral device.

Additional Resources

· For more information about individual Stop messages, see the Microsoft Knowledge Base link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources.

· For more information, see the Hardware Compatibility List link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources.

· The latest Service Packs and hotfixes for Windows 2000 are available from Windows Update. Click Start, and then click Windows Update to see a list of components, if any, that are available as downloads for your system.

· For more information about Windows 2000 status code definitions in the file Ntstatus.h of the Windows 2000 Device Driver Development Kit (DDK), see the Device Driver Development Kit (DDK) link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources.