The Wayback Machine - https://web.archive.org/web/20221025113450/https://baike.sogou.com/kexue/d10056.htm

蓝屏

编辑
Windows 10中的蓝屏死机,包括一个悲伤的表情和一个快速故障排除的QR代码

停止错误(stop error),常称为蓝屏死机(Blue Screen of Death)(也简称为蓝屏或BSoD),是出现严重的系统错误后,windows计算机系统上显示的一种错误屏幕,也称为系统崩溃。系统崩溃是指操作系统不能再安全运行的一种状态。

1 历史编辑

在日内瓦国际机场的行李领取监视器上看到的Windows NT 4.0 蓝屏死机

自windows系统3.1版本问世以来,一直存在蓝屏的情况,表现为一个蓝色的屏幕上面有白色的字解释出现的问题。windowsNT3.1( windowsNT系列的第一个版本,于1993年发布)和后来发布的所有windows操作系统都出现过蓝屏的现象。设备驱动程序设计不佳或硬件故障(如内存故障、电源问题、组件过热或硬件在超出其规格限制的条件下运行)都可能会导致蓝屏。windows操作系统9x内核中不兼容的动态链接库(DLL)或漏洞(bug)也可能会导致蓝屏。由于windows9x不稳定且缺乏内存保护,蓝屏的现象更为常见。

1.1 归因错误

2014年9月4日,包括《商业内幕》(Business Insider)[1]、《每日技术》(DailyTech)[2]、《瘾科技》(Engadget[3])、Gizmodo[4]、《生活黑客》(Lifehacke)[5]、Neowin[6]、Softpedia[7]、TechSpot[8]、The Register[9]和The Verge[10]在内的几家线上期刊将蓝屏死机的出现归咎于微软公司前首席执行官史蒂夫·鲍尔默,引用的资料却并非此意。引用的是微软员工雷蒙德·陈的一篇文章,题为《谁为windows3.1编写的Ctrl+Alt+Del对话框文本?》[11]这篇文章是关于在windows3.x版本第一个基本任务管理器的创建的,这个任务管理器与蓝屏有着相似的视觉效果。[11]雷蒙德·陈在2014年9月9日的续篇中抱怨这一常见错误,声称要负责修改windows95版本中的蓝屏问题,并指责BGR.com“完全是捏造了一个场景,并假定这个场景是真实的”。[12]稍后,Engadget更新其文章以纠正该错误。[3]

2 格式编辑

在windows8和windows服务器2012问世之前,蓝屏是指在宝蓝色的背景上显示银色文本的情况,文本内容包含当前内存值和寄存器值等信息。windows服务器2012、windows8和windows10出现蓝屏时,背景是蓝色的。

windows95、98和ME 出现蓝屏时,文本模式是80×25。windowsNT系列操作系统出现蓝屏时,是在720×400大的屏幕上出现80×50的文本模式。出现蓝屏时,windowsXP操作系统的字体是Lucida Console,而windowsVista和7的字体则是 Consolas。windows8和windows服务器2012使用Segoe用户界面并尝试以本机分辨率标记蓝屏,其他情况则默认为640 x 480。蓝屏在windows10中出现的格式与windows8相同,但多了一个二维码,是微软公司用来调查蓝屏的原因。

尽管被称为“蓝屏”,但在windows9x系统中,相关消息的颜色可以由用户自己选择。[13] 截至2016年12月,windows10的windows内幕版本的蓝屏格式与公开发行版本的相同,除了背景是绿色而不是蓝色。[14][15]

3 windowsNT系统编辑

在WindowsXP中看到的停止错误。

在windowsNT系列操作系统中,当内核或在内核模式下运行的驱动程序遇到无法恢复的错误时,会出现蓝屏死机( 正式名称为停止错误,在windows软件开发工具包和驱动程序开发工具包文档中称为“错误检查”),通常是由正在进行的不正当操作引起的。在这种情况下,操作系统可以采取的唯一安全措施是重启计算机,但这可能会造成数据丢失,因为用户不能保存尚未保存到硬盘的数据。

错误屏幕上的文本包含错误代码及其符号名( 例如,“0x0000001E,KMODE _ EXCEPTION _ NOT _ HANDLED” )以及括号中的四个与错误密切相关的值,这些值可帮助软件工程师修复出现的问题。文本可能会显示问题发生的位置,以及在该位置加载的驱动程序。在windows操作系统中,屏幕的第二和第三部分可能分别包含所有加载的驱动程序和堆栈转储的信息。驱动程序信息分为三列:第一列是驱动程序的基址,第二列是驱动程序的创建日期(以Unix时间戳的形式),第三列是驱动程序的名称。[16]

ReactOS是一种尝试创建免费和开源的Windows NT兼容操作系统的实现,它也具有自己的蓝屏功能,类似于Windows NT系列中的蓝屏。

默认情况下,当发生停止错误时,windows系统会创建内存转储文件。由于操作系统版本不同,这些文件可以多种格式保存,既可以是64kB的“小型转储”文件( windows2000中引入),也可以是“完全转储”文件,后者实际上是物理内存全部内容的副本。之后可以使用内核调试器对生成的内存转储文件进行调试。windows系统使用的是windows调试工具中的WinDBG或KD调试器。[17] 调试器是获取堆栈踪迹所必需的,也可能需要借助调试器来确定问题的真正原因。由于屏幕上的信息是有限的,因此可能会造成误导,这可能会隐藏错误的真正原因。出现停止错误时,windowsXP操作系统默认只保存64kB的小型转储文件,然后自动重启计算机。因为这个过程非常快,所以蓝屏可能只在一瞬间出现,或者根本不出现。一些用户已经注意到这是随机重启,而不是传统的停止错误;而且,某些用户只有在windows系统重启并出现已从严重错误中恢复的通知后才发现问题。只有当计算机启用了“自动重启”这一功能时才会发生这种情况,该功能可以在控制面板中禁用,但操作时又会显示停止错误。

也可将微软公司的windows系统设置为向在独立计算机上运行的内核调试器发送实时调试信息。如果实时内核调试器连接到系统时出现停止错误,windows系统将停止执行命令并切断调试器,而不是显示为蓝屏。可以用调试器来检查内存的内容并找出问题的原因。

蓝屏也可能由严重的引导加载程序错误造成,此时,由于存储驱动程序不正确、文件系统受损或类似问题出现,造成操作系统无法访问引导分区。这种情况下的错误代码是STOP 0x0000007B( 不可访问_引导_设备 )。在这种情况下,不会保存任何内存转储文件。由于在这种情况下系统无法从硬盘启动,因此,要想解决问题,通常需要使用安装光盘中的修复工具。

3.1 详情

在windows服务器2012问世之前,每次蓝屏时,都会以大写的错误名称(例如APC _ INDEX _ MISMATCH)、十六进制的错误代码(例如0x00000001)和四个参数的形式出现。错误代码和参数以下面的格式一起出现:[18]

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

由于错误代码及其性质不同,全部、部分甚至零个参数包含与出错原因和/或发生位置相关的数据。此外,错误屏幕出现时,表现为四个段落的一般说明及建议,可能还包括其他技术数据,如引起问题的文件的名称和内存地址。

随着windows服务器2012版的发布,蓝屏时出现的内容也发生了变化,所有上述内容都没有了,取而代之的是错误名称和简明的描述。windows 8操作系统还多了一个悲伤的表情。不过,仍然可以在windows事件日志或内存转储中找到十六进制的错误代码和参数。自从windows10 Build 14393版本问世以来,windows10系统中多了用于快速诊断故障的二维码。

4 windows9x系统编辑

Windows 9x上的蓝屏死机

蓝屏经常出现在微软的家用桌面操作系统windows95、98和ME版本中。在这些操作系统中,蓝屏是虚拟设备驱动程序向用户报错的主要方式。它在内部被称为“_VWIN32_FaultPopup”。windows 9x系统出现蓝屏时,用户可以选择重启或继续。

蓝屏最常见的形式是出现80×25大的屏幕,操作系统以这种方式报告处理器异常引起的中断由处理器异常造成),这也是一种比一般的故障保护对话框的情况更严重的对话框。屏幕上出现错误的内存地址,错误类型用由从00到11( 十进制从0到17)的十六进制数组成的代码来代替。错误代码如下:[19]

  • 00:除法出错
  • 01:调试异常
  • 02:不可屏蔽中断
  • 03:断点
  • 04:溢出陷阱
  • 05:界限检查故障
  • 06:无效操作码故障
  • 07:“协处理器不可用”故障
  • 08:双重故障
  • 09:协处理器越段运行
  • 0A:无效任务段故障
  • 0B:段不存在故障
  • 0C:堆栈故障
  • 0D:一般保护性故障
  • 0E:页面出错
  • 0F:超过错误消息限制
  • 10:协处理器出错故障
  • 11:对齐检查故障

出现蓝屏的原因包括:

  • DLL版本不兼容时出现的问题,即当应用程序需要时,windows系统将DLL加载到内存中;如果DDL版本发生变化,下一次应用程序加载DLL时,结果可能会与预期不同。时间越长,安装的新软件也越多,此类的不兼容性也随之增加,这也是为什么新安装的windows系统比旧版本更稳定的主要原因之一。
  • 设备驱动程序有故障或编写不当
  • 硬件不兼容

硬件受损也可能会导致蓝屏。

在windows系统95和98版本中,当系统试图访问硬盘上的文件“c:\con\con”或“c:\aux\aux”时,会出现蓝屏。可以将其嵌入到网站上,使访问者的计算机崩溃。2000年3月16日,微软发布了一个安全更新来解决这个问题。[20]

1998年4月20日,比尔·盖茨(Bill Gates)在COMDEX演示windows98测试版时,出现了一个著名的windows9x 蓝屏实例:当其助手克里斯·卡波塞拉(Chris Capossela)将扫描仪连接到电脑上,准备演示windows98版本支持即插即用设备时,电脑出现了蓝屏。观众因此爆发了雷鸣般的掌声。盖茨有些不安,停顿后说道:“这就是我们还没有推出windows98的原因。”[21]

5 Windows CE操作系统编辑

Windows CE 5.0

最简单的蓝屏版本出现在Windows CE中(Pocket PC 2000和Pocket PC 2002除外)。Windows CE 3.0中的蓝屏类似于Windows NT中的蓝屏。

6 类似的屏幕编辑

停止错误类似于macOS、Linux和其他类unix系统中的内核恐慌,也类似于OpenVMS中的错误检查。Windows 3.1和macOS都显示黑色的死亡屏幕,而不是蓝色的。[12][22] 主机的基本输入输出系统出现问题时,Windows98 版本会显示一个由高级配置和电源管理接口(ACPI)所引发的红色错误屏幕。[23]引导失败时,Windows Vista第一个测试版的引导加载程序也会出现一个红色的错误屏幕。[24][25][26]

参考文献

  • [1]

    ^Smith, Dave (4 September 2014). "Steve Ballmer Wrote The Blue Screen Of Death". Business Insider. Business Insider Inc. Retrieved 10 September 2014..

  • [2]

    ^Mick, Jason (4 September 2014). "Microsoft Exec Reveals Steve Ballmer Created Original Blue Screen of Death Message". Daily Tech. DailyTech LLC. Archived from the original on 2015-08-20. Retrieved 10 September 2014..

  • [3]

    ^Fingas, Jon (4 September 2014). "Steve Ballmer wrote Windows' first Ctrl-Alt-Delete message (updated)". Engadget. AOL. Retrieved 10 September 2014..

  • [4]

    ^Condliffe, Jamie (4 September 2014). "Steve Ballmer Wrote the Blue Screen of Death". Gizmodo. Gizmodo Media Group. Retrieved 10 September 2014..

  • [5]

    ^Kidman, Alex (5 September 2014). "Steve Ballmer Wrote The BSOD, So Stop Slacking Off". Lifehacker. Allure Media. Retrieved 10 September 2014..

  • [6]

    ^Sams, Brad (4 September 2014). "Steve Ballmer wrote the BSOD text". Neowin. Neowin LLC. Retrieved 10 September 2014..

  • [7]

    ^Popa, Bogdan (4 September 2014). "Steve Ballmer Himself Created the First Blue Screen of Death Text". Softpedia. SoftNews SRL. Retrieved 10 September 2014..

  • [8]

    ^Methun, Aayan (23 November 2014). "How To Install Windows 7 From CD". [1]. Aayan SRL. Retrieved 23 November 2018. External link in |website= (help).

  • [9]

    ^Sharwood, Simon (4 September 2014). "Ballmer PERSONALLY wrote Windows' Blue Screen of Death text". The Register. Retrieved 10 September 2014..

  • [10]

    ^Warren, Tom (4 September 2014). "Steve Ballmer wrote the Blue Screen of Death message". The Verge. Vox Media. Retrieved 10 September 2014..

  • [11]

    ^Chen, Raymond (2 September 2014). "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?". The Old New Thing. Microsoft. Retrieved 10 September 2014..

  • [12]

    ^Chen, Raymond (9 September 2014). "Steve Ballmer did not write the text for the blue screen of death". The Old New Thing. Microsoft. Retrieved 10 September 2014..

  • [13]

    ^Scott Seely (2000). Windows Shell Programming. Prentice Hall PTR. pp. 232–233. ISBN 9780130254962. 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..

  • [14]

    ^"Behold the Windows 10 GSOD -- Green Screen of Death". BetaNews. 2016-12-29. Retrieved 2017-01-13..

  • [15]

    ^Warren, Tom (December 29, 2016). "Windows 10 testers will now get a Green Screen of Death". The Verge. Vox Media. Retrieved 1 February 2017..

  • [16]

    ^Microsoft Windows NT Workstation Resource Kit (1st ed.). Redmond, WA: Microsoft Press. 29 October 1996. ISBN 1-57231-343-9..

  • [17]

    ^DOMARS. "Getting Started with WinDbg (Kernel-Mode)". msdn.microsoft.com. Retrieved 15 June 2018..

  • [18]

    ^"STOP: 0x00000001 (parameter, parameter, parameter, parameter) APC_INDEX_MIS". msdn.microsoft.com. Retrieved 15 June 2018..

  • [19]

    ^"What Are Fatal Exception Errors". Support. Microsoft. 19 January 2007. Retrieved 16 October 2013..

  • [20]

    ^Microsoft Corporation (2000). "Patch Available for "DOS Device in Path Name" Vulnerability". TechNet. Microsoft. Retrieved 4 March 2006..

  • [21]

    ^Garmon, Jay (12 April 2007). "Video: Bill Gates, meet the Blue Screen of Death". TechRepublic. CBS Interactive. Retrieved 20 December 2013..

  • [22]

    ^David W. Martin (6 August 2011). "Black Screen Of Death Plagues Some Mac Users After Lion Update". Retrieved 27 August 2018..

  • [23]

    ^"Advanced Configuration and Power Interface Errors on Red Screen". Support (1.3 ed.). Microsoft. 10 January 2015. Archived from the original on 25 July 2015..

  • [24]

    ^Kaplan, Michael (7 May 2005). "Longhorn on Virtual PC 2004". Sorting it all Out. Microsoft. Archived from the original on 3 January 2013..

  • [25]

    ^Best, Jo (11 May 2005). "Red screen of death?". CNET. CBS Interactive. Retrieved 9 September 2013..

  • [26]

    ^Farrell, Nick (3 June 2005). "Microsoft sees red over blue screen of death". The Inquirer. Incisive Media. Retrieved 9 September 2013..

阅读 10w+
版本记录
  • 暂无