错误 0x80070005:在 Windows 10 Pro 中首次启动 Hyper-V 时访问被拒绝

错误 0x80070005:在 Windows 10 Pro 中首次启动 Hyper-V 时访问被拒绝

我正在尝试在 AMD FX 6350、8 GB RAM 上新安装的 Windows 10 Pro (1709) 上运行 Hyper-V。Hyper-V 虚拟机管理 (vmms) 启动正常,但 Hyper-V 主机计算服务 (vmcompute) 崩溃并显示错误Windows could not start the Hyper-V Host Compute Service on Local Computer. Error 0x80070005: Access is denied.

日志中只有毫无意义的消息The Hyper-V Host Compute Service service terminated with the following error: General access denied error

通过谷歌搜索发现,在迁移或导出虚拟机时会出现类似的错误,但这并不是 Hyper-V 第一次启动时没有创建虚拟机。

之前这个硬件是 Windows 7,Vmware Player 运行正常。现在我想尝试“原生”虚拟化。

顺便说一句,Intel i5-2430M 笔记本电脑上也存在同样的问题。

答案1

已知这是由于禁用 Windows 引起的Control flow guard (CFG)

要重新打开此功能:

  • Windows Defender Security Center在开始菜单上搜索并打开。

  • 进入App & browser controlWindows Defender 安全中心

  • 滚动到底部并点击Exploit protection settings应用程序和浏览器控制

  • 确保Control flow guard (CFG)设置为On by default漏洞保护设置

今天早上我的 Hyper-V 可以正常工作,但今天晚上却无法正常工作。除了常规应用程序使用之外,禁用 CFG 是我在 Windows 上进行的唯一值得注意的活动。重新启用该功能后,Hyper-V 又可以正常工作了。

我首先禁用了该功能,因为Windows 10 build 1709 存在问题这严重影响了我的 TortoiseGit 性能,因为 diff 工具需要大约 5 秒钟才能打开。

另一名用户在该页面上发表评论报告了同样的问题。

答案2

控制流防护可能是问题所在,需要为 Hyper-V 主机计算服务 (vmcompute.exe) 和虚拟机工作进程 (VMWP.exe) 启用控制流防护,以使 Hyper-V 所需的服务 (Hyper-V 虚拟机管理 [vmms.exe] 和 Hyper-V 主机计算服务 [vmcompute.exe]) 正常工作。

如果您为整个系统启用了控制流防护,则需要在 Windows 安全设置(SecHealthUI.exe)中禁用覆盖(禁用控制流防护),或者如果您为整个系统禁用了控制流防护,则需要为 vmcompute.exe 和 VMWP.exe 启用覆盖。

来源: https://communities.vmware.com/t5/Nested-Virtualization/hyper-v-crashing/td-p/522812

相关内容