虚拟化的 Windows 2008 R2 会引发随机 BSOD,但不写入小型转储

虚拟化的 Windows 2008 R2 会引发随机 BSOD,但不写入小型转储

我们在客户 VMware 托管的 RemoteDesktop 服务器中遇到了随机 BSOD。BSOD 几乎每周都会发生。奇怪的是,虚拟机没有写入任何我们可以分析的转储,%systemroot%\minidump 中没有小型转储,也没有完整转储。服务器给我们的唯一提示是其事件日志中的一个条目,说它必须重新启动,因为一个严重错误。此日志条目的详细信息显示 BugCheckCode 252 / 0xFC,这是尝试执行_不执行_内存

微软分析转储并查找存储在中的故障驱动程序的问题基布格检查驱动程序。由于没有写入转储,我们显然没有可用的选项。

故障服务器是托管在 VMware ESXi 5.5.0 上的 Windows 2008 R2。已安装和配置的角色包括 RemoteDesktopServer、FileServer、Print- 和 Webserver。在同一主机上运行的其他虚拟机似乎不受此问题的影响。

以下是我们获得的事件详细信息的输出:

BugcheckCode 252 
BugcheckParameter1 0xfffff88001e64fb8 
BugcheckParameter2 0x800000000293e963 
BugcheckParameter3 0xfffff88015c55eb0 
BugcheckParameter4 0x2 
SleepInProgress false 
PowerButtonTimestamp 0 

到目前为止我们已经尝试过:

  • 在系统设置中禁用自动重启。我们只能在客户完成时间后执行此操作,因为这是他们使用的最高效的服务器之一。我们针对以下所有测试场景禁用了自动重启:
    • 我们故意让虚拟机崩溃,使用 Sysinternals 的 NotMyFault:BSOD 发生了,对我们来说似乎很“正常”。BSOD 表示已完成将信息转储到磁盘,但就像我们的客户遇到的随机 BSOD 一样,根本没有写入任何转储
    • 我们尝试手动将 pagefile.sys 的大小设置为不同的大小(最多为 RAM 的 2 倍),结果相同

一些 EventLog 条目似乎根本没有有价值的信息:

BugCheckCode 0
BugcheckParameter1 0x0 
BugcheckParameter2 0x0 
BugcheckParameter3 0x0 
BugcheckParameter4 0x0 
SleepInProgress false 
PowerButtonTimestamp 0 

长话短说,主要问题是为什么磁盘上根本没有写入任何转储。分析 BSOD/转储本身应该是解决此错误最有针对性的方法。

如果我可以提供更多信息或者忘记了什么,请直接询问:)

答案1

如果您使用的是 Intel E5 CPU,请查看此知识库文章:http://kb.vmware.com/kb/2073791

症状

运行 Windows 2008 R2、Red Hat Enterprise Linux 或 Solaris 10 64 位虚拟机时,您可能会遇到以下症状之一:•Windows 2008 R2 蓝屏事件:

0x0000000a - IRQL_NOT_LESS_OR_EQUAL 0x0000001a - MEMORY_MANAGEMENT 0x000000fc - ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

原因

截至本文发布时(2014 年 9 月 10 日),已确定受影响的处理器如下:• 名为 Intel® Xeon® 处理器 E5-#### v2 的处理器,其中 #### 是 4 位数字,后面可以跟一个字母。• 名为 Intel® Xeon® 处理器 E7-#### v2 的处理器,其中 #### 是 4 位数字。• 名为 Intel® Xeon® 处理器 E3-12## v2 的处理器,其中 ## 是 2 位数字,后面可以跟一个字母。

解决

这是影响 VMware ESXi 的已知问题。请联系您的供应商以获取硬件的更新 BIOS 来解决此问题,并提供相关英特尔勘误表的参考:•CA135 - 当 EPT 启用时,将 MOV 转换为 CR3 可能会导致意外页面错误或页面转换错误(英特尔至强处理器 E5 v2 产品系列文档的勘误表部分)。•CF124 - 当 EPT 启用时,页面转换错误(英特尔至强处理器 E7 v2 产品系列文档的勘误表部分)。

注意:截至 2014 年 7 月 11 日,上述链接正确无误。如果您发现链接已损坏,请提供反馈,VMware 员工将会更新该链接。

如果您的平台没有可用的 BIOS 更新,请使用以下方法之一修复此问题:

升级:此问题已在 ESXi 5.5 Update 2 中得到解决,可从 VMware Downloads 下载。有关详细信息,请参见 VMware ESXi 5.5 Update 2 发行说明。

目前,ESXi 5.1 主机尚无解决方案。

如果您正在使用这些 CPU,我建议您升级主机 BIOS 或将 ESXi 升级到版本 5.5 Update 2。

相关内容