A Blue Screen of Death (also known as a stop error, BSoD or bluescreen) is an error screen displayed by certain operating systems, most notably Microsoft Windows, after encountering a critical system error which can cause the system to shut down to prevent damage.
Bluescreens on NT-based Windows systems can be caused by poorly written device drivers or malfunctioning hardware. In the Win9x era, incompatible DLLs or bugs in the kernel of the operating system can also cause bluescreens. Sometimes, when the CPU is hit in any way, the computer may restart and show the BSoD.
Bluescreens can also be caused by physical faults such as faulty memory, mains power supply voltage variance or spikes in conjunction with or magnified by power supply unit voltage rating not matching the mains supply (such as a 220V PSU attached to a 240V mains outlet), the power requirements of the computer exceeding the capacity of the PSU, overheating of components, intermittent power to hard disk drives or other parts, faulty hardware, or hardware running beyond its specification limits. Bluescreens have been present in all Windows-based operating systems since Windows 3.1; earlier, OS/2 and MS-DOS suffered the Black Screen of Death, and early builds of Windows Vista displayed the Red Screen of Death after a boot loader error.
The term "Blue Screen of Death" originated during OS/2 pre-release development activities at Lattice Inc, the makers of an early Windows and OS/2 C compiler. During porting of Lattice's other tools, developers encountered the stop screen when NULL pointers were dereferenced either in application code or when unexpectedly passed into system API calls. During reviews of progress and feedback to IBM Austin, the developers described the stop screen as the Blue Screen of Death to denote the screen and the finality of the experience.
In Windows NT, Windows 2000, Windows XP, Windows Server 2003 and Windows Vista, the blue screen of death 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 data that has not yet been saved to the hard drive.
Blue screens are known as "Stop errors" in the Windows Resource Kit documentation. They are referred to as "bug checks" in the Windows Software development kit and Driver development kit documentation.
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 and 2000, 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.[1]
By default, Windows will create a memory dump file when a blue screen error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64 KB "mini dump" to a "complete dump" which is effectively a copy of the entire contents of physical RAM. The resulting memory dump file may be debugged later, using a kernel debugger. A debugger is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information onscreen is limited and thus possibly misleading, it may hide the true source of the error.
Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer. (Windows XP also allows for kernel debugging from the machine that is running the OS.) If a blue screen 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.
The Windows debugger is available as a free download from Microsoft.[2]
Windows includes a feature that can be used to cause a blue screen manually. To enable it, the user must add a value to the Windows registry. After that, a BSoD will appear when the user presses the SCROLL LOCK key twice while holding the right CTRL key.[3] This feature is primarily useful for obtaining a memory dump of the computer while it is in a given state. As such, it is generally used to aid in troubleshooting system hangs.
A Bluescreen can also be caused by terminating either csrss.exe or winlogon.exe. This cannot be done with Windows Task Manager, but can be done with a third-party software. One of these programs may also terminate if it fails.
By default, Windows XP is configured to save only a 64K minidump when it encounters a blue screen, 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 BSoDs.
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 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 booting from the Microsoft Windows CD. After booting to the CD, it may be possible to correct the problem by performing a repair install or by using the Recovery Console (with CHKDSK).
The color blue was chosen because a version of Windows NT for the DEC Alpha platform's console colors could not be changed easily.[citation needed] For consistency reasons, blue became the color for Stop errors on all platforms (alpha/i386/mips/ppc).
The blue screen of death frequently occurs in Microsoft's home desktop operating systems Windows 95, 98, and Me. Here it is usually less serious, but much more common. In these operating systems, the BSoD is the main way for virtual device drivers to report errors to the user. It is internally referred to by the name of "_VWIN32_FaultPopup". A Windows 9x/Me BSoD gives the user the option either to restart or continue. However, VxDs do not display BSoDs frivolously — they usually indicate a problem that cannot be fixed without restarting the computer, and hence after a BSoD is displayed the system is usually unstable or unresponsive.
Two of the most common reasons for BSoDs are:
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, and is one of the main reasons why a freshly-installed copy of Windows is more stable than an "old" one.
Faulty or poorly written device drivers, hardware incompatibilities, or damaged hardware may also cause a BSoD.
In Windows 95 and 98, a BSoD occurs when the system attempts to access the file "c:\con\con" on the hard drive. This was often inserted on websites to crash users' machines. Microsoft has released a patch for this.[4]
The BSoD can appear if a user ejects removable media while it is being read on 9x/ME. This is particularly common while using Microsoft Office: if a user simply wants to view a document, he might eject a floppy disk before exiting the program. Since Microsoft Office always creates a temporary file in the same directory, it will trigger a BSoD upon exiting because it will attempt to delete the file on the disk that is no longer in the drive.
This type of blue screen is no longer seen in Windows NT, 2000, and XP. In the case of these less serious software errors, the program may still crash, but it will not take down the entire operating system with it due to better memory management and decreased legacy support. In these systems, the "true" BSoD is seen only in cases where the entire operating system crashes.
Perhaps the most famous instance of a Windows 9x BSoD occurred during a presentation of a Windows 98 beta by Bill Gates at COMDEX on April 20, 1998. The demo PC crashed with a BSoD when his assistant (Chris Capossela, who is still working for Microsoft as Corporate VP in the Information Working business unit) connected a scanner to the PC, trying 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
When getting the BSoD, the screen will go black for about a second, and then a dark blue screen will come up with white writing. On Windows XP and Vista, it reads as follows:
“ A problem has been detected and Windows has been shut down to prevent damage
to your computer.
The problem seems to be c