VirtualBox导致主机BSOD在Windows 10下启动VM.Hyper-V已关闭


8

我有一个新安装的64位Windows 10系统,安装了VirtualBox和CentOS 7.0 VM映像。每当我尝试启动VM,Windows BSODs SYSTEM_SERVICE_EXCEPTION,代码0x0000003b

经过广泛(令人沮丧)的谷歌搜索,我发现许多引用是由Windows 10的Hyper-V虚拟化引起的,所以我通过Windows功能关闭了它; 确保没有运行Hyper-V服务,或设置为在启动时运行。这并没有阻止BSOD。

这个完全相同的设置,包括硬件,但使用Win 7 32位而不是Win 10 64位,在IT将我的机器重新映像到Windows 10之前一直运行良好。

下面是VBox.log的输出,虽然看起来没有任何相关内容。

VirtualBox VM 5.0.40 r115130 win.amd64 (Apr 28 2017 19:55:07) release log
00:00:00.308913 Log opened 2017-07-10T13:36:10.933562500Z
00:00:00.308914 Build Type: release
00:00:00.308917 OS Product: Windows 10
00:00:00.308918 OS Release: 10.0.14393
00:00:00.308918 OS Service Pack: 
00:00:00.383912 DMI Product Name: B85M-E
00:00:00.386322 DMI Product Version:  
00:00:00.386327 Host RAM: 8063MB total, 3856MB available
00:00:00.386329 Executable: C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe
00:00:00.386329 Process ID: 9952
00:00:00.386330 Package type: WINDOWS_64BITS_GENERIC
00:00:00.389754 Installed Extension Packs:
00:00:00.389787   None installed!

有谁能提出前进的方向?

编辑此处可使用Minidump,但VirtualBox v 5.1.22除外。


你没有运行1703是否有原因?老实说,这听起来只是一个问题,只有您的IT部门可以诊断,因为您不太可能有能力/权限要求获取诊断崩溃所需的信息。具体来说,我们需要创建dmp文件,否则我们无法执行任何跟踪分析
Ramhound

@Ramhound - 1703是Windows或VirtualBox的一个版本?我确实有(很多)minidump文件用于崩溃,如果你能指出我应该提交的地方。
Chowlett

如何将dmp文件发送给我们完全取决于您,请确保您有权释放它们,这是您应该未经许可上传的内容。1703是Windows 10的当前功能更新,您目前运行的是1607,这也是您的IT人员应该关注的问题类型而不是您。 您没有指明您使用的VirtualBox版本。
Ramhound

@Ramhound - 好的,谢谢。这是由IT映射到我的系统的Win 10版本; 我可以检查他们是否可以升级。我猜他们不太可能对这个问题提供很多帮助,尽管我正在和他们并行谈话。VirtualBox是该日志中的5.0.40版本(它在顶部显示),因为同事将其称为已知好; 它也失败了5.1.22(最新的稳定)。我会检查一下我是否可以发布我的DMP。
Chowlett

您是否正在运行主板或计算机供应商提供的最新驱动程序?
史蒂文

Answers:


7

事实证明,禁用Hyper-V是不够的。还有另一种Windows功能,称为基于虚拟化的安全性,它采用Hyper-V。你也需要禁用它。

我需要做的就是更改一个注册表项并重新启动:

使用regedit进行设置

HKEY_LOCAL_MACHINE \ SYSTEM \ SOFTWARE \ CURRENTCONTROLSET \控制\ DeviceGuard

到0,然后重启。

这里有一个很好的描述Device Guard / Virtualization Based Security:Windows 10 Device Guard和Credential Guard Demystified


4
早期迹象适用于此修复 - 除了密钥HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\EnableVirtualizationBasedSecurity在我们的系统上(Windows 10企业版1607(OS Build 14393.1770))
Chowlett

3

在新的Windows 10 Fall Creator更新(1709)版本16299和Virtual Box上有此问题。两个VirtualBox版本也进行了测试: - 版本5.1.26 r117224(Qt5.6.2) - 版本5.2.2 r119230(Qt5.6.2)未部署HyperV功能但默认情况下,MSINFO32在新版本上显示“Hypervisor强制执行代码完整性” Fall Creator更新版本。

来自MSINFO32.EXE的结果 在此输入图像描述

看起来这个功能会将VirtualBox引导到BSOD。

你们幸运的是,有一种快速而肮脏的方法来解决这个问题:DISABLE SECURE BOOT。

(只是为了测试!!!你的安全部门不会喜欢它)如果我得到一个干净的解决方案我会发布它;-)

干杯


大家好,启用Hyper-V时会出现此问题。
Laurent Vonau

请注意,即使您禁用该功能,Hyper-V也可以运行!如果您启用VBS(基于虚拟安全),例如Credential Guard,则会发生这种情况。检查msinfo32.exe的输出以确定它是否正在运行。在这种情况下,W10启动“虚拟化”(NVRAM para hypervisorlaunchtype = Auto)。所以实际上,在W10上,当HV或VBS运行时,你的操作系统是“虚拟化的”,因此,VirtualBox不会喜欢它。我认为这些人应该检查W10是否正在运行此模式,并显示一条消息“我可以让你的Windows崩溃吗?”
Laurent Vonau


0

我们无法解决此问题,因为Windbg将Virtualbox驱动程序显示为原因,尝试执行不允许的命令(特权指令):

EXCEPTION_CODE: (NTSTATUS) 0xc0000096 - Privileged instruction.

00 nt!KeBugCheckEx
01 nt!KiBugCheckDispatch
02 nt!KiSystemServiceHandler
03 nt!RtlpExecuteHandlerForException
04 nt!RtlDispatchException
05 nt!KiDispatchException
06 nt!KiExceptionDispatch
07 nt!KiGeneralProtectionFault
08 0x0
09 0x0
0a 0x0
0b VMMR0

    Image path: \??\C:\Program Files\Oracle\VirtualBox\VMMR0.r0
    Image name: VMMR0.r0
    Browse all global symbols  functions  data
    Timestamp:        Fri Apr 28 17:37:03 2017 

尝试最新的测试构建,如果你仍然得到问题报告给他们的bug跟踪器中的开发人员。


抱歉,如果这是一个愚蠢的问题(我承认不了解Windows内部),但是以管理员身份运行的应用是否允许执行特权指令?
Chowlett

特权指令指的是不允许某些调用的特殊环
magicandre1981

好。我可以用VirtualBox记录一个bug。不过,我有点惊讶的是,像这样的bug不会影响每个运行OS和应用程序组合的人。知道为什么会这样吗?
Chowlett

0

在这个Windows 10企业版(“ 10.0.16299 Build 16299”)机器上除了n0ha的答案之外我还必须禁用Device Guard / Credential Guard

在主机操作系统上,单击“开始”>“运行”,键入gpedit.msc,然后单击“确定”。本地组策略编辑器打开。

转至本地计算机策略>计算机配置>管理模板>系统>设备防护>启用基于虚拟化的安全性。

选择已禁用。

同时重新启用“加速”选项卡并HYPERVISOR_ERROR在VM启动时停止BSOD。


0

最近Avast的更新似乎会导致虚拟化问题(您可以通过禁用10 mn,然后尝试启动VM来检查)。

要修复,请进入Avast设置,然后在“问题解决”中禁用“启用硬件虚拟化帮助”(或类似的东西)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.