Surviving the Blue Screen of Death in Windows XP

Technique

Save Time By
Knowing when to laugh and when to panic
Using common sense to nail — and solve — the problem
Getting back online quickly, with a minimum of headaches
A problem has been detected and windows has been shut down to prevent damage to your computer.
The problem seems to be caused by the following file: NTLDR PAGE_FAULT_IN_NONPAGED_AREA
If this is the first time you’ve seen this stop error screen, restart your computer. If this screen appears again, follow these steps:
Log on to Windows using the Administrator account. Oops. Wait a second. I guess you can’t log on to Windows, can you?  Dig out a copy of Windows XP Timesaving Techniques and see if Technique 66 solves your problem.

Technical information:

STOP: 0×00000050 (0xF7AC0640, 0xc0000034, 0×00000000, 0×00000000)
Anyone who has used Windows XP for a long time, particularly on an older PC, has undoubtedly encountered a Windows STOP message — more formally known as a Blue Screen of Death or BSOD, as shown in Figure 66-1. The BSOD dates all the way back to Windows 2.0. Some wags inside Microsoft went as far as to declare that Windows XP Professional didn’t have BSODs anymore. What fools these mortals be . . . .
If you follow the instructions on-screen and restart your machine, the BSOD might go away. For a day or two. Then again, it might not.
The BSOD is Windows XP’s way of saying, “I give up!” Your PC simply freezes, leaving behind this blue screen as an only marginally decipherable legacy. You can’t do a thing except restart your PC.
If it will restart.
A typical BSOD. Sounds scary, doesn't it?
• Figure 66-1: A typical BSOD. Sounds scary, doesn’t it?
This technique takes you through the leading causes of BSODs and helps you quickly identify what might be going wrong. It includes a bunch of school-of-hard-knocks advice for getting your machine up and working fast — or for putting your errant hardware out of its misery — without consuming days, weeks, or months of your time.


A crash by any other name

Everyone — absolutely everyone — refers to a STOP error as a Blue Screen of Death, or BSOD. But sometimes the official documentation tries to put a little spin on the ugly side. You can find references in Microsoft’s documentation to “STOP errors,” “kernel errors,” “system faults,” or “bug checks” (although the latter term is rapidly falling out of favor). All these phrases mean the same thing.
There are more than 250 documented BSOD errors. There are countless others, but they simply aren’t documented. Even the ones that are documented bear explanations so obtuse that they bring tears to the eyes of the most hardened, experienced, knowledgeable Windows fanatics. No, you aren’t going crazy. Yes, these BSOD people do talk funny. Their native language is Geek.

Encountering a Blue Screen of Death

Windows can roll over and cry Uncle for any number of reasons. In my experience, most common BSODs fall into these categories:
Symptom: Windows says it can’t read key system information from the hard drive.
Likely cause: The main hard drive (or at least a piece of it) is going bad. Usually this is because the drive has a bad spot, or because the drive’s about to, uh, byte the dust.
Symptom: Windows says it can’t read key system information from main memory.
Likely cause: Usually a memory card is going flaky. Maybe a memory chip isn’t seated right, or a cockroach has taken up residence on a chip.
A secondary symptom of a memory issue is that your PC may also run physically hot. In some cases if a memory card isn’t connecting correctly, it can get so hot your PC shuts itself down.
Symptom: Windows says that a program needs something from another program, but can’t
find it.
Likely cause: DLL hell. DLL hell is the awful event in which constantly changing system files can prevent programs from talking to each other in the way they need to. It transforms Windows’ version of Three Card Monty into a rousing round of 52 Card Pickup. Usually DLL hell triggers warning messages and unexpected system crashes. But if core system files get screwed up, a BSOD can result.
Symptom: Windows says something about a driver error or an adapter problem.
Likely cause: Your drivers aren’t getting along, either with Windows, or with each other. Maybe you recently installed some weird piece of hardware with an old pre-XP driver. Did you install a whiz-bang video adapter with a “made for XP” driver that doesn’t work worth beans? Been there, done that.
Symptom: Windows says something about your IDE controller or NIC.
Likely cause: Some other piece of hardware (IDE controller, network interface card) has intermittent problems. These can be extraordinarily difficult to trace down and solve. Heat is a prime suspect.

Starting with Common-Sense Approaches

As soon as the shock wears off from seeing your first BSOD, you might be tempted to fight back — go into Microsoft’s Knowledge Base or look on the Internet at large for a solution. Relax. Some BSODs clear themselves up, if you simply follow the instructions and restart your computer. Others don’t, and if you take some simple, common-sense steps when the first BSOD hits, you can save yourself a ton of frantic time down the road.

If you get a BSOD, follow these steps:

1 Eliminate the obvious problems.
If you just installed a new piece of hardware or a new driver (perhaps by using Windows Update and not checking carefully enough!), get rid of it. You can roll back a driver using the steps in Technique 58 (if you set a System Restore Point). If you just plugged a USB device into your PC, unplug it and return it to the vendor. If you just started playing a CD, clean your CD drive (see Technique 59). And so on.
2. Write down the STOP 0×000000?? error number (if there is one), along with any information in plain English that may appear.
BSODs vary greatly in their ability to communicate in plain English, as shown in Figure 66-2. Usually all you need is the error number, but it doesn’t hurt to have more.
Stellar information from a computer experiencing a USB power overload.
• Figure 66-2: Stellar information from a computer experiencing a USB power overload.
3. Turn off your computer, wait a minute or two, and then turn it back on.
4. If you get another BSOD — either immediately, or up to a week or so later — something’s wrong and you need to fix it.
The error number and symptoms may be the same as your earlier BSOD, or they may be quite different. In either case, don’t waste time thinking that the BSODs are unrelated, and certainly don’t search for solutions to two problems. BSODs are unusual. Having two different BSODs stemming from two different problems in the course of a week or so is very unlikely. Most likely, you’re seeing two different symptoms of the same problem.
5. Back up everything on your hard drive.
Refer to Technique 60. Prepare for the possibility — some would say the likelihood — that a vital piece of hardware is going to give out, and you may be down for a while.
6 Cool your system down.
Heat really does a number on all sorts of components. If nothing else, get a room fan and train it directly on the PC.
7 Don’t turn off your PC unless you absolutely have to.
I’m not sure why, but I have the worst problems trying to restart my PC after it’s been off for several hours. Thermal contraction, most likely.
Update your antivirus software and run it.
Certain boot sector viruses can cause BSODs, although I’ve never seen one in action. Boot sector viruses are quite unusual these days.
9, Run Check Disk several times by turning to Technique 57 and following the instructions in the first section.
Not all BSODs tell you to run CHKDSK (as in Figure 66-1), but many do. It never hurts.
10. If you continue to have BSODs, turn off your computer, remove the memory cards, clean the contacts that plug into the connector (check with the manufacturer, but a clean gum eraser usually works fine), and put them back in.
Sometimes it helps to swap the memory cards.
11, If you still have BSODs, it’s time to try to figure out specifically what’s causing them.
Move on to the next section.

Digging into Specific Errors

BSODs always have a STOP code. It’s the long number that starts 0×0000 . . ., usually listed at the end of the message. In addition, some marginally legible
English language may be in the description, such as IRQL_NOT_LESS_OR_EQUAL. Emphasis on the term marginally.
Computer jocks aren’t about to copy down all the 0s in the STOP codes, so they’re always abbreviated. 0x0000000A, for example, becomes 0x0A. 0x0000007F becomes 0x7F.
I list the most common BSOD errors, and their possible causes and solutions.
Microsoft Knowledge Base (KB) articles are referenced by number. For example, KB article 314063 is available at support.microsoft. com/?kbid=314063. You can find detailed discussions of all these BSOD errors in a Windows XP Resource Kit article, which is available (free!) online at www.microsoft. com/technet/prodtechnol/winxppro/ reskit/prmd_stp_tnvo.asp. Yes, the same information applies to both Windows XP Professional and Windows XP Home.
While I’m on the topic, you did realize that the entire Windows XP Resource Kit is available online, didn’t you? No need to shell out $60 for the topic. Just drop by www.microsoft. com/resources/documentation/Windows/ XP/all/reskit/en-us/Default.asp, any ol’ time.

Table 66-1: A Timesaving Reference for the Blue Screen of Death

Code Description KB Possible Cause
0x0A IRQL_NOT_LESS_OR_EQUAL 314063 Usually happens when a bad driver tries to get at memory locations where it isn’t allowed.
0x1E KMODE_EXCEPTION_NOT_HANDLED 183169 Bad machine code instruction, probably from a screwed-up driver.
0×23 FAT_FILE_SYSTEM 290182 You probably have a FAT hard drive that’s ready to go.
0×24 NTFS_FILE_SYSTEM 228888 Your NTFS drive may be on its last legs.
(continued)

Table 66-1 (continued)

Code Description KB Possible Cause
0x2E DATA_BUS_ERROR 218132 Memory parity error.
0x3F NO_MORE_SYSTEM_PTES 256004 Some program is doing a lot of input/output.
0×50 PAGE_FAULT_IN_NONPAGED_AREA 183169 Lots of possible causes, including bad memory cards.
0×77 KERNEL_STACK_INPAGE_ERROR 315266 Your hard drive probably has a bad sector.
0×79 MISMATCHED_HAL 310064 Can happen if you changed your PC’s ACPI power management settings.
0x7A KERNEL_DATA_INPAGE_ERROR 315266 Your hard drive probably has a bad sector.
0x7B INACCESSIBLE_BOOT_DEVICE 324103 Bad disk controller.
0x7E SYSTEM_THREAD_EXCEPTION_ NOT_HANDLED 327863, 321637 Trying to run a USB device too fast, or using a particular kind of Creative Labs SoundBlaster.
0x7F UNEXPECTED_KERNEL_MODE_TRAP 137539 Bad memory or overclocking (trying to run your computer faster than it’s supposed to).
0x9F DRIVER_POWER_STATE_FAILURE 315249 Trouble going into or out of Standby or Hibernate mode.
0xBE ATTEMPTED_WRITE_TO_READONLY_ MEMORY 315252 Bad driver.
0xC1 SPECIAL_POOL_DETECTED_MEMORY_ CORRUPTION 315252 Bad driver.
0xC2 BAD_POOL_CALLER 265879 Bad driver.
0xCE DRIVER_UNLOADED_WITHOUT_ CANCELLING_PENDING_OPERATIONS 310899 Bad driver.
0xD1 DRIVER_IRQL_NOT_LESS_OR_EQUAL 316208 Bad driver.
0xD8 DRIVER_USED_EXCESSIVE_PTES 256004 Bad driver.
0xEA THREAD_STUCK_IN_DEVICE_DRIVER 293078 Bad driver.
0xED UNMOUNTABLE_BOOT_VOLUME 297185 Wrong IDE cable for your fast hard drives.
0xF2 HARDWARE_INTERRUPT_STORM 290101 Devices fighting over the same IRQ.
0xC0000135 UNABLE_TO_LOCATE_DLL 318159 Corrupt Registry (see Technique 64).
0xC0000218 UNKNOWN_HARD_ERROR 307545 Corrupt Registry (see Technique 64).
0xC000021A STATUS_SYSTEM_PROCESS_TERMINATED 318666 Buffer overrun in Internet Explorer, or your network administrator messed up file permissions.
0xC0000221 STATUS_IMAGE_CHECKSUM_MISMATCH 315241 Damaged driver.

Next post:

Previous post: