ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理

用户在 Windows 系统上有时会遇到蓝屏 (BSOD, Blue Screen of Death),或者机器停止响应 (Hang)  这两类业务影响严重的问题。Windows 系统蓝屏后,默认配置下机器会自动重启恢复;对于机器停止响应,往往也需要重启作为临时解决方案以快速恢复业务,这都会造成业务的中断。考虑到业务风险,客户需要找出问题的根本原因来避免问题再次发生。但是由于 Windows 蓝屏和停止响应都是技术疑难类问题,需要配置注册表,等待问题复现后收集核心转储 (Kernel Dump) 或 完全内存转储 ( Complete Dump ),花费数天或数周分析,有时甚至还要多次复现才能定位问题根本原因, 处理非常耗时

 

这两类问题虽然表象不同,但原因比较类似。一般与操作系统 bug、驱动或三方软件兼容性、杀毒软件、病毒木马等原因相关。在本篇文章中,我们根据云平台上这两类问题的排查经验,总结了这两类问题的可能原因、跟进方案和最佳实践。


尤其是考虑到这两类问题分析耗时,业务潜在风险高,而通过采用本文提供的最佳实践,可以快速解决大部分的系统蓝屏和停止响应问题,消除业务风险。因此我们强烈建议您在实际运维中,采纳本文最佳实践以便在阿里云 ECS 上更好的使用 Windows 操作系统。

Windows 蓝屏的处理

Windows 操作系统在遇到关键异常的情况下,为了防止数据丢失,系统自动崩溃蓝屏,如果有配置内存转储文件(crash dump) 的收集,系统会自动生成蓝屏存储到指定的目录 (默认文件为 C:\Windows\memory.dmp)。

 

Windows 系统有多种原因导致蓝屏,包括但不限于:

  • 误操作或者病毒引起的系统文件、注册表损坏
  • 驱动程序与操作系统兼容性引起的异常内存访问
  • 操作系统自身 bug
  • 三方杀毒软件驱动异常

 

操作系统在蓝屏的情况下,会抛出对应的 Bugcheck Code 以及可能的导致蓝屏的模块来大概说明问题发生的原因。例如:如下是通过微软notmyfault.exe手工触发蓝屏的结果。

ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理

微软官方列举了如下 Bugcheck Code,详细请参考如下链接:

Bug Check Code Reference 

http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx

对于用户而言,更重要的是如何处理 Windows 蓝屏,请参考如下跟进方案以及最佳实践。

最佳实践

根据与微软官方的沟通以及日常排查经验,为了防止系统蓝屏的发生以及可能引起的数据丢失,我们建议客户在日常运维中:

<1> 请在 ECS 上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的蓝屏。

<2> 请定期运行 Windows Update,确保微软最新安全更新已经安装。

<3> 请不要将重要数据放在系统盘,建议放在数据盘中。

<4> 对系统盘、数据盘启用自动快照策略,同时在重要变更操作前手工创建系统盘和数据盘快照,以便异常情况下通过快照回滚快速恢复数据。

注:创建自动快照策略

https://help.aliyun.com/document_detail/25456.html

<5> 请在修改系统注册表前备份注册表文件。避免修改系统文件。

跟进方案

如果 Windows ECS 在使用过程中突然断开、无法远程,查看日志发现异常重启的情况,怀疑可能出现过系统蓝屏,请采用如下方法验证:

方法1:打开"事件查看器",打开"系统日志", 在问题发生时间点,如果看到有来源"volmgr"抛出的 ID 46事件,说明之前发生过蓝屏,但是由于没有配置 Paging File 页面文件以及内存转储文件,导致 dump 收集失败。

ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理

 

错误        2016/3/25 0:42:55        volmgr        46        无

故障转储初始化未成功

 

方法2:如果之前有正常配置过蓝屏收集,在系统日志中可以发现事件 ID 41的 Kernel-Power 的关键错误日志,提示系统从意外的关闭中回复以及事件 ID 1001,来源为 Bugcheck 的日志提示系统出现崩溃。

ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理

 

由于蓝屏日志的分析非常耗时,考虑到快速恢复业务和避免问题再次发生,我们强烈建议客户在遇到蓝屏机器重启后,采用如下3条来避免潜在的已知问题:

<1> 卸载三方杀毒软件

请注意:禁用杀毒软件的防护功能一般不会消除杀毒软件内核驱动的影响。如果由于安全需求无法卸载三方杀毒软件,请您务必更新杀毒软件到最新版本以消除兼容性问题。

<2> 安全模式下,使用微软 Msert 离线杀毒工具或者三方专业杀毒软件杀毒。

<3> 运行 Windows Update,安装所有更新。

 

Windows 停止响应 (Hang) 的处理

Windows 出现无法响应的现象,包括但不限于:

  • 机器运行一段时间后,无论远程桌面还是管理控制台,背景不变,鼠标无法移动。
  • 用户可以看到密码输入页面,输入密码后,出现白色背景,蓝色背景或者黑色背景,无法登入操作系统。
  • 操作系统仍然在运行,但是无法 ping 通,无法通过网络访问应用。

 

Windows 系统有多种原因导致停止响应,包括但不限于:

  • 病毒影响、三方应用(杀毒软件)引起的兼容性问题。
  • 系统设备驱动程序与操作系统兼容性引起。
  • Windows 操作系统自身 bug。
  • 系统内存核心资源 (Committed Charge, Paged Pool, Non-paged Pool等) 耗尽。
  • 机器启动脚本、登录脚本、组策略应用由于线程死锁等原因导致无法登录。

最佳实践

与系统蓝屏问题处理相同,根据与微软官方的建议以及日常排查经验,为了防止系统停止响应,我们建议客户在日常运维中:

<1> 请在 ECS 上启用安骑士防护或其它商业版杀毒防护工具,定期杀毒,定期更新杀毒软件版本,防止病毒或者杀毒软件驱动与操作系统兼容性引起的系统停止响应。

<2> 请定期运行 Windows Update,确保微软最新安全更新和系统补丁已经安装。

<3> 请不要将重要数据放在系统盘,建议放在数据盘中。

<4> 对系统盘、数据盘启用自动快照策略,同时在重要变更操作前手工创建系统盘和数据盘快照,以便异常情况下通过快照回滚快速恢复数据。

注:创建自动快照策略

https://help.aliyun.com/document_detail/25456.html

<5> 请在修改系统注册表前备份注册表文件。避免修改系统文件。

<6> 请经常检查系统负载,确保运行的三方应用程序不存在资源泄露或线程死锁,定期更新三方应用程序到最新版本。

跟进方案

考虑到业务快速恢复,我们强烈建议客户在遇到系统停止响应的情况,重启机器恢复业务后,参考如上的最佳实践。尤其是请您务必采用如下4条来避免潜在的已知问题:

<1> 卸载三方杀毒软件

请注意: 禁用杀毒软件的防护功能,杀毒软件内核驱动可能仍然运行,继续影响操作系统行为。如果由于安全需求无法卸载三方杀毒软件,请您务必更新杀毒软件到最新版本以消除兼容性问题。

<2> 安全模式下,使用微软 Msert 离线杀毒工具或者三方收费版本杀毒软件杀毒。

<3> 运行 Windows Update,安装所有更新。

<4> 检查或停用 Windows 的启动脚本、登录脚本、组策略以查看问题是否再次发生。

 

如果采用最佳实践后,仍然发生Windows蓝屏或者停止响应问题,建议您:

1、参考微软官方 KB 中的排查建议

Troubleshoot "blue screen" or Stop error problems before you contact Microsoft Support

https://support.microsoft.com/en-us/kb/3106831


2、参考知识点“ECS Windows开启内核转储(Core Dump)配置说明收集数据,工单反馈进一步分析。

 

上一篇:QML学习笔记(六)-自定义控件-Button


下一篇:计算机网络学习笔记--数据链据层之MAC子层(整理)