蓝屏宕机常规处理方法
Windows 主动进入安全模式的方法
当系统感染病毒或者有其他需要进入到安全模式时,用户可以主动设置进入Windows安全模式启动系统。 设置如下:
1.打开有管理员权限的命令行工具, 输入"msconfig", 进入到"系统配置"界面,勾选如下图所示。
2.点击"应用",点击"确定"后,重启操作系统,系统自动进入安全模式,安全模式下,桌面四角有"安全模式"的水印,如下图所示。
3.当操作完毕之后, 需要恢复到正常启动的模式。 重新打开"系统配置"界面,将启动选择修改成"正常启动"即可。
Windows 内核转储设置
百度智能云的Windows虚拟机默认开启小内存转储(Core Dump)。在某些特定的情况下,比如蓝屏、黑屏、系统hang住,研发人员需要借助转储文件才能快速定位问题点,从而快速处理问题。
在小内存转储的设置下,Dump文件会存放在%SystemRoot%\Minidump(e.g. C:\Windows\Minidump)目录底下,这些文件的历史记录按照日期命名,查找带有当前系统日期的文件名,即可找到当前的Dump文件。
此外,内存转储还有其他几种方式:核心内存转储、完全内存转储、自动内存转储,其dump文件均是%SystemRoot%\MEMORY.DMP(e.g. C:\Windows\MEMORY.DMP),此文件会自动覆盖前一次产生的dump。
可以通过下列的方式手工修改产生转储文件的方式。
1.打开"控制面板",点击"系统",在系统页面双击"高级系统设置"。
2.在"高级系统设置"页面下,点击"高级"页面,设置 "启动和故障恢复"。
3、在"启动和故障恢复"页面,选择"写入调试信息"的方式。
注意:
如果C盘空间不足,建议可以将转储文件放到其它磁盘中。
配置页面文件:
配置页面文件需要您对操作系统有一定的了解。当系统运行到一定条件下的时候,会使用到更多的虚拟内存。当内存不足时,Windows 可以将硬盘上的的一块区域(以分页文件的方式)当作RAM来使用。
设置方法如下:
1.在"高级系统设置"窗口的"高级"页面下,点击"性能"设置,进入"高级"页面,双击"更改"修改虚拟内存。
2.修改分页文件的大小,文件大小通常会比当前使用的内存大一点点。
微软的官方参考文档
- [如何在 Windows Server 2008 和 Windows Server 2008 R2 中生成内核或完全存储器转储文件]https://support.microsoft.com/zh-cn/kb/969028。
- [Microsoft"蓝屏"或停止错误问题疑难解答] https://support.microsoft.com/kb/3106831
Windows 系统重启后显示系统恢复选项
Windows 系统有可能会遇到重新启动后,无法正常载入系统的情况.这个时候,用户首先会看到"系统恢复"界面。
当进入到"系统恢复"界面的时候,说明此时的系统,已经无法维持正常的运转,原因有很多,如注册表损坏、系统文件损坏、BCD出现问题等等。这些情况很多时候是由于安装的第三方杀毒软件、误操作、异常重启、第三方应用软件引起的。
"系统恢复"界面会引导客户进入Windows的修复模式(Windows Recovery Environment) ,修复模式资料参考 Understanding Windows Recovery
处理方式
百度智能云采用微软官方的系统恢复方案。
How Windows RE Works
同时,百度智能云也会通过一些Windows系统命令 sfc工具,尽最大努力的去恢复系统。但是也有可能会因为系统损坏过于严重而无法恢复。
建议
为了更好的使用操作系统, 避免发生系统崩溃,和提高从系统崩溃中恢复的可能性,百度智能云建议:
- 定时创建系统盘和数据盘快照
- 定期运行系统更新,确保当前系统安装了最新的更新包
- 使用商业版本的杀毒软件,并定期更新杀毒软件
- 尽量使用数据盘保护数据系统,并定期备份
- 避免修改您不了解的系统文件,注册表,若确实需要修改,请先备份
Windows 蓝屏宕机的一般处理
蓝屏又称为蓝屏死机(Blue screen of Death-BSoD), 英文文档提到的Stop error,也是这个意思。是指微软的Windows操作系统没有办法从错误中恢复过来,或者已经达到不能安全操作的状态,为保护数据不被破坏而强制显示的界面。百度智能云采用小内核转储方式,蓝屏发生经过搜集信息后会存在%SystemRoot%\Minidump(e.g. C:\Windows\Minidump)目录底下,具体参照[Windows 内核转储设置](#Windows 内核转储设置)
产生蓝屏宕机的原因
- Windows内核态程序出错
- 操作系统文件,注册表的损坏
- 杀毒软件导致的异常
- 病毒感染
- 第三方软件和系统不兼容
- 硬件损坏
- 资源不足
蓝屏信息
在蓝屏界面,通常可以得到蓝屏错误码 如下图所示 Win32k.sys是当时内存出错时,指向的程序;0x00000050代表的是PAGE_FAULT_IN_NONPAGED_AREA错误,以及相应的参数。 具体错误码对应的意义在微软的官方网站上有相应的说明 Bug Code Rerference
当Crash Dump 收集完毕之后, 就可以重启计算机。更多的蓝屏信息,可以在启动计算机之后,查看系统事件簿。如果无法重新启动,请尝试从快照或者备份中还原系统(这可能会丢失一部分数据), 若有其他问题,请联系百度智能云官方客服。
查看系统事件簿, 可以看到事件ID 为1001的BugCheck类型的事件记录了蓝屏宕机的相关信息, 此外在之前应该还有一个ID为41的来源kernel-power的电源事件,说明系统曾经发生过重启。 如果客户曾经修改过内核转储设置为不生成Dump文件, 则会有一个ID为46的内核转储失败的来源为volmgr的事件。
处理方式
由于蓝屏的分析需要比较长的时间, 建议发生蓝屏后,重启机器,以便快速恢复业务。百度智能云建议用户:
- 定时创建系统盘和数据盘快照
- 定期运行系统更新,确保当前系统安装了最新的更新包
- 使用商业版本的杀毒软件,并定期更新杀毒软件
- 尽量使用数据盘保护数据系统,并定期备份
- 避免修改您不了解的系统文件,注册表。若确实需要修改,请先备份
在百度智能云处理蓝屏的经验中, 一般发生蓝屏比较多的原因是:
1.Windows内核态程序出错(例如:系统驱动程序出错)
2.病毒感染
3.操作系统文件损坏
针对病毒感染的问题,我们建议:
- 安装Windows系统更新到最新补丁包
- 在安全模式下,运行杀毒软件进行杀毒 [Windows 主动进入安全模式的方法](#Windows 主动进入安全模式的方法)
针对文件系统损坏的问题,我们建议:
- 若系统能重启成功,进入系统后,运行有管理员权限的CMD, 输入 sfc /scannow 进行系统完整性的检查和修复
- 若无法进入系统,一般会进入系统恢复选项界面,详情查看 [Windows 系统重启后显示系统恢复选项](#Windows 系统重启后显示系统恢复选项)
针对Windows系统驱动程序出错的问题,一般情况下, 重启计算机程序即可恢复,同时可以提交相应的Dump文件给百度智能云客服,百度智能云研发人员会进行分析。