不慌,蓝屏而已
半夜一点半,正在肝图/Debug/做PPT/写论文的你,面对电脑桌面上二十多个窗口正昏昏欲睡。此时,一片蓝色映入眼帘,只见屏幕上出现一个二维码和几行字:
“
:(
你的电脑遇到问题,需要重新启动。
我们只收集某些错误信息,然后你可以重新启动。
30%完成
有关此问题的详细信息和可能的解决方法,请访问
https://www.windows.com/stopcode
如果致电支持人员,请向他们提供以下信息:
xxxxxxxxxxxxxxxxxx
”
你睡意全无,想砸电脑的同时还在担心刚刚的数据有没有自动保存,一夜的辛劳是否付诸东流。
你遇到的是Windows蓝屏死机。
但不慌,蓝屏而已。
一、何为蓝屏
官方描述为:
“如果某个问题导致设备意外关机或重启,则可能会发生蓝屏错误(也称为停止错误)。你可能会看到一个蓝屏,同时显示消息‘你的设备遇到了问题,需要重启’。”
我们可以简单理解为,当Windows系统无法从一个错误中恢复时,用以提示用户错误信息的图像,因为背景是蓝色的,称为蓝屏死机,Blue Screen of Death,缩写为:BSoD,简称蓝屏。
所以这里要给蓝屏洗一下,大多数用户都是谈蓝屏色变,其实大家恐惧的是各种各样的系统崩溃,蓝屏只是帮电脑解脱了,还提醒用户发生了什么事情,只是因为事情有时太复杂蓝屏君说得又很隐晦。但不管出了什么问题,用户都只能看到一张蓝屏和不是那么易懂的终止代码,蓝屏才成了最不招人待见的画面,背了这么多年的黑锅。
先来看一张Windows 7/Vista/XP的蓝屏界面:
再来看一张Windows10的蓝屏界面:
除去一些起到描述和安慰剂作用的语句,Windows 7时代的蓝屏只有四行是有用的,最令人感动的是会提示“可能诱因”:
The problem seems to caused by the following file : XXXXXX.XXX
普通用户就算看不懂这是什么文件,搜索或求助时这个“XXXXXX.XXX”也是非常有效或关键的信息,比如上图中的“SPCMDCON.SYS”。
以及下面一行:
PAGE_FAULT_IN_NONPAGED_AREA
这是一个简单描述的词组,Windows 8及以后大多这样提示了,也是检索时的有效信息。经过简单的检索,我们可以发现错误是由一个名为“SPCMDCON.SYS”的内存设备控制程序的驱动程序引起的,属于内存完整性错误,可以根据情况通过替换文件或修改注册表解决。
而到了Windows 10,有效信息就只有一行半了:
其中半个是链接:https://www.windows.com/stopcode,扫描二维码可以得到同样的链接,用浏览器访问会重定向到蓝屏错误疑难解答支持界面。
在这个网页中微软会对蓝屏和终止代码做简单的描述,然后引导你做简单的判断并进行操作。由于针对性较弱,一般作用不大。
最有用的信息就是最后一行终止代码,Windows 8及之后多为描述性语句,如:
CRITICAL_PROCESS_DIED、SYSTEM_THREAD_EXCEPTION_NOT_HANDLED、IRQL_NOT_LESS_OR_EQUAL、VIDEO_TDR_TIMEOUT_DETECTED、PAGE_FAULT_IN_NONPAGED_AREA、SYSTEM_SERVICE_EXCEPTION、DPC_WATCHDOG_VIOLATION等;
Windows 7及之前版本的系统还会显示十六进制错误代码,Windows 10少数情况下也会出现,如:0x0000000A、0x0000003B、0x000000EF、0x00000133、0x000000D1、0x1000007E、0xC000021A、0x0000007B、0xC000000F等。
用户可以根据终止代码查找相关错误信息和解决方案,想必许多人都有过类似经历。
二、诱发因素
导致蓝屏死机的因素可以分为硬件和软件两大类。
1、硬件
先来说硬件,硬盘坏道、内存地址错误甚至是接触不良、电源电压或电流不稳、CPU过热等都可能引起蓝屏死机,一些需要通过外部接口连接的硬件比如USB网卡也会成为罪魁祸首。硬件故障引起的蓝屏一部分通过重启、更换可以解决,还有很大一部分和软件驱动有关系,下面看软件。
2、软件
软件原因导致蓝屏的情况更多,我们分类来讲:
系统文件损坏、缺失或查找错误,包括dll、sys、dat等文件,可以通过替换或修复文件解决;
系统更新,有时微软都想不到的情况也会发生,某些系统更新会引起蓝屏,可通过卸载更新解决;
硬件驱动,最常见的有显卡、声卡、网卡驱动,有些驱动还会对其他硬件造成影响导致蓝屏,驱动造成的蓝屏往往可以通过回滚/更新版本解决,开机蓝屏可以进入安全模式卸载,安全模式都进不去可以通过PE环境配合Dism ++卸载;
第三方软件,一些第三方软件会和系统任务冲突,导致蓝屏,亦或两个软件相互影响,一般可通过卸载或更改设置解决。
整体来看,第三方软件和驱动造成的蓝屏死机占到总数的绝大部分。
三、解决方案
说了这么多,那么该如何解决呢?
先来说说整体思路,对于有一定专业知识和技能的用户来说,方向是找出导致问题的原因,可以尽快自己解决;对于普通用户或小白用户,肯定是需要搜索解决方案的,我们的目的是找到最精准最有效的检索信息/关键词,也就是我们之前就提到的“probably caused by”,尽可能短时间内较为容易地找到有效解决方案。
我们这里提供几种细分思路:一是上网搜索或求助;二是通过分析获取较为准确的起因和问题所在,有针对性的解决;三是重装或还原系统;四是找售后解决。
1、搜索或求助
我们电脑上出现的蓝屏几乎可以确定曾经有人也遇到过,出现过的问题大部分也都有解决方案,他山之石,可以攻玉,所以搜索或求助大部分时间都是省时省力又有效的办法。
搜索的关键词就是终止代码,在贴吧、论坛特别是微软官方社区,长期存在大量精品帖子帮助求助者解答各种各样奇奇怪怪的蓝屏问题,微软官方论坛中高质量帖多为英文,翻译一下不难理解,分析准确、步骤详细且讨论时间长达数年。
2、精确分析,对症下药
现在我们讲重点,首先还是那句话,找到“probably caused by”非常重要。由于一个终止代码往往可以囊括数十种错误原因,所以有时遇到一些疑难杂症通过网上的教程难以修复,这时如果可以分析出引发蓝屏的原因和症结所在,将会节省大量时间,尽早解决问题。当然,一些用户可以凭借经验、专业知识甚至是直觉直接可以解决,普通用户还是难免要搜索一下,不过有了更精准的信息,也更容易找到解决方案。
补充一个我们之后会用到的概念,Dump/dmp文件:Dump文件是进程的内存镜像,文件后缀为“.dmp”,可以把程序的执行状态通过调试器保存到Dump文件中,多用以调试驱动程序。(根据小编个人习惯,下文中都作“dmp文件”。)Windows蓝屏瞬间也会生成dmp文件,将和蓝屏相关的时间、终止代码、可能诱因、内存地址等信息保存在内。
首先我们要知道的是,蓝屏生成的dmp文件大部分情况下存储在“C:\Windows\Minidump”路径下,打开文件需要权限。
可以分析dmp文件的工具非常多,下面我们分享最有代表性的三个:依次为WinDBG、BlueScreenView和联想蓝屏分析诊断工具。这几款软件都可以载入dmp文件,读取其中堆栈信息等参数,通过分析其中的关键参数,可以大致或精确地推断出症结所在,方便对症下药。虽然基础功能都是一样的,但也有不同点:按照上述提到的顺序,图形化程度、操作便捷性、有效信息展示直观性、易用性等依次提高。
小编找到几个dmp文件,我们以其中一个为例,来看三款软件的使用和分析过程。
WinDBG
下载地址:WinDBG_64位安装版微软官方下载 · 网盘-提取码:qhek
①安装
软件安装后打开,界面如下。
②设置符号表
符号表相当于WinDBG的“数据库”,离开符号表WinDBG几乎无法分析出太多有效信息。设置方法为:运行软件后单击或按快捷键弹出设置对话框,将符号表地址
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
粘贴于其中,点击确定即可。
注:红色字体为符号表本地存储路径,可自定义。
③载入dmp文件
我们知道蓝屏后生成的dmp文件存储在“C:\Windows\Minidump”路径下,运行软件后,可以通过快捷键来打开一个dmp文件,或单击来打开。
如果想打开第二个dmp文件时上一个文件还未分析完成导致无法打开,可以使用快捷键来关闭上一个dmp文件的分析记录。
③分析文件
我们选择其中一个dmp文件用WinDBG打开。
打开后经分析得到如下数据:
我们来对几组容易理解且比较关键的数据进行解读:
System Uptime:系统运行时间。通过此项数据可以得知崩溃是在开机后多长时间出现的。如上图数据为0天0时0分48秒出现蓝屏死机。以现在新电脑的开机时间推算,十秒左右基本可以判定为开机蓝屏,反之则为使用过程中出现崩溃。
BugCheck:错误校验码。也即终止代码或错误代码的简写,在MSDN上0x00000139经常表示为139或0x139。由于软件开发较早,无法与Windows 10的描述性终止代码匹配,但也算是一项有用的信息。
Probably caused by:可能诱因。并不是每个dmp文件分析出的此项都是有意义的,但这次运气非常好,此项数据值是名为RNDISMP6.SYS的驱动文件。也就是说很有可能是由于这个驱动出现问题导致蓝屏死机。经过查询得知,本次蓝屏正是手机通过RNDIS设备共享网络时驱动出错引起的,更新驱动并进行一些兼容性更改后得以解决。
!analyze–v:详细分析命令。当然并不是每次分析都会得到可以直接推断出诱因的值,如果得到的是未知的或没有太多参考意义的值,还可以使用此命令进一步分析错误原因。可直接点击运行。
运行后结果如下:
运行该命令得到的结果中包含之前的结果,还有一些更为详细的数据辅助判断,如果崩溃次数统计、崩溃进程名、栈文本信息等。
至此,结合第一次分析和第二次详细分析得到的数据,我们就可以搞定绝大多数的蓝屏了。
BlueScreenView
下载地址:
BlueScreenView安装版官方下载 · 网盘-提取码:ac2p
BlueScreenView绿色版网盘-提取码:xf7g
BlueScreenView绿色中文版网盘-提取码:aur6
相较于WinDBG以文本形式展示数据,BlueScreenView则更加直观,“以类数据库查询”的方式,通过表格对各项数据进行展示,枚举崩溃堆栈中的内存地址,可能导致崩溃的驱动、模块会被标红置顶显示,且版本资源信息如产品名称、文件版本、公司、文件描述等都会被提取。也可通过更改中载入文件夹的路径,载入其他位置的dmp文件。
双击上方列表中dmp文件会弹出窗口显示与WinDBG类似的信息,双击下层窗格的文件名也是同样的功能,操作更简单。
BlueScreenView更直观更便捷,得到的数据和WinDBG大部分相同,略有不同的是,WinDBG提供的“Probably caused by”是“罪魁祸首”,BlueScreenView提供的“Caused by”是“受害者”。
除此之外,还有特别有趣的一点,BlueScreenView还可以模拟XP蓝屏画面,但由于软件有些年头没更新了所以Windows 8及之后的蓝屏画面并不支持。
联想蓝屏诊断工具
下载地址:网盘-提取码:idt5
最后跟大家分享一个对普通用户十分友好的工具,和前边两个一样,也有些年头了,但我们还是可以找到比较新的版本,感谢工程师。
打开软件后会有简单的提示,左下角自动勾选使用许可协议。
点击“开始检测”,软件会自动检测到Minidump文件夹下的dmp文件,如果有多个会自动同时选中,可手动取消。也可以点击“选择其他文件夹”非本系统的dmp文件。
点击“开始分析诊断”,等待短暂的分析时间,结果就会呈现在我们眼前。
我们来看一眼这个“诊断结果”,重要信息一目了然,“”直接甩在用户脸上,下方还有可供参考的“原因”(,有时并不对)。下面还有贴心地附上解决方案,以及更新到Windows 10的“图文方案”,虽然大部分情况下都是没什么用的套路,但用最快最简单的方式呈现关键信息,让普通用户没有多少学习成本不用看晦涩难懂的参数已是值得点赞的事了。
值得一提的是,软件使用完关闭后,会有一个卖萌的小界面,赞一下和踩一下点完之后直接就关闭了,点击“问题没解决我要找人工”,就会关闭软件跳转到联想人工客服界面,刚开始是机器人,可手动转人工客服,这个细节还是很好的,提出表扬,联想不管再怎么容易招黑,售后质量还是妥妥的第一梯队。
3、重装/还原系统
做完几乎可以做的所有尝试后,请放平高傲的头颅,收起最后的倔强,继续一筹莫展不如重装或还原系统。纵然一个使用时间很长的系统重装起来成本是很高的,尤其对强迫症来说,但一晚上基本也可以完成系统重装、文件迁移、软件安装、个性化设置等工作了,云同步程度高的话会更快一些,第二天早上又是一台元气满满的电脑。面对屡屡导致蓝屏的系统错误,束手无策、山穷水尽时,可以靠“重买一台解决100%问题”的人应该不多,但能做到“重装解决90%问题”还是大有人在的,我们的目的是解决问题,没必要跟自己过不去不是?哦,对了,记得做好数据备份(×3)。
4、售后
如果自己尝试了包括重装在内的一切方式还是搞不定,或者几乎能确定是硬件问题,又或者就是懒得动,就给售后一个机会履行他们的义务吧。
联系售后的方式非常简单,机身或包装盒上一般就会有售后联系方式,直接找到店家也是可以的;网上搜索“品牌+支持/support”,也可以轻易找到品牌技术支持界面,这里一定有售后联系方式,在网页上告知或填写SN码,可以自动判断机型和在保日期,申请对应售后服务。
联想、戴尔和某些品牌高端系列产品的售后都非常好,带上门的产品基本都是24小时在线/电话客服,24小时内也会安排上门。其他品牌大多也都支持个人送修,如果市内有售后网点再好不过,没有的话还能寄修,但是要提前了解一下保修政策,避免被无良代理网点坑钱。这种方式时效性可能差一点,但一定能解决问题,而且,省事儿啊。
5、换电脑
直接买新的。
或者换Mac,永远告别蓝屏。
嗯?
……好吧当我没说……
了解了以上的内容后,相信解决绝大部分的蓝屏都不在话下了,小编希望家友们可以无惧崩溃、笑对蓝屏,让蓝屏对大家工作生活学习的影响降到最低。
大家还有哪些解决蓝屏的高招,不妨在评论区分享交流一下。