Beat those bluescreen blues: what a Windows bluescreen actually means

Send to a friend Print

Help more people find out about this story

Del.icio.us
StumbleUpon

James Bannan20 November 2007, 11:55 AM

The Windows Blue Screen of Death is hated and maligned, but it's really just trying to help. Read on to find out what it's trying to tell you.


The Windows Blue Screen of Death is hated and maligned, but it's really just trying to help. Read on to find out what it's trying to tell you.

Dan Warne recently had a cheeky dig at what some consider to be the quintessential interactive Windows screen – the blue screen of death, or BSOD.

Certainly, the unfriendly, “it’s all over for you” vibe which every BSOD gives off has given Windows system faults a bad reputation over time. Personally, I rather like these haiku error messages:

Windows NT crashed.
I am the Blue Screen of Death.
No one hears your screams.

Chaos reigns within.
Reflect, repent, and reboot.
Order shall return.

A file that big?
It might be very useful.
But now it is gone.

However, joking aside, I learnt recently that BSODs aren’t all that bad, and can actually be very helpful.

When Windows bluescreens, it has encountered some sort of fault or incompatibility which is severe enough to cause an immediate system stop.

The blue screen itself is a memory dump – the system dumps the contents of running memory to a dump file to facilitate debugging, and then the system restarts.

To most people, a bluescreen means it’s time to rebuild the system, but there are times when you really don’t want to do that.

I recently built a system for running virtual test systems – an ASUS P5KR-based system with 4GB RAM, which bluescreened whenever Vista Ultimate x64 tried to boot -- even in Safe Mode and even off the Vista DVD.

However with 2GB RAM it worked perfectly. So there was obviously some sort of memory configuration issue, but there wasn’t enough information to perform a proper search.

What I didn’t know is that when Windows bluescreens, it often writes the memory dump to a smaller file, called a minidump. This is true of all versions of Windows from 2000 to Vista/Server 2008. The minidumps are incredibly useful because they’re small and easy to navigate, and give you much richer information with which to troubleshoot the problem.

To open a minidump file, you need the following tools:

The Debugging Tools for Windows is the framework which lets you open and navigate dump files. Download the version which is relevant to the platform you’re installing it on, rather than the platform you’re going to troubleshoot (ie: if you want to open a dump file from Vista x64 on a Vista x86 machine, download the 32-bit tools).

The symbol packages contain information necessary for the debugger to resolve data like local variables, structure type information and source file info specific to the package you’re trying to debug.

Windows XP, 2003 and Vista don’t require symbol packages if you’re debugging the local system. Otherwise, you’ll need the package file of the system platform you’re debugging.

The packages are quite big, and install to C:\Windows\Symbols. To set the symbol path parameter, install the Debugging Tools and go Start, Programs, Debugging Tools for Windows and launch WinDbg. Then go Files, Symbol File Path (or CTRL+S) and browse for the folder.

Alternatively, if the debugging machine has access to the internet, in the Symbol Path window type in the following:

SRV*c:\windows\symbols*http://msdl.microsoft.com/download/symbols

Grab the latest symbols automaticallyGrab the latest symbols automatically

This points WinDbg to the Microsoft site and it will download any symbols it needs to open any particular minidump file. This does slow the process down, but it’s certainly more convenient than download hundreds of megabytes of symbol packages.

If you’re debugging any other OS than Vista or Server 2008, you’ll also need to point WinDbg to the source files. This is just the i386 folder on the Windows install CD (Vista and Server 2008 don’t use the i386 structure). Go to File, Source File Path (or CTRL+P) and browse to the source files.

Then go File, Open Crash Dump (or CTRL+D) and browse to C:\Windows\Minidump and open the most appropriate DMP file. They’re created by date, so it should be easy to locate the relevant file.

The dump file opens up and loads once the symbols have been accessed (or downloaded – this can take a few minutes). Once you see the lines “Loading Kernel Symbols” and “Loading User Symbols” then “Bugcheck Analysis”, you’re ready to go.

There’s a command line at the bottom of the debug window where you can enter in debug commands. If you’re not sure that the dump file as been loaded properly, type in the following command to reload it:

.reload (don’t forget the full stop)

Once the file is fully loaded, type in:

!analyze –v

The command line should then have *BUSY* next to it while the debugger does a detailed analysis of the minidump. The file’s contents are then rendered in the debug window. The analysis automatically scrolls to the bottom, so scroll back up again. The bugcheck gives some pretty detailed information about what happened and where the fault lies.

Find out precisely why your system's unhappyFind out precisely why your system's unhappy

Scroll back down to the bottom of the bugcheck and look for the following two lines – MODULE_NAME and IMAGE_NAME. These lines tell you precisely which software module caused the fault. The MODULE_NAME value is actually a hyperlink – click on the link and it will give you more detailed information about that particular module.

Faulting module found and locked onFaulting module found and locked on

Once you’ve got that information, use it to do a relevant Google search. System faults are very well documented online, but the trick is using the right information. BSODs on their own don’t give you that much, and without knowing what caused the bluescreen in the first place, any search is based largely on guesswork and speculation. It’s worthwhile checking out the minidump and get your answers quickly.

In my case, it was memory misconfiguration in the BIOS. I could possibly have stumbled across the answer eventually, but the minidump took me to the right online forums in minutes.

If the Windows fault is particularly severe, the system may perform a full memory dump, and depending on the amount of RAM you have, this dumpfile can be huge. However you can still use WinDbg to track down the faulting module. The debug window is searchable like a text file, so just go Edit, Find (or CTRL+F) and search for the MODULE_NAME and IMAGE_NAME strings and you’re away.


Post your comment



Comments

RSS feed Email alert

Jackson:

I'll probably never bother trying but thanks for the info! Very helpful, sometimes you can't just format without hassle and this could really help non-experts like me.

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

BOB:

Thankyou! It was good information and worth the read.........

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

rohan:

if installing vista 64-bit for some reason it won't install with 4gig of ram, u must install with 3 gig or less, after installing vista 64, u must install all hardware and software and updates, then put back the extra gig u want to and it will run fine., i am not sure if u covered this in the document. i only read first 100 words or so

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

Craig:

It's clear you only read the first 100 words.

Anyway, this is quite helpful. I have hardly ever come across a BSOD in XP but this will be handy to know in case I ever do get one!

Thanks for this :)

29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

James Bannan:

Hi Rohan - no I didn't mention that in the article, but you're quite right...that's the recommended installation procedure.

However, in my case the system still bluescreened once Vista had been installed with 2GB RAM, and the hotfix didn't sort out the problem either, hence my having to resort to the debugging. 



29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

Jarad C (DriftRB):

Great Read,

I have a HP Laptop with 2GB RAM the Blue screens under Vista 32bit.
Error: NForce chipset is not supported by Vista.

This laptop runs great on FreeBSD or Windows XP.

Annoying, Yes
Is it really trying to do us all a favour?
Or is it telling us that Laptops released in October 2006 need to be upgraded and replaced?

It is a very quick way to find an error, by not great paying out for a new laptop every 12 Months.

Thanks for the Read, It has been interesting.

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

Jarad C:

Great Read and very interesting.

I have a HP Laptop running 32-bit Vista, With 512MB RAM this runs slow but stable, 1GB and this will blue screen.

I upgraded to 2GB DDR2 to start and this blue screen every 30 - 45 min on 32bit Vista but ran great on FreeBSD and Solaris.

We learn something new very day.

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

coastgeek:

Good article. I find the link below more than helpful when tackling BSOD's. Hope it helps others.

http://aumha.org/a/stop.htm

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

Aubrey.conversely:

My lolocopter is in the stratosphere!

Why is it that if someone wrote an article half as techy as this one about how to , say, debug or mod a linux install script, there would be no end of comments using it as proof that Linux is "not ready for the desktop" because you had to be tech-head to understand it ?

When MS eventually brings out stable, finished version of windows, I may give it a try. Not before.



29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

James Bannan:

I'm not sure that's a fair comparison. Debugging a Linux script is much more involved that debugging a Windows minidump. The article isn't really that techy - anyone who knows how to do install a program, search text and do a Google search will find it useful, and I'd strongly question whether debugging a Linux script could ever be seen as so straightforward.

29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

James Gauci:

"I recently built a system for running virtual test systems – an ASUS P5KR-based system with 4GB RAM, which bluescreened whenever Vista Ultimate x64 tried to boot -- even in Safe Mode and even off the Vista DVD"

G'day James, thought I might just offer some help with that ASUS motherboard. Had a problem very similar, but with a P5NE-32 SLI Deluxe Model and 4GB of Corsair Memory. I coudlnt install Vista 64bit smoothly at all but after some persistance I had success. So I can offer you some advice.

Sadly, and the most frustrating part is... I needed to use memory from the ASUS QVL - Qualified Vendors list. I cant emphasise enough but the use of EXACT model RAM and what comination (Whether 2 slots, 4 Slots, or Dual Channel) as recommended by ASUS is crucial!!!!

But for Vista 64bit it wasnt enough to get it booting and again and again the system install would hang at the Hardware Analizer before finish. What else??

This time though I succesfully booted into Safemode, where I installed THE LATEST drivers from the ASUS website.

After a restart, Vista booted perfectly and it was as stable and as solid as a German Tank.

Conclusion, the legacy drivers Microsoft provide with Vista are terrible (Particularly support for enthusiast boards like these)... if only the Vista install would include an option to install these drivers in WinPE... this issue would save much heartache.

And by the way... I hear so much crap about using 4GB of memory with Vista. I have been running Windows Vista Ultimate 64bit with 4GB of Memory for about 3 months now, and it purrs like a kitten in fact I havent yet come accross an application or game to not work. I know peoples needs are different so I could be a luckier user.

Hope this helps

James

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

James Bannan:

Thanks for the comments. Certainly ASUS do publish pretty comprehensive compatibility lists, although sometimes I do think that it's more to do with covering themselves from a support perspective.

At least that's what I'd do!

I agree with you about Vista x64 stability though - I'm now running three systems on Vista x64 (2 x Enterprise and 1 x Ultimate) and once they're up and running they've been completely fine - no instability and full 32-bit compatibility.

I haven't tried gaming on a 64-bit platform though - what's your experience been of it? 



29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

James Gauci:

Hi James,

True about ASUS and the compatibility. I play Command and Conquer 3 on Vista 64bit Seamlessly, identical to playing on XP.
In fact I'm really interested now to begin trying more games that don't say they support Vista at all. Even though the Software may say It doesn't support the specs, experimenting is what its all about I guess.

I do think though, the issue that will kill most games is the UAP built into Vista.


29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

Tarchan:

This should be common sense. I thought that it was common knowledge that the BSOD offered details about the cause, at least amongst those with moderate troubleshooting skills. I don't have much experience with vista, but an XP BSOD can be easily diagnosed by looking up the error code on MSDN or Google. I mean that little number is almost asking to be googled.

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

Hmmm:

Not entirely true - It doesnt always tell you precisely where the fault occurred for example in a KMODE_EXCEPTION_NOT_HANDLED error.
Its the details that help solve the issues. Thats what James has done a great job of here.

29 February 2008, 8:49 PM (1 year ago)report abuse Send to a friend reply

Reghart:

Wow! Awesome article James! This is really, really helpful, and I'm definitely going to print this one out in hardcopy as soon as I get to the giant printer/copier, because while I might not need it now...I will need it someday. Thanks very much!

29 February 2008, 8:32 PM (1 year ago)report abuse Send to a friend reply

jake (User):

i got my vista laptop 1 day and pluged my mp3 player in it and the bsod came up but i reset the computer and it worked again
lol


27 April 2008, 11:18 AM (1 year ago)report abuse Send to a friend reply

justinj (New user):

Just wondering what setting it was you changed in BIOS to stop the BSOD appearing with 4gb RAM as I also have a P5K and purchased 4gb RAM but can only use 2gb in it as 4gb was also causing BS for me :(

10 July 2008, 4:31 PM (1 year ago)report abuse Send to a friend reply

mauie (New user):

thanks. just recently had a blue screen. the info was very useful for non-experts like me

05 March 2009, 12:54 PM (8 months ago)report abuse Send to a friend reply

Ronnie (New user):

I have a query. I have a system based on abit IP 35 pro MB. A vista 64 OS and 8 gb RAM. The system shuts down very often with a blue screen showing Driver_State_power_failure. The shut down is imminent if I download/upload something. Can you help me?

19 March 2009, 5:21 AM (8 months ago)report abuse Send to a friend reply

anonymous user Anonymous user


Tags