无法使用 hyper-v 运行 virtualbox 6.1.4

neu*_*ert 10 virtualbox hyper-v windows-10

我正在使用 Hyper-V 运行 VirtualBox 6.1.4,但是当我尝试打开 VM 时,出现以下错误:

Failed to open a session for the virtual machine vagrant_default_1583698990398_29087.

VMMR0_DO_NEM_INIT_VM failed: VERR_NEM_MISSING_KERNEL_API (VERR_NEM_MISSING_KERNEL_API).

VT-x is not available (VERR_VMX_NO_VMX).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Run Code Online (Sandbox Code Playgroud)

根据https://www.virtualbox.org/wiki/Changelog-6.0 VirtualBox 6.0.0 引入了 Hyper-V 支持。引用它:

增加了对在 Windows 主机上使用 Hyper-V 作为回退执行核心的支持,以避免以降低性能为代价无法运行虚拟机

那么什么给呢?是否支持 Hyper-V?

我正在运行 Microsoft Windows [版本 10.0.18363.657]。这是“应用程序和功能”所说的我已安装:https : //pastebin.com/dJrg7yD8。以下是“打开或关闭 Windows 功能”的说明:https : //pastebin.com/6RT0xeN0

Dav*_*son 1

该问题是由于Windows 中启用了核心隔离功能造成的,这些功能会通过多个版本的 Windows 功能包更新(包括Windows Update Pack 20H2等)自动启用。

如果您没有支持核心隔离的硬件,Virtualbox 将在任何启用VT-x的系统上正常启用 Hyper-V 角色,这解释了为什么许多用户不会遇到您遇到的问题。但是,如果您的系统支持众多硬件安全功能中的某些功能(例如任何具有 TPM 2.0 硬件安全功能且支持 Windows 11 的系统),您可能会遇到此问题,因为启用核心隔离功能时,Windows 会混淆VT的存在-x来自主运行 Windows 环境的硬件虚拟化支持(在旧的 Xen 术语中称为“dom0”,Hyper-V 最初基于该环境)。

最简单的方法是禁用必要的硬件安全功能,即使用 Microsoft 提供的 Device Guard 和 Credential Guard 硬件准备工具: https: //www.microsoft.com/en-us/download/details.aspx ?id= 53337

然后禁用:

DG_Readiness_Tool_v3.5.ps1 -Disable -AutoReboot
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关该功能的更多信息: https ://support.microsoft.com/en-us/windows/device-protection-in-windows-security-afa11526-de57-b1c5-599f-3a4c6a61c5e2#hardwarescore

但请注意,这将禁用这些安全功能,这些功能会带来您必须自行评估的预期风险(但请将您的系统置于启用这些功能之前的相同状态)。