本文介绍Windows系统异常重启以及蓝屏的处理方法。
问题描述
在Windows系统下,有时会遇到蓝屏(BSOD,Blue Screen of Death)情况。Windows操作系统在遇到异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump)的收集,系统会自动生成蓝屏dump到指定的目录,默认文件为C:\Windows\memory.dmp
。
问题原因
通常有多种原因导致操作系统蓝屏,其中一些原因如下所示。
因为误操作或者病毒引起的系统文件、注册表损坏。
驱动程序与操作系统兼容性引起的异常内存访问。
操作系统自身Bug。
第三方杀毒软件驱动异常。
操作系统在蓝屏的情况下,会显示对应的Bug Check Code Reference,以及可能导致蓝屏的模块。在显示的界面中会大概说明问题发生的原因。
解决方案
阿里云提醒您:
如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
微软官方列举了Bug Check Code Reference如何处理Windows蓝屏,请参见实践操作和跟进方案。
实践操作
根据微软官方的建议以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,建议您做如下操作。
请在ECS上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。
请定期运行Windows Update,确保微软最新安全更新已经安装。
请不要将重要数据放在系统盘,而是使用数据盘。
定期对系统盘、数据盘进行快照,以便问题情况下恢复数据。
请在修改系统注册表前备份注册表文件,避免修改系统文件。
跟进方案
如果Windows实例在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证。
方案一:在事件查看器中,打开系统日志,在问题发生时间点,如果看到有来源”volmgr”抛出的事件 ID为46的事件,说明之前发生过蓝屏,但是由于没有配置页面文件以及内存转储文件的配置,导致dump收集失败,故障转储初始化未成功。
方案二:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID为 41 的Kernel-Power的关键错误日志,提示系统从意外的关闭中回复以及事件 ID为1001,来源为Bugcheck的日志提示系统出现崩溃。
由于蓝屏日志的分析非常耗时,可能耗费一周或更多的时间。考虑到业务快速恢复,强烈建议您在遇到蓝屏的情况下,重启机器后,参考如上的最佳实践。根据问题原因,您可以在问题发生后,采用如下方法来避免潜在的已知问题。
卸载系统所有第三方杀毒软件,禁用杀毒软件的防护功能,一般不会消除杀毒软件内核驱动的影响。
安全模式下,使用微软Msert离线杀毒工具或者第三方收费版本杀毒软件杀毒。
运行Windows Update,安装所有更新。