Blue screen of death



The Blue Screen of Death (BSoD), officially known as a Stop error, Blue screen error, fatal error, bugcheck, Stop error screen, Stop message, or Blue Screen, is a critical error screen displayed by the Microsoft Windows or ReactOS operating systems in the event of a fatal system error. It indicates a system crash, in which the operating system has reached a critical condition where it can no longer operate safely. Possible issues include hardware failure, an issue with or without a device driver, or unexpected termination of a crucial process or thread.

Contrary to popular belief, the Windows Embedded Compact (formerly known as Windows CE) line of embedded operating systems does not use a Blue Screen of Death.

History


An early blue error screen first existed in the Beta Release of Windows 1.0; if Windows found a different DOS version than it expected, the error message "Incorrect DOS version" alongside other text messages detailing what check failed to pass would be appended to the boot screen before starting normally. In the final release (version 1.01), however, this screen prints out random characters after the "Incorrect DOS version" text as a result of a bug in the Windows logo code. This is not a crash screen, however; upon crashing, Windows 1.0 either locks up or exits to DOS.

Windows 3.0 uses a text-mode screen for displaying important system messages, usually from digital device drivers in 386 Enhanced Mode or other situations where a program could not run. Windows 3.1 changed the color of this screen from black to blue. Windows 3.1 also displays a blue screen when the user presses the Ctrl+Alt+Delete key combination while no programs were unresponsive (the reverse is true for when there are unresponsive programs). As with prior versions, Windows 3.x exits to DOS if an error condition is severe enough.



The first Blue Screen of Death appeared in Windows NT 3.1 (the first version of the Windows NT family, released in 1993), and later appeared on all Windows operating systems released afterwards. In its first iteration, the error screens started with, hence it became known as a "stop error."

BSoDs can be caused by poorly written device drivers or malfunctioning hardware, such as faulty memory, power supply issues, overheating of components, or hardware running beyond its specification limits. In the Windows 9x operating systems, incompatible DLLs or bugs in the operating system kernel could also cause BSoDs. Because of the instability and lack of memory protection in Windows 9x OSes, BSoDs were much more common.

Incorrect attribution
On September 4, 2014, several online journals, including Business Insider, DailyTech, Engadget, Gizmodo, Lifehacker, Neowin, Softpedia, TechSpot, The Register, and The Verge incorrectly attributed the creation of the Blue Screen of Death to Steve Ballmer, Microsoft's former CEO, citing an article by Microsoft employee Raymond Chen, entitled "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?". The article focused on the creation of the first rudimentary task manager in Windows 3.x, which shared visual similarities with a BSoD. In a follow-up on September 9, 2014, Raymond Chen complained about this widespread mistake, claimed responsibility for revising the BSoD in Windows 95 and panned BGR.com for having "entirely fabricated a scenario and posited it as real". Engadget later updated its article to correct the mistake.

Formats
BSoDs originally showed silver text on a royal blue background with information about current memory values and register values. Starting with Windows Server 2012 (released in September 2012), Windows adopted a cerulean background. Windows 11 initially used a black background, but starting from build number 22000.348, switched to a dark blue background. Preview builds of Windows 10, Windows 11, and Windows Server (available from the Windows Insider program) feature a dark green background instead of a blue one. Windows 3.1, 95, and 98 support customizing the color of the screen. In the Windows NT family, however, the color is hard-coded.

Windows 95, 98 and Me render their BSoDs in the 80×25 text mode. BSoDs in the Windows NT family initially used the 80×50 text mode on a 720×400 screen. Windows 2000, Windows XP, Vista, and 7 BSoDs use the 640×480 screen resolution. Windows 2000 used its built-in kernel mode font while XP, Vista, and 7 use the Lucida Console font. Windows 8 and Windows Server 2012 use Segoe UI. On UEFI machines, the BSoDs use the highest screen resolution available. On legacy BIOS machines, they use the 1024×768 resolution by default, but they can also be configured to use the highest resolution available (via the ' ' parameter in Boot Configuration Data). Windows 10, versions 1607 and later, uses the same format as Windows 8, but has a QR code which leads to a Microsoft Support web page that tries to help users troubleshoot the issue step-by-step.

Windows NT


In the Windows NT family of operating systems, the blue screen of death (referred to as "bug check" in the Windows software development kit and driver development kit documentation) occurs when the kernel or a driver running in kernel mode encounters an error from which it cannot recover. This is usually caused by an illegal operation being performed. The only safe action the operating system can take in this situation is to restart the computer. As a result, data may be lost, as users are not given an opportunity to save it.

The text on the error screen contains the code of the error and its symbolic name (e.g. "0x0000001E, KMODE_EXCEPTION_NOT_HANDLED") along with four error-dependent values in parentheses that are there to help software engineers fix the problem that occurred. Depending on the error code, it may display the address where the problem occurred, along with the driver which is loaded at that address. Under Windows NT, the second and third sections of the screen may contain information on all loaded drivers and a stack dump, respectively. The driver information is in three columns; the first lists the base address of the driver, the second lists the driver's creation date (as a Unix timestamp), and the third lists the name of the driver. By default, Windows will create a memory dump file when a stop error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" (introduced in Windows 2000) to a "complete dump" which is effectively a copy of the entire contents of physical memory (RAM). The resulting memory dump file may be debugged later, using a kernel debugger. For Windows, WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information on-screen is limited and thus possibly misleading, it may hide the true source of the error. By default, Windows XP is configured to save only a 64kB minidump when it encounters a stop error, and to then automatically reboot the computer. Because this process happens very quickly, the blue screen may be seen only for an instant or not at all. Users have sometimes noted this as a random reboot rather than a traditional stop error, and are only aware of an issue after Windows reboots and displays a notification that it has recovered from a serious error. This happens only when the computer has a function called "Auto Restart" enabled, which can be disabled in the Control Panel which in turn shows the stop error.

Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer. If a stop error is encountered while a live kernel debugger is attached to the system, Windows will halt execution and cause the debugger to break in, rather than displaying the BSoD. The debugger can then be used to examine the contents of memory and determine the source of the problem.

A BSoD can also be caused by a critical boot loader error, where the operating system is unable to access the boot partition due to incorrect storage drivers, a damaged file system or similar problems. The error code in this situation is STOP: 0x0000007B (INACCESSIBLE_BOOT_DEVICE). In such cases, there is no memory dump saved. Since the system is unable to boot from the hard drive in this situation, correction of the problem often requires using the repair tools found on the Windows installation disc.

Details
Before Windows Server 2012, each BSoD displayed an error name in uppercase (e.g. APC_INDEX_MISMATCH), a hexadecimal error number (e.g. 0x00000001) and four parameters. The last two are shown together in the following format:

"error code (parameter 1, parameter 2, parameter 3, parameter 4) error name"

Depending on the error number and its nature, all, some, or even none of the parameters contain data pertaining to what went wrong, and/or where it happened. In addition, the error screens showed four paragraphs of general explanation and advice and may have included other technical data such the file name of the culprit and memory addresses.

With the release of Windows Server 2012, the BSoD was changed, removing all of the above in favor of the error name and a concise description. Windows 8 also added a sad-emoticon as well (except on the Japanese versions or Windows Server releases ). The hexadecimal error code and parameters can still be found in the Windows Event Log or in memory dumps. Since Windows 10 version 1607, the screen features a QR code for quick troubleshooting. Windows 10 versions 2004–22H2 and Windows 11 changed the text slightly from "Your PC ran into a problem" to "Your device ran into a problem".

Windows 9x
Windows 9x is a community nickname given for Microsoft's line of consumer-oriented operating systems released from 1995 to 2000. The series includes Windows 95, 98, and Me (although the latter OS does not match the naming scheme of the two prior OSes). All Windows 9x operating systems are based on the Windows 95 kernel and MS-DOS, with the MS-DOS portion running versions 7 and 8.

Blue Screen of Death
The Windows 9x operating systems used the Blue Screen of Death as the main way for virtual device drivers to report errors to the user. This version of the BSoD, internally referred to as " ", gives the user the option either to restart the computer or to continue using Windows. This behavior is in contrast with the Windows NT versions of the BSoD, which prevents the user from using the computer until it has been powered off or restarted (usually automatic).

The most common BSoD is displayed on an 80×25 text-mode screen, which is the operating system's way of reporting an interrupt caused by a processor exception; it is a more serious form of the general protection fault dialog boxes. The memory address of the error is given and the error type is a hexadecimal number from 00 to 11 (0 to 17 decimal). The error codes are as follows:
 * 00: Division fault
 * 01: Startup Error
 * 02: Non-Maskable Interrupt
 * 03: Shutdown Error
 * 04: Overflow Trap
 * 05: Bounds Check Fault
 * 06: Invalid Opcode Fault
 * 07: "Coprocessor Not Available" Fault
 * 08: Double Fault
 * 09: Coprocessor Segment Overrun
 * 0A: Invalid Task State Segment Fault
 * 0B: Not Present Fault
 * 0C: Stack Fault
 * 0D: General Protection Fault
 * 0E: Page Fault
 * 0F: Error Message Limit Exceed
 * 10: Coprocessor Error Fault
 * 11: Alignment Check Fault

Reasons for BSoDs include:
 * Problems that occur with incompatible versions of DLLs: Windows loads these DLLs into memory when they are needed by application programs; if versions are changed, the next time an application loads the DLL it may be different from what the application expects. These incompatibilities increase over time as more new software is installed. According to some people, this is one of the main reasons why a clean install of Windows is more stable than an "old" one (or an in-place upgrade).
 * Faulty or poorly written device drivers.
 * Hardware incompatibilities.
 * Damaged hardware may also cause a BSoD.

In Windows 95 and 98, a BSoD occurs when the system attempts to access the file " ", " ", or " " on the hard drive. This could be inserted on a website to crash visitors' machines as a prank. In reality, however, they are reserved device names for DOS systems. Attempting to access them from Windows causes a crash, which in turn brings up said BSoD. On March 16, 2000, Microsoft released a security update to resolve this issue.

One famous instance of a Windows 9x BSoD occurred during a presentation of a Windows 98 beta given by Bill Gates at COMDEX on April 20, 1998: The demo PC crashed with a BSoD when his assistant, Chris Capossela, connected a scanner to the PC to demonstrate Windows 98's support for Plug and Play devices. This event brought thunderous applause from the crowd and Gates replied (after a nervous pause): "That must be why we're not shipping Windows 98 yet."

Similar screens
Stop errors are comparable to kernel panics in macOS, Linux, and other Unix-like systems, and to bugchecks in OpenVMS. Windows 3.1 displays a Black Screen of Death instead of a blue one. Some versions of macOS (notably OS X Lion) also displays a Black Screen of Death as well, usually pointed to a graphics card or sleep/wake issue. Beta versions of Windows 98 displays a red error screen raised by the Advanced Configuration and Power Interface (ACPI) when the host computer's BIOS encounters a problem. The bootloader of the first beta version of Windows Vista also displays a red error screen in the event of a boot failure. The Xbox One has a Green Screen of Death instead of a blue one. In Windows 10, an Orange Screen of Death appears when there is a driver incompatibility present.

As mentioned earlier, the insider builds of Windows Server 2016 and later, Windows 10, and Windows 11 displays a green screen.