我有一个新安装的 64 位 Windows 10 系统,其中安装了 VirtualBox 和 CentOS 7.0 VM 映像。每当我尝试启动 VM 时,Windows BSOD 都会出现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!
有人能建议前进的方向吗?
编辑:小型转储可在此处获取,除了在 VirtualBox v 5.1.22 上之外,都出现了相同的失败。
答案1
事实证明,禁用 Hyper-V 是不够的。还有另一项 Windows 功能,称为基于虚拟化的安全性,它采用了 Hyper-V。您也需要禁用它。
我需要做的就是更改一个注册表项并重新启动:
使用 regedit 设置
HKEY_LOCAL_MACHINE\SYSTEM\Software\CurrentControlSet\Control\DeviceGuard
设置为 0,然后重新启动。
这里有一篇关于设备保护/基于虚拟化的安全性的很好的描述:揭秘 Windows 10 设备防护和凭据防护。
答案2
新版 Windows 10 Fall Creator Update (1709) build 16299 和 Virtual Box 上存在此问题。两个 VirtualBox 版本也经过了测试: - 版本 5.1.26 r117224 (Qt5.6.2) - 版本 5.2.2 r119230 (Qt5.6.2) HyperV 功能未部署,但默认情况下,MSINFO32 在新版 Fall Creator Update 上显示“Hypervisor 强制代码完整性”。
看起来此功能将导致 VirtualBox 出现 BSOD。
你们这些幸运的人,有一个快速而简单的方法来解决这个问题:禁用安全启动。
(只是为了测试!!!你的安全部门不会喜欢它)如果我得到一个干净的解决方案,我会发布它;-)
干杯
答案3
我们无法修复此问题,因为 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
尝试最新测试版本如果你仍然遇到此问题,请向开发人员报告在他们的错误追踪器中。
答案4
似乎 Avast 的最新更新导致了虚拟化问题(您可以通过禁用它 10 分钟,然后尝试启动 VM 来检查)。
要修复此问题,请进入 Avast 设置,然后在“问题解决”中禁用“启用硬件虚拟化辅助”(或类似操作)。