There comes a moment in the life of any operating system when an unforeseen event will tragically cut its uptime short. Whether it’s a sloppily written driver, a bug in the handling of an edge case or just dumb luck, suddenly there is nothing more that the OS’ kernel can do to salvage the situation. With its last few cycles it can still gather some diagnostic information, attempt to write this to a log or memory dump and then output a supportive message to the screen to let the user know that the kernel really did try its best.
This on-screen message is called many things, from a kernel panic message on Linux to a Blue Screen of Death (BSOD) on Windows since Windows 95, to a more contemplative message on AmigaOS and BeOS/Haiku. Over the decades these Screens of Death (SoD) have changed considerably, from the highly informative screens of Windows NT to the simplified BSOD of Windows 8 onwards with its prominent sad emoji that has drawn a modicum of ridicule.
Now it seems that the Windows BSOD is about to change again, and may not even be blue any more. So what’s got a user to think about these changes? What were we ever supposed to get out of these special screens?
Meditating On A Fatal Error

More important than the color of a fatal system error screen is what information it displays. After all, this is the sole direct clue the dismayed user gets when things go south, before sighing and hitting the reset button, followed by staring forlorn at the boot screen. After making it back into the OS, one can dig through the system logs for hints, but some information will only end up on the screen, such as when there is a storage drive issue.
The exact format of the information on these SoDs changes per OS and over time, with AmigaOS’ Guru Meditation screen being rather well-known. Although the naming was the result of an inside joke related to how the developers dealt with frequent system crashes, it stuck around in the production releases.
Interestingly, both Windows 9x and ME as well as AmigaOS have fatal and non-fatal special screens. In the case of AmigaOS you got a similar screen to the Guru Meditation screen with its error code, except in green and the optimistic notion that it might be possible to continue running after confirming the message. For Windows 9x/ME users this might be a familiar notion as well :

In this series of OSes you’d get these screens, with mashing a key usually returning you to a slightly miffed but generally still running OS minus the misbehaving application or driver. It could of course happen that you’d get stuck in an endless loop of these screens until you gave up and gave the three-finger salute to put Windows out of its misery. This was an interesting design choice, which Microsoft’s Raymond Chen readily admits to being somewhat quaint. What it did do was abandon the current event and return to the event dispatcher to give things another shot.

A characteristic of these BSODs in Windows 9x/ME was also that they didn’t give you a massive amount of information to work with regarding the reason for the rude interruption. Incidentally, over on the Apple side of the fence things were not much more elaborate in this regard, with OS X’s kernel panic message getting plastered over with a ‘Nothing to see here, please restart’ message. This has been quite a constant ever since the ‘Sad Mac’ days of Apple, with friendly messages rather than any ‘technobabble’.
This quite contrasts with the world of Windows NT, where even the already trimmed BSOD of Windows XP is roughly on the level of the business-focused Windows 2000 in terms of information. Of note is also that a BSOD on Windows NT-based OSes is a true ‘Screen of Death’, from which you absolutely are not returning.

These BSODs provide a significant amount of information, including the faulting module, the fault type and some hexadecimal values that can conceivably help with narrowing down the fault. Compared to the absolute information overload in Windows NT 3.1 with a partial on-screen memory dump, the level of detail provided by Windows 2000 through Windows 7 is probably just enough for the average user to get started with.
It’s here interesting that more recent versions of Windows have opted to default to restarting automatically when a BSOD occurs, which renders what is displayed on them rather irrelevant. Maybe that’s why Windows 8 began to just omit that information and opted to instead show a generic ‘collecting information’ progress counter before restarting.
Times Are Changing

Although nobody was complaining about the style of BSODs in Windows 7, somehow Windows 8 ended up with the massive sad emoji plastered on the top half of the screen and no hexadecimal values, which would now hopefully be found in the system log. Windows 10 also added a big QR code that leads to some troubleshooting instructions. This overly friendly and non-technical BSOD mostly bemused and annoyed the tech community, which proceeded to brutally make fun of it.
In this context it’s interesting to see these latest BSOD screen mockups from Microsoft that will purportedly make their way to Windows 11 soon.
These new BSOD screens seem to have a black background (perhaps a ‘Black Screen of Death’?), omit the sad emoji and reduce the text to an absolute minimum:

What’s noticeable here is how it makes the stop code very small on the bottom of the screen, with the faulting module below it in an even smaller font. This remains a big departure from the BSOD formats up till Windows 7 where such information was clearly printed on the screen, along with additional information that anyone could copy over to paper or snap a picture of for a quick diagnosis.
But Why

The crux here is whether Microsoft expects their users to use these SoDs for informative purposes, or whether they would rather that they get quickly forgotten about, as something shameful that users shouldn’t concern themselves with. It’s possible that they expect that the diagnostics get left to paid professionals, who would have to dig into the memory dumps, the system logs, and further information.
Whatever the case may be, it seems that the era of blue SoDs is well and truly over now in Windows. Gone too are any embellishments, general advice, and more in-depth debug information. This means that distinguishing the different causes behind a specific stop code, contained in the hexadecimal numbers, can only be teased out of the system log entry in Event Viewer, assuming it got in fact recorded and you’re not dealing with a boot partition or similar fundamental issue.
Although I’ll readily admit to not having seen many BSODs since probably Windows 2000 or XP — and those were on questionable hardware — the rarity of these events makes it in my view even more pertinent that these screens are as descriptive as possible, which is sadly not a feature that seems to be a priority for mainstream desktop OSes. Nor for niche OSes like Linux and BSD, tragically, where you have to know your way around the Systemd journalctl
tool or equivalent to figure out where that kernel panic came from.
This is definitely a point where the SoD generated upon a fiery kernel explosion sets the tone for the user’s response.
Would be remiss without mentioning linux’s new BSOD, which displays nothing but an incomprehensible QR code, with no indication that there was a problem, what it was (not even an unhelpful “DRIVE IRQ NOT LESS OR EQUAL”), or what to do about it. It’s significantly more information-dense, while being less helpful than any other BSOD in the history of computing.
This is why linux gets a reputation for being user-unfriendly.
Do you have a screenshot of it? I assume you are referring to systemd-bsod, but for some reason Google only gives mockups from news articles, not real images. Or some youtube videos about how to fully customize your Linux bsod :D
No, it has nothing to do with systemd. It’s a facility being implemented in-kernel as part of the Direct Rendering Manager subsystem.
See: https://www.heise.de/en/news/Linux-kernel-gets-blue-screens-with-QR-code-9851774.html
(Yes, you read that right. Not only will you need to have a phone handy to scan the QR code instead of using your eyes, but you also need to rely on a special web service run by the author to decode it because it’s compressed.)
Ah, yeah, I understand your criticism now. Configurable as always, but that doesn’t really help for the average user. I could hope that distributions would default to the classic ‘kmsg’, but time will tell. The kernel default appears to be a “Please reboot your computer” followed by a single line description.
The QR code is just uncompressed or zlib compressed kernel log, so doesn’t really need a special web service, any command line QR code decoding tool should suffice ;)
I’m not sure what the situation is nowadays, but I think some time in the past I have seen Linux just freeze and the kernel panics not being visible on the screen because Xorg has taken it. This might solve that.
I don’t hate this. I do think some thought needs to be put into displaying important log snippets on screen in addition to the qr code, but having a way of transferring the information to another device even while in kernel panic isn’t bad.
This is the prototype mock-up: https://en.m.wikipedia.org/wiki/Kernel_panic#/media/File:Drm_panic_with_qr_code.png
As you can see it doesn’t have much, but does give an error code. The thing is this isn’t by any means final and nobody has settled on the defaults yet as far as I know.
Personally I think it needs a time stamp and partial excerpt of the log. The QR code is fine, it’s just a compressed copy of log data.
I’ve never seen it. Maybe because linux doesn’t crash very often?
That…
The only linux “crashes” I’ve personally witnessed in my 20+ years of use were either tied directly to physical hardware failure (bad RAM or failing drive) or it occurred on a dual-boot system where Windows damaged the Linux partion.
The fixes were correspondingly simple: Replace bad RAM with good, replaced bad drive with a new one, and delete Windows and run a Linux-only machine.
Oops I messed up the formatting
Hmmmm… What screen is this????
I have lots of Linux computers up and running 24×7 and I’ve never seen it.
Failure is rarely friendly.
Linux really isn’t supposed to be user-friendly in the way you are implying. Some OS actually needs to be for people who know what they are doing. Did you scan the code?
But yes it would be nice for them to at least print a line along with the code that says “linux crashed uwu” so one knows what the qr means before they scan it. If I saw that and I had no idea what it was, I would be a bit hesitant to scan a strange QR code presented without explanation by my computer for simple opsec reasons
“Something went wrong…” error message drives me up the wall. Whatever happened to meaningful error messages that actually told what is wrong?
If you still use Windows, it goes with the territory.
Some people still have to work the normal jobs
Many normal jobs use an entirely web based suite of tools now, Microsoft products are rarely necessary at any level.
in my previous job we used to joke hard- and software was “windows-conpatible” when a reboot/restart would clear faults, and “linux-compatible” when it wouldn’t.
No need to know what the problem is if rebooting will fix it.
The South Park or IT crowd rebooting the linksys modem gag is the peak of non-power-user-friendliness. You can’t create software that is utterly free of bugs and failures once subjected to mass abuse parallel millions of users. If you can debug simply by turning it off and on again, that’s a good thing.
But of course Linux is for power users, and it shouldn’t try to water itself down to become a Windows substitute
Turning it off and on is not “debugging”. You don’t learn anything about the problem.
I’ve been working with BSOD analysis on various scales for more than a decade.
It’s interesting to see how the vast number of BSOD culprits are limited to certain companies (who shall remain unnamed here). A clear common pattern seems to be hardware drivers written or maintained in India.
Microsoft has also turned some BSOD events into “soft BSODs” that the user will barely notice. If the screen on a PC flickers, it could be for all kinds of reasons, including that the video driver had a BSOD, but the OS restarted only the failed video driver. This is a good thing if the issue happens rarely, but not so much when it becomes frequent. Also, making a major failure an apparent non-event enables some less honest manufacturers to keep pushing garbage products without fixing their drivers.
Server 2003 R2 had a memory leak/ pool exhaustion issue on machines running as domain controllers; that was a fun one to diagnose, because the fix for it is a reboot. (to be fair, the machine in question had nearly two solid years of uptime.)
I’ve also seen bad memory cause stop errors as well.
Then there’s that thing when ESXi throws a panic, resulting in a purple screen of death; the only time I’ve seen one was when one of the processor cores on a multi-core blade server locked up, taking the rest of the guest VMs on the blade with it.
The company I used to work for had the dubious honour of producing the most ‘95 BSODs after MS shipped a faulty version of one of our drivers on the install disc…
“Something strange has happened” – ATARI TOS
“Something’s terribly wrong” – audio message, asterisk
Don’t forget the bombs
Classic MacOS had bombs on the system error dialogue box as well
Fantastic aesthetic decision, I wish we kept those
Windows 3.x had BSOD, they didn’t start with Win95. As for Windows 2, I think i dabbled with it as a pre-teen but perhaps with a monochrome screen thus making a ‘B’SOD not possible (save your MGA somehow happened to be blue), and then there was probably a magnitude fewer things to lead to a MSOD pre Win 3.x.
No, it didn’t. You have confused the rudimentary task manager screen from Windows 3.1x with the Blue Screen of Death due to its similarities. The original Blue Screen of Death first appeared in Windows NT 3.1 in 1993.
See: https://en.wikipedia.org/wiki/Blue_screen_of_death
You are a true haxxorman if you encountered something like this:
https://www.linuxandubuntu.com/content/images/wordpress/2019/07/linux-kernel-panic-error-screenshot.png
Yeah, today’s BSODs are true haxxymorons.
had trouble reading “haxxorman” – which leads us here. :-)
Either that, or you are simply over 40 or 45
Most people outside academia haven’t been running CentOS on Xen, to that’s another limiter.
What old VM did this come from? Haven’t seen one of these in over a decade.
What’s up with this weird wikipedia link? https://en.wikipedia.org/w/index.php?title=Macintosh_startup&useskin=vector#Sad_Mac
Other Wikipedia links right in this article use the modern /wiki/ URLs. Just wondering how one could have gotten to that old URL from normal accessing of Wikipedia. Unless it was just pasted from some collection of links…
OR
The writer is a wiki editor as well.
Or old bookmark.
Or time-travel. Or aliens.
That happens when you’re not logged in and force wiki to a skin. /wiki/-style URL’s (the default) can’t do query URL’s.
hmm nope
https://en.wikipedia.org/wiki/The_Devil_We_Know?useskin=vector
(at least not necessarily)
Where is the microkernel flame war?
Even in a pure microkernel architecture, there are devices that can effectively take down the machine.
But at least you know which one it was, not just ‘:-( Something in kernel space shit the bed.’
We’ve gotten to the point where we’re accepting a 99%+ performance hit so that coders don’t have to learn a second programming language.
I think we can accept the microkernel performance hit for everything except gaming…
The coders aren’t the ones making the decision here. That’s kind of the problem.
One of the thing I disliked with BSoD is auto-restart. On my system, the screen comes up for maybe 2 seconds before it restarts. It takes my phone longer to unlock and start camera to capture QR. Auto restart was on by default but fortunately it can be turned off so you can actually read the message or grab the QR with your device.
i like the traditional linux oops / panic message with a register and stack dump because it is easy for me to translate that into lines of source to inspect. if it wasn’t for the availability of source, i wouldn’t care one way or the other…a frowny face with like a 5-digit number to look up on google would be just as useful as anything else.
my least favorite part is hanging onto the information after rebooting the crashed system. i used to grab a piece of paper and write down some of the addresses and symbol names when available. since cameras became ubiquitous, i’ve taken a ton of photos of computer screens, and even some videos for transient error messages (sometimes the dump makes the actual cause of the failure scroll off the top of the screen).
but i recently had a nice breakthrough on that front! i got an hdmi-to-usb dongle, so i had my computer-under-test hooked up to my laptop, and i could take actual full res screenshots! that was a real gamechanger, made it really easy to classify an itermittent boot problem.
and fwiw i only get linux crashes when i’m doing something weird…so i’ve seen quite a few of them :)
Not one mention of windows having a registery entry that can be used to change the color(u)r of the SoD. You could have a yellow screen of death if you wanted.
I never tested, but now I wonder, if you screw up that registery entry badly enough could you cause the SoD to fail. I guess I will never know, not a Microsoft user.
There’s a Linux version of VirtualBox!
lengthy rant alert
When previews of Windows 8 showed that the OS would turn away from almost anything that had made Windows a success recently, it was no surprise to see that blue screens would lack a lot of information and replace the interesting parts with a 200pt frowney. Just proves they didn’t take their job seriously any longer. This idea must have been the result of sniffing another line, and the consequential rush to do another something crazy.
Windows 8 (along with Windows Phone 7, their 3rd failed attempt in the “mobile” market) was the result of a cultural change for the worse in almost any respect imho, away from eye candy towards monochrome, bare, huge oversized text blocks just some years after they had forced you to buy a new PC for Vista due to the requirements of Aero Glass desktop and its introduction of (admittedly nice) 3D and transparency effects. Back then it was the first time a new OS nudged you into buying new hardware. Well you had the choice at least as it was well possible to stay with an XP-like UI if the hardware didn’t cut it. Well, they haven’t learned, with the environmental impact of randomly obsoleting millions of otherwise good computers being of no concern ANOTHER TIME for Windows 11, this time leaving you no choice to stick with what you have if that’s not on their mercy list.
But I digress. The BSOD is only one representation of the change of mind. 8 removed a highly effective start menu that just everyone had understood by the time, by ugly Lotus-Notes-style tiles. TILES!!! What were they thinking?! Everyone who knew Notes had learned to hate them. Now everyone else would have to learn that the other way? But wow, the tiles were smoothly animated and finger-operable, wow! What good is that in a Windows Server environment that lacks touchscreens anyway? Not that Windows Server would have been spared the disruptive madness. Away with classic feature-rich control panels towards barebone Metro UI applets that would have little to do with anything you knew about the structure settings in the OS (take network management, for instance). Consequentially, instead of bringing a “power user” mode into these new-fangled applets to make them useful, they gave up and moved a lot of functionality to PowerShell or Registry magic values. While Linux was more and more advancing to become a useful and complete desktop environment, Microsoft would go the opposite direction and force you increasingly often into a text shell for things that could have been done safely guided and coherently in classic control panels just a generation earlier.
There was some apprehension about the huge step back that “new start menu” had meant, visible now by all the unoriented changes the start menu constantly undergoes, with all of that not being much better and never reaching the swiftness that Windows 7’s start menu and task bar had to offer. Apparently, more effort goes into preventing Classic Shell and the like than actually improving the native start menu so people would no longer desire to have Classic Shell in the first place.
But the start menu was only the loudest protest out of thousands of complaints from the user base. A lot of that was ignored no matter what as they had unlearned to listen. And that’s the point. Feels like it’s no longer about users, much less about power users. No interest in what is needed, what people do to be productive, or what needs to change to get there. They know better than the users anyway. So now it’s a complacent “take it or leave it” attitude – with leaving being no choice for most users, the only reason they are still getting away with it.
While I love .NET, Visual Studio, and SQL Server, the downswing of Windows and Office was my final kick in the a** to move to Linux and FOSS instead. It’s a compromise, sometimes a sad one when I’m still missing specific things I used to love about Windows, but these are gone forever.
What I don’t miss is updates that brick my computer and are scheduled against my will, the constant feeling of being exposed, be it for malware vulnerabilities or being spied on by the OS itself, random UI changes (every time for the worse), and what I certainly don’t miss are these dreaded BSODs.
Early versions of the Hog OS (https://www.etcconnect.com/Products/Consoles/Hog-4-Consoles/) would pop up a little screen saying “I’ve Croaked!” when it crashed. It made you laugh for a split second as the panic set in wondering why it crashed….because the show must go on….