Virtualized Intel VT-x/EPT is not supported on this platform. Continue without virtualized Intel VT-x/EPT?
VMware Workstation does not support nested virtualization on this host. Module ‘HV’ power on failed. Failed to start the virtual machine.
我在 Windows 11 宿主机上,通过 VMware Workstation 运行 Red Hat Enterprise Linux,并试图在其之上运行 KVM 虚拟机。遇到了上述报错信息,大意是提醒 VT-x / EPT 不受支持,检测到在宿主机不支持 nested virtualization (嵌套虚拟化,可以简单理解为虚拟机之上运行虚拟机)。
经过一番折腾捣鼓,我发现这是 Windows 上的几个坑点导致的,下面我来具体说明下我是如何解决这个问题的。
步骤总览(确保完成以下事项):
BIOS 已启用 VT-x
禁用 Hyper-V 相关 Windows 特性
禁用 Windows Security 的内存完整性功能
BIOS 启用 VT-x 选项
VT-x (Virtualization Technology on the x86 platform),是英特尔在 x86 平台下的虚拟化技术,我们需要确保 BIOS 是否已启用该选项。不同电脑主板厂商进入 BIOS 的按键不一,建议自行搜索,然后找到 VT-x (Virtualization Technology) 启用即可。
我本人以 HP 的笔记本为例,开机的时候快速点按 F10,即可进入 BIOS 界面。
「BIOS Setup Utility」主界面 → 「Configuration」配置 → 「Virtualization Technology」项改为「Enabled」启用。
禁用 Hyper-V 相关 Windows 特性
当 Windows 启用了 Hyper-V 之后,VT-x 将不会起作用。 然而如果您的系统使用了 WSL 或 WSA 之类的功能,则会启用 Hyper-V 这一功能特性。为了解决嵌套虚拟化遇到的报错问题,我们必须关闭 Hyper-V 的相关功能选项,以避免冲突。
「Controll Panel」控制面板 → 「Programs」程序 → 「Turn Windows features on or off」关闭或启用 Windows 特性,确保以下与 Hyper-V 可能相关的所有功能项处于关闭状态:
Hyper-V
Virtual Machine Platform
Windows Hypervisior Platform
Windows Sandbox
Windows Subsystem for Linux
禁用 Windows Security 的内存完整性功能
Windows Security 的「Memory integrity」内存完整性功能也与 VT-x 存在冲突,需要禁用该功能。
「Windows Security」Windows Defender 安全中心 → 「Device security」设备安全 → 「Core isolation」内核隔离 → 「Core isolation details」内核隔离详细信息 → 确保「Memory integrity」内存完整性处于关闭状态:
「Memory integrity」内存完整性
最后,重启设备即可。还是不得不说 Windows 越来越坑了 🤣。