Blue screen of death
The blue screen of death (BSoD) – blue screen error, blue screen, fatal error or bugcheck, and officially known as a stop error[1][2][3] – is a critical error screen displayed by the Microsoft Windows operating systems. It indicates a system crash, in which the operating system reaches a critical condition where it can no longer operate safely.
Possible issues that may cause a BSoD include hardware failures, an issue with or without a device driver, viruses, malware, and other factors such as intentional user action.
History
External videos | |
---|---|
Windows 1.0 BSOD (Incorrect DOS Version): Short version, showing a failed Windows startup | |
Windows 1.01 Blue Screen of Death: Long version, showing installation of MS-DOS 6 and Windows 1.01, and the failed startup of Windows |
Blue error screens have existed since the first 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.[4] This function still exists in the final release (version 1.01); however, due to the remaining detailed text messages being removed, the screen mostly prints out random characters instead.[4] This is not a crash screen, however; upon crashing, Windows 1.0 would simply lock up or exit to DOS. This behavior is also present in Windows 2.0 and Windows 2.1.
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. It also displays a blue screen when the user presses the Ctrl+Alt+Delete key combination to bring up a rudimentary task manager, reserved for quitting any unresponsive programs if they are available. 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[5] (the first version of the Windows NT family, released in 1993), and later appeared on all Windows operating systems released afterwards. The error screens started with *** STOP:
in its earlier iterations, hence it became known as a "stop error."
BSoDs can be caused by poorly written device drivers or malfunctioning hardware,[6] 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.[7] Because of the instability and lack of memory protection in Windows 9x OSes, BSoDs were much more common.
BSoDs are not included in the Windows Embedded Compact (formerly known as Windows CE) line of embedded operating systems.[8]
Attribution
On September 4, 2014, several online journals such as Business Insider,[9] DailyTech,[10] Engadget,[11] Gizmodo,[12] Lifehacker,[13] Neowin,[14] Softpedia,[15] TechSpot,[16] Boy Genius Report (BGR), The Register,[17] and The Verge,[18] as well as print and non-English sources like PC Authority and Austrian tech site FutureZone[19] all attributed the creation of the Blue Screen of Death to Steve Ballmer, Microsoft's former CEO. Their articles cited a blog post by Microsoft employee Raymond Chen entitled "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?",[20] specifically focusing on the creation of the first rudimentary task manager in Windows 3.x. This aforementioned task manager shared some visual similarities with a BSOD, with Ballmer writing the messages that appeared on the screen.[20]
Chen had to address this widespread misinformation in a blog post on September 9, 2014. In his post, he was scathing on his evaluation of major tech news sites that had picked up on the incorrect story and performed poor or non-existent research that demonstrated complete ignorance of his original account. He indicated that, in addition to the faulty base story, over half a dozen significant sites had included other embellished or invented details in their stories, including incorrectly naming Chen as a Microsoft executive, treating Chen as an "official company spokesperson", and using unrelated images from Windows NT or Windows 95 as illustrations. In addition, he also pointed out a very special mention for the worst single distortion out of any misinformations, which belonged to BGR (Boy Genius Report), who "fabricated a scenario and posited it as real" in a rhetorical question to readers. He also found that several sources had conflated the creation of the BSoD with the fact that they occur, thus inverting cause and effect by implying that the invention of BSoDs caused fatal errors to occur instead of their actual, helpful function of giving the user information about a fatal error after the system has already become unrecoverable (such incorrect sources transitively blamed Ballmer for the existence of all fatal crashes in Windows).[21] Chen would later follow this up with a blog post the day after his initial complaint, claiming responsibility for revising the BSoD in Windows 95. His post said in detail that he was the one who "sort of" created the BSoD in its first modern incarnation in Windows 95.[22]
On the other hand, the Blue Screen of Death (also known as a Stop error) in the Windows NT family was not based on the rudimentary task manager screen of Windows 3.x, but was actually designed by Microsoft developer John Vert, according to former Microsoft employee Dave Plummer.[23] Additionally, Vert has also stated the reason why Stop error screens were assigned the color blue was because the universal color palette of the video hardware at that time was very rudimentary and he personally used a MIPS OS box and SlickEdit for programming so that the firmware and editor both displayed white text on a blue background, making it for a more consistent programming experience.[23]
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. Earlier versions of Windows 11 used a black background[24] before later switching to a dark blue background starting with build 22000.348.[25] 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.[26][27][24] Windows 3.1, 95, and 98 supports customizing the color of the screen[28] whereas the color is hard-coded in the Windows NT family.[28]
Windows 95, 98, and Me render their BSoDs in the 80×25 text mode with a 720×400 screen resolution. BSoDs in the Windows NT family initially used the 80×50 text mode with a 720×400 screen resolution, but changed to use the 640×480 screen resolution starting with Windows 2000 up to 7. Windows 2000 used its built-in kernel mode font, Windows XP, Vista, and 7 use the Lucida Console font, and Windows 8 and Windows Server 2012 used the Segoe UI font. BSoDs on Windows 8 and Windows Server 2012 are rendered in higher resolutions than previous versions of Windows, where it uses the highest screen resolution available on UEFI machines. 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 'highestmode
' parameter in Boot Configuration Data).[29] Windows 10 builds 14316 and up 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. This format was retained in Windows 11.
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. Because of this, data loss may occur since the restart is unplanned, and the user is not given an opportunity to save their work.
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.[30] 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.[31] 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).[32] 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:[33]
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, which is absent on Japanese versions or Server counterparts.[34][better source needed] The hexadecimal error code and parameters can still be found in the Windows Event Log or in memory dumps, however the "Fatal System Error" BSoDs (which have also changed since Windows Server 2012) had the hexadecimal error code "0xc000021a" in place of the error name. Since Windows 10 build 14316, the screen features a QR code for quick troubleshooting. All references to "PC" are changed to the word "device" starting from Windows 10 v2004 onwards.
Windows 9x
The Windows 9x line of 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 "_VWIN32_FaultPopup
", gives the user the option either to restart the computer or to continue using Windows, allowing the user to save their work before any data could be lost. Depending on the type of situation it may have occurred, however, the options to either continue or restart may or may not work at all. This is in contrast to the Windows NT version of BSoDs, which prevented the user from using the computer until it has been powered off or restarted (usually automatic for the latter).
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:[35]
- 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. It is one of the many reasons why some people[who?] said that 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 "c:\con\con
", "c:\aux\aux
", or "c:\prn\prn
" 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. Creating the aforementioned directories within Windows will also not work and may cause the same BSOD to occur. On March 16, 2000, Microsoft released a security update to resolve this issue.[36]
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."[37]
systemd
systemd, a software suite providing system components for Linux operating systems, implements a blue screen of death similar to that of Microsoft Windows using a systemd unit called systemd-bsod since August 2023, which was fully added on December 6, 2023 starting with version 255 of systemd.[38] While it does not fully replace the kernel panic featured within Linux (see below), it is used in the event of a boot failure.[39]
Similar screens
Stop errors are comparable to kernel panics in macOS, Linux, and other Unix-like systems, and to bugchecks in OpenVMS. ReactOS, an open-source operating system designed to achieve binary compatibility with Windows, implements a version of the Blue Screen of Death similar to that used in Windows NT operating systems.
Windows 3.1 displays a black screen of death instead of a blue one.[21] Some versions of macOS (notably OS X Lion) display a black screen of death instead of a kernel panic, usually pointed to a graphics card or sleep/wake issue,[40] it may also display a black screen when the operating system fails to boot properly.[41] The Xbox series of consoles (which includes the original Xbox, Xbox 360, Xbox One and the Xbox Series X/S) also display a black screen upon hardware or software error.[42]
Beta versions of Windows 98 display a red error screen raised by the Advanced Configuration and Power Interface (ACPI) when the host computer's BIOS encounters a problem.[43] The bootloader of the first beta version of Windows Vista originally displayed a red screen background in the event of a boot failure.[44][45][46]
As mentioned earlier, the insider builds of Windows 10 and later, as well as Windows Server 2016 and later, display a green screen.[26][27][24] Windows 10 and later (and Windows Server 2016 and later) also display an orange screen when a driver incompatibility is present.[citation needed]
See also
- Screens of death
- Red Ring of Death
- Hang (computing)
- Machine-check exception (MCE)
- Windows Hardware Error Architecture (WHEA)
References
- ^ "Troubleshoot blue screen errors". Support. Microsoft. April 10, 2019. Archived from the original on September 4, 2019.
- ^ "Understanding Bugchecks". TECHCOMMUNITY.MICROSOFT.COM. March 16, 2019. Retrieved March 12, 2023.
- ^ "Blue screen data - Windows drivers". Microsoft Learn. January 4, 2023. Retrieved March 21, 2023.
- ^ a b "Why does Windows 1.01 crash at the splash screen?". Retro Computing. August 30, 2021.
In the final release of Windows, these detailed messages were hastily removed. The code that would print them, however, was not, and this is what produces the garbage output.
- ^ Chen, Raymond (September 26, 2017). "Who implemented the Windows NT blue screen of death?". The Old New Thing. Microsoft. Archived from the original on March 15, 2019. Retrieved October 1, 2021.
- ^ Wilson, Michelle (July 25, 2019). "What is the Blue Screen of Death in Windows 10 and How to Fix it?". HP. Retrieved October 1, 2021.
- ^ Cepero, Robert (May 17, 2019). "Blue Screen of Death: Causes and Fixes". Bleuwire. Retrieved October 1, 2021.
- ^ "Blue screen - Microsoft Windows Embedded Compact VErsion 7.00 (Build 2864)". social.msdn.microsoft.com. Retrieved January 18, 2023.
- ^ Smith, Dave (September 4, 2014). "Steve Ballmer Wrote The Blue Screen Of Death". Business Insider. Business Insider Inc. Archived from the original on September 8, 2014. Retrieved September 10, 2014.
- ^ Mick, Jason (September 4, 2014). "Microsoft Exec Reveals Steve Ballmer Created Original Blue Screen of Death Message". Daily Tech. DailyTech LLC. Archived from the original on August 20, 2015. Retrieved September 10, 2014.
- ^ Fingas, Jon (September 4, 2014). "Steve Ballmer wrote Windows' first Ctrl-Alt-Delete message (updated)". Engadget. AOL. Archived from the original on September 9, 2014. Retrieved September 10, 2014.
- ^ Condliffe, Jamie (September 4, 2014). "Steve Ballmer Wrote the Blue Screen of Death". Gizmodo. Gizmodo Media Group. Archived from the original on September 11, 2014. Retrieved September 10, 2014.
- ^ Kidman, Alex (September 5, 2014). "Steve Ballmer Wrote The BSOD, So Stop Slacking Off". Lifehacker. Allure Media. Archived from the original on September 10, 2014. Retrieved September 10, 2014.
- ^ Sams, Brad (September 4, 2014). "Steve Ballmer wrote the BSOD text". Neowin. Neowin LLC. Archived from the original on September 8, 2014. Retrieved September 10, 2014.
- ^ Popa, Bogdan (September 4, 2014). "Steve Ballmer Himself Created the First Blue Screen of Death Text". Softpedia. SoftNews SRL. Archived from the original on September 10, 2014. Retrieved September 10, 2014.
- ^ Schiesser, Tim (September 4, 2014). "The original Blue Screen of Death was written by Steve Ballmer". TechSpot. Archived from the original on September 10, 2014. Retrieved September 10, 2014.
- ^ Sharwood, Simon (September 4, 2014). "Ballmer PERSONALLY wrote Windows' Blue Screen of Death text". The Register. Archived from the original on September 8, 2014. Retrieved September 10, 2014.
- ^ Warren, Tom (September 4, 2014). "Steve Ballmer wrote the Blue Screen of Death message". The Verge. Vox Media. Archived from the original on September 7, 2014. Retrieved September 10, 2014.
- ^ "Steve Ballmer schrieb "Blue Screen of Death"-Botschaft". futurezone.at. September 4, 2014. Archived from the original on December 2, 2020. Retrieved September 3, 2024.
- ^ a b Chen, Raymond (September 2, 2014). "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?". The Old New Thing. Microsoft. Archived from the original on November 15, 2020. Retrieved November 13, 2020.
- ^ a b Chen, Raymond (September 9, 2014). "Steve Ballmer did not write the text for the blue screen of death". The Old New Thing. Microsoft. Archived from the original on October 25, 2020. Retrieved November 13, 2020.
- ^ Chen, Raymond (September 10, 2014). "I wrote the original blue screen of death, sort of". The Old New Thing. Microsoft. Retrieved September 3, 2024.
- ^ a b Plummer, David (January 30, 2021). "Why are Bluescreens Blue?". YouTube. Retrieved July 7, 2023.
- ^ a b c Warren, Tom (July 1, 2021). "Microsoft's Blue Screen of Death is changing to black in Windows 11". The Verge. Vox Media. Retrieved July 2, 2021.
While Microsoft is switching to a Black Screen of Death in Windows 11, the screen is identical to the one found in Windows 10 otherwise. The sad face remains, as does the stop code and crash dump. The current preview of Windows 11 includes a green BSOD, a color that Microsoft has been using for Windows Insider builds since 2016.
- ^ Klotz, Aaron (November 23, 2021). "Windows 11 Update Makes BSOD Blue Again and Fixes Major File Explorer Bugs". Tom's Hardware.
- ^ a b Williams, Wayne (December 29, 2016). "Behold the Windows 10 GSOD -- Green Screen of Death". BetaNews. Archived from the original on January 12, 2017.
- ^ a b Warren, Tom (December 29, 2016). "Windows 10 testers will now get a Green Screen of Death". The Verge. Vox Media. Archived from the original on January 1, 2017.
- ^ a b Seely, Scott (2000). Windows Shell Programming. Upper Saddle River, NJ: Prentice Hall PTR. pp. 232–233. ISBN 9780130254962. OCLC 44090524.
BSOD stands for Blue Screen Of Death. One can customize the colors of this screen by setting a couple of variables in the 386Enh section of SYSTEM.INI: MessageTextColor and MessageBackColor. The user can only customize the BSOD under Windows 3.1, 95, and 98. These changes do not work under the Windows NT variants.
- ^ Graff, Eliot; Marshall, Don (December 15, 2021). "BCDEdit /set - Windows drivers". Windows Hardware Developer. Microsoft. Archived from the original on December 25, 2020 – via Microsoft Docs.
- ^ Microsoft Windows NT Workstation Resource Kit (1st ed.). Redmond, WA: Microsoft Press. October 29, 1996. ISBN 1-57231-343-9.
- ^ DOMARS. "Getting Started with WinDbg (Kernel-Mode)". msdn.microsoft.com. Archived from the original on March 14, 2016. Retrieved June 15, 2018.
- ^ "Stop error code 0x0000007B (INACCESSIBLE_BOOT_DEVICE)". support.microsoft.com. April 17, 2018. Archived from the original on March 28, 2021. Retrieved January 16, 2020.
- ^ "STOP: 0x00000001 (parameter, parameter, parameter, parameter) APC_INDEX_MIS". msdn.microsoft.com. June 29, 2006. Archived from the original on June 15, 2018. Retrieved June 15, 2018.
- ^ The-Feren-OS-Dev (May 31, 2021). "Something about the way Windows 8/10's BSODs look in Japanese reminds me of the original Windows 8 BSOD design- OH". r/windows. Retrieved January 27, 2023.
- ^ "What Are Fatal Exception Errors". Support. Microsoft. January 19, 2007. Archived from the original on August 23, 2003. Retrieved October 16, 2013.
- ^ Microsoft Corporation (2000). "Patch Available for "DOS Device in Path Name" Vulnerability". TechNet. Microsoft. Archived from the original on August 30, 2011. Retrieved March 4, 2006.
- ^ Garmon, Jay (April 12, 2007). "Video: Bill Gates, meet the Blue Screen of Death". TechRepublic. CBS Interactive. Archived from the original on February 14, 2022. Retrieved February 15, 2022.
- ^ "Release systemd v255 · systemd/systemd". GitHub. Retrieved December 11, 2023.
- ^ "Add tool to display emergency log message full-sceen on boot failure. by 1awesomeJ · Pull Request #28077 · systemd/systemd". GitHub. Retrieved December 3, 2023.
- ^ David W. Martin (August 6, 2011). "Black Screen Of Death Plagues Some Mac Users After Lion Update". Archived from the original on August 28, 2018. Retrieved August 27, 2018.
- ^ "If your Mac starts up to a blank screen". Apple Support. Retrieved December 6, 2024.
- ^ "Xbox Support". support.xbox.com. Retrieved March 19, 2024.
- ^ "Advanced Configuration and Power Interface Errors on Red Screen". Support (1.3 ed.). Microsoft. January 10, 2015. Archived from the original on July 25, 2015.
- ^ Kaplan, Michael (May 7, 2005). "Longhorn on Virtual PC 2004". Sorting it all Out. Microsoft. Archived from the original on January 3, 2013.
- ^ Best, Jo (May 11, 2005). "Red screen of death?". CNET. CBS Interactive. Archived from the original on August 9, 2011. Retrieved September 9, 2013.
- ^ Farrell, Nick (June 3, 2005). "Microsoft sees red over blue screen of death". The Inquirer. Incisive Media. Archived from the original on August 25, 2009. Retrieved September 9, 2013.
External links
- Bug Check Code Reference
- SysInternals BlueScreen Screen Saver v3.2
- Blue Screen of Death. Archived March 31, 2022, at the Wayback Machine on MalWiki.