|
||
|
| Solve The Blue Screen Of Death |
Email This
View My Personal Library |
|
Operating System November 2000 Vol.6 Issue 11 Page(s) 62-63 in print issue |
Solve The Blue Screen Of Death | ||
|
The Blue Screen Of Death, which is commonly referred to as the BSOD, is the most obvious and unnerving way your computer can tell you something has gone very wrong. The technical term for the BSOD is the "stop screen" because the error you've encountered is significant enough to cause every process on your computer to stop. In simple terms, the BSOD occurs when applications within the operating system aren't behaving correctly. This is usually the result of one of the three following problems: access to an illegal instruction has been encountered, invalid data or code has been accessed, or the privilege level of an operation is invalid. When these things occur, the processor returns an exception to the operating system, which in turn is handled as a Fatal Exception error. That blue screen, which is usually covered with hexadecimal error codes, is what results. In most cases, the exception is nonrecoverable, and you must restart or shut down the system. But the BSOD is not as terrible as it may seem. Once you learn a little about what causes it and how you can solve it, you won't worry quite so much the next time it suddenly rears its ugly head. When you look at the BSOD, you will see it is divided into five sections. Three of these main sections are very important to finding a solution. The top section will contain the error code and parameters and should look like several random number groups. Carefully write down these codes exactly how they appear on-screen. Next, go to the Microsoft Knowledge Base at the Microsoft Web site (http://www.microsoft.com, click Support, and then click Searchable Knowledge Base). The Knowledge Base contains many articles that explain specific Stop messages and resolutions to these problems. Search the Knowledge Base for the first hexadecimal number exactly as it appeared on your screen. The Knowledge Base will likely be able to return some information that can help you figure out what caused the problem and help you solve it. The middle section of the BSOD should contain a list of all the drivers (programs that allow a hardware peripheral to communicate with the computer) that were running when the crash occurred. Many BSODs are caused by driver problems, so keep documentation of when you installed your drivers and what those drivers are for. This can go a long way toward helping you solve the problem. If you aren't sure and you are still having trouble, you may want to try uninstalling the most recent driver that you installed. Finally, the bottom section of the BSOD will contain a dump of the memory modules that were on the memory stack at the time of the crash. These can be very important clues to solving your problem as well.
The most common cause of this error is a corrupt pointer (a variable used by a program to refer to a block of memory) that references an incorrect location in memory. If the variable has a bad value in it, a STOP 0x0000000A message will occur. Hardware or software problems can cause the Stop 0xA message. The easiest way to diagnose the problem, therefore, is to recall whether or not you've recently added any new hardware or drivers. If so, go back and remove the hardware and driver. If that doesn't solve the problem, try updating all of your drivers if possible. If you'd rather determine the exact cause of the Stop 0xA rather than remove anything from your system, you'll have to examine the message more thoroughly. You can determine which process or driver tried to access memory it shouldn't have by looking at the parameters displayed on the BSOD. As an example, Microsoft uses the following Stop message: STOP 0x0000000A(0xWWWWWWWW, 0xXXXXXXXX, 0xYYYYYYYY, 0xZZZZZZZZ) IRQL_NOT_LESS_OR_EQUAL ** Address 0xZZZZZZZZ has base at <address>- <driver> The four parameters inside the parentheses have the following meaning: •0xWWWWWWWW: Memory address that was referenced improperly •0xXXXXXXXX: IRQ that was required to access the memory •0xYYYYYYYY: Type of access: 0=Read, 1=Write •0xZZZZZZZZ: Address of the instruction that attempted to reference the memory at 0xWWWWWWWW If the last parameter falls within the address range of one of the drivers loaded on your system, you will know which device driver was running when the memory access occurred. This driver is often identified in the third line of the STOP screen: **Address 0xZZZZZZZZ has base at <address>- <driver name>. If <driver name> is a specific driver, search in the Microsoft Knowledge Base on the keyword 0x0000000A and the driver name for suggestions for solving this problem. General Protection Fault (13 OD). This occurs when anything happens that is not covered by any of the other processor exceptions. The exception indicates that the program has been corrupted in memory. Divide Fault (00). You'll see this if a program tried to divide a value by zero or if the results of the operation do not fit in the destination operand. For example, the program was expecting a positive number and got a negative number instead. Page Fault (14 OE). This occurs when you are running low on memory. A page fault allows the operating system to recover small code segments from temporary storage on your hard drive that were put there when memory resources started getting low. This error usually occurs whenever an application goes looking for a piece of itself in RAM (random-access memory) and cannot find it. The operating system will attempt to retrieve the missing page of code from your hard drive. If it is unsuccessful in doing so, you get the BSOD. 0x0000001E KMODE_EXCEPTION _NOT_HANDLED. This is a common error that can be caused by outdated drivers and hardware problems. Usually, the second parameter will point to the driver or function that caused the problem. Always note this address as well as the link date of the driver that contains this address. 0x00000051 REGISTRY_ERROR. In this case, something has gone wrong with the Registry (a database that contains informa tion about user preferences and system con figuration in Windows 95, Windows 98, and Windows NT. It could indicate the Registry received an input/output error while attempting to read one of its files as a result of a hardware problem or file system corruption. 0x00000077 KERNEL_STACK_ INPAGE_ERROR. A bad memory block in a paging file or a disk controller error causes this error message. If the error is a result of a paging error, AUTOCHK will attempt to find the bad block the next time you boot up your system. 0x0000007B INACCESSIBLE_BOOT_ DEVICE. Here, your system is unable to access the boot device. Often, this indicates a disk controller configuration problem or an error in accessing the hard drive. It also may indicate that a virus has infected the boot sector. 0xC000009C and 0xC000016A. Both of these codes indicate a bad memory block on the hard drive. 0xC0000185. This code indicates that two devices are attempting to use the same IRQ, that there has been improper termination of a SCSI (Small Computer System Interface) device, or that there is bad SCSI cabling. 0x0000007F UNEXPECTED_ KERNEL_MODE_TRAP. This message may indicate a RAM problem, a BIOS (Basic Input/Output System) problem, or corrupted file system drivers. Make sure your RAM modules are of the same speed and type. 0x00000080 NMI_HARDWARE_FAILURE. When you see this message, a hardware error has occurred. Using nonparity memory in a parity-based system, mixing parity and nonparity memory, or bad RAM modules can cause this problem. 0x0000000A IRQL_NOT_ LESS_OR_EQUAL. A bad driver usually causes this error. Contact the manufacturer of the device that is causing the problem or visit its Web site for an updated or correct driver. by Justine K. Brown
|
|
Home Copyright & Legal Information Privacy Policy Site Map Contact Us