解决蓝屏的一点小经验
吃定蓝屏
>背景介绍
BSOD(Blue Screen Of Death):蓝屏,一种该死的神秘生物,经常在你不知觉之间将你的电脑橄榄
蓝屏的成因是什么?
本质上,windows系统在运行过程中,程序内部自我调试失败后,将错误递交给系统,如果系统调试能够解决,无事发生,不致命的错误系统调试失败的,会抛出程序崩溃、程序终止运行这种称之为闪退的错误,的大但当Windows遇到某一个不可避免的致命错误,为了防止系统和数据文件不因为这个错误而导致后续的损坏,启动自我保护机制,即强制终止一切服务运行,显示蓝屏界面。几乎任何一个可能导致冲突和致命系统错误的方式都可以引发蓝屏,比如你的机箱上爬了一只猫猫,邻居家啪啪的震动轻微扰动了你的机箱,门外的鸽子拉了便便在电线上,电线的震动产生的磁场扰动了你的机箱等等,但是一些蓝屏的成因是特定的,为本篇文章搭建了理论基础。
系统运行是扣扣子的话,当一颗扣子扣错后,为了防止后续的扣子扣错,应该立即烧毁重新开始扣扣子
因此大多数蓝屏在重启、重新运行服务后可以解决
我们(?)更感兴趣的是,虽然重启能解决问题,但是到底哪个地方抛出了致命错误?
如果重启也不能解决,或者总是蓝屏,那及时排查也是十分必要的。
>前期准备
Windows系统在抛出BSOD前会自动生成一个致命错误的文件Dmp,记录了出现致命错误的调用栈和其他的信息,能够被利用来调试BSOD,甚至能用来复现蓝屏,但那个操作比较复杂,本文只介绍比较简单的方式。
在控制面板
中搜索高级系统设置
在启动和故障恢复
的设置界面,在写入调试信息
一栏选择自动内存转储
以保存合适的调试文件.dmp
默认的排障信息在/Windows/MEMORY.dmp
出现蓝屏的机器可以提取该文件再分析,也可以直接在当前系统下分析(对本教程来说没有影响)
并不是所有机主在出现蓝屏时都知道保留错误代码或者错误代码总是不同,这种方法能很好解决
>安装Blue-Screen-View软件
前往官网下载软件,使用第一个Download Blue-Screen-View (in Zip file)即可
值得一提的是,该软件提供MD5和哈希值校验,防止软件被篡改
解压到某一文件夹
【可选】下载中文汉化包Simplified Chinese直接解压到软件所在文件夹即可
>如何使用?
认识面板
面板如图,已经是汉化后的版本。按下F6
需要注意那些信息?
【Dump文件】:该字段已经列出了本电脑(如果在本电脑打开)出现的历次蓝屏记录信息
【故障检查信息】:该字段记录系统对这个错误的说明,有助于排查问题
【故障检查代码】:就是著名的十六进制蓝屏代码
【文件描述】:对抛出致命故障的调用栈的文件描述,可以用来判断是什么原因
【高亮红色文件】:抛出致命问题的文件
分析方式
软件提供多种视图,常用的是F6
和F8
先使用F8
,效果如图
可以将蓝屏信息页模拟出来(不能模拟出Win10的蓝屏信息页)
可以从中查看到错误代码,但也可以从故障检查代码
字段直接读取
使用F6
,就是认识面板的界面
调试示例
以本机出现的蓝屏信息为例,开始调试:
双击打开第一个Dump文件042422-11875-01.dmp
,弹出详细信息,复制故障检查代码
得到0x00000116
直接谷歌或必应该代码,本教程是查表,可以得知是显卡相关故障,尝试更新显卡驱动、取消显卡超频等方法,排除问题。