蓝屏宕机

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 系统重启后显示系统恢复选项

Windows 系统有可能会遇到重新启动后,无法正常载入系统的情况,这个时候,用户首先会看到"系统恢复"界面。

当进入到"系统恢复"界面的时候, 说明此时的系统,已经无法维持正常的运转,原因有很多,如注册表损坏,系统文件损坏,BCD出现问题等等。这些情况很多时候是由于安装的第三方杀毒软件,误操作,异常重启,第三方应用软件引起的。

"系统恢复"界面会引导客户进入Windows的修复模式(Windows Recovery Environment) ,修复模式资料参考 Understanding Windows Recovery.aspx)

处理方式

百度智能云采用微软官方的系统恢复方案

How Windows RE Works

同时,百度智能云也会通过一些Windows系统命令 sfc工具,尽最大努力的去恢复系统。但是也有可能会因为系统损坏过于严重而无法恢复。

建议

为了更好的使用操作系统, 避免发生系统崩溃,和提高从系统崩溃中恢复的可能性, 百度智能云建议:

  • 定时创建系统盘和数据盘快照
  • 定期运行系统更新,确保当前系统安装了最新的更新包
  • 使用商业版本的杀毒软件,并定期更新杀毒软件
  • 尽量使用数据盘保护数据系统,并定期备份
  • 避免修改您不了解的系统文件,注册表,若确实需要修改,请先备份

Windows 蓝屏宕机的一般处理

蓝屏又称为蓝屏死机(Blue screen of Death-BSoD), 英文文档提到的Stop error,也是这个意思。是指微软的Windows操作系统没有办法从错误中恢复过来,或者已经达到不能安全操作的状态,为保护数据不被破坏而强制显示的界面。百度智能云采用小内核转储方式,蓝屏发生经过搜集信息后会存在%SystemRoot%\Minidump(e.g. C:\Windows\Minidump)目录底下,具体参照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.操作系统文件损坏

针对病毒感染的问题,我们建议

针对文件系统损坏的问题,我们建议

  • 若系统能重启成功,进入系统后,运行有管理员权限的CMD, 输入 sfc /scannow 进行系统完整性的检查和修复

  • 若无法进入系统,一般会进入系统恢复选项界面,详情查看 Windows 系统重启后显示系统恢复选项

针对Windows系统驱动程序出错的问题

  • 一般情况下, 重启计算机程序即可恢复,同时可以提交相应的Dump文件给百度智能云客服,百度智能云研发人员会进行分析。