Windows 11 禁用虚拟化
在 Windows 11 上运行 PNETLab(通常通过 VMware Workstation 或 VirtualBox 部署)时,遇到“此平台不支持虚拟化的 AMD-V/RVI”错误,这是因为 PNETLab 需要嵌套虚拟化来运行内部的 QEMU 节点(如 Cisco 等设备镜像)。AMD CPU 支持硬件虚拟化(AMD-V),但 Windows 11 默认启用了 VBS(基于虚拟化的安全性) 和 Hyper-V 相关功能,会占用虚拟化资源,导致第三方虚拟机软件(如 VMware)无法暴露嵌套虚拟化给客机(PNETLab VM)。
解决方案步骤(针对 AMD CPU + Windows 11)
- 关闭内存完整性(核心隔离)
- 打开 Windows 安全中心 → 设备安全性 → 核心隔离详细信息 → 将 内存完整性 关闭。
- 重启电脑。
- 禁用 Hyper-V 和相关 Windows 功能
- 按 Win + R 输入 optionalfeatures → 打开“Windows 功能”。
- 取消勾选以下所有项(如果存在):
- Hyper-V(全部子项)
- 虚拟机平台(Virtual Machine Platform)
- Windows 虚拟机监控程序平台(Windows Hypervisor Platform)
- Windows Sandbox
- 重启电脑。
- 通过命令彻底禁用 Hyper-V(管理员权限运行 PowerShell 或 CMD):text
bcdedit /set hypervisorlaunchtype off- 重启电脑生效。
- 确认 VBS 已禁用
- 按 Win + R 输入 msinfo32 → 查看“系统信息”。
- 找到“基于虚拟化的安全性”应显示“未启用”或“Not enabled”。
- 如果仍显示“正在运行”,可能需要额外运行 Microsoft 的 DG Readiness Tool(搜索下载并执行 -Disable 参数)来强制关闭。
- 在虚拟机软件中启用嵌套虚拟化
- 如果使用 VMware Workstation:
- 关闭 PNETLab VM。
- 编辑 VM 设置 → 处理器 → 勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”。
- 启动 VM,错误应消失。
- 如果使用 VirtualBox:
- VM 设置 → 系统 → 处理器 → 勾选“启用嵌套 VT-x/AMD-V”(关闭 VBS 后该选项会变为可用)。
- 如果使用 VMware Workstation:
- BIOS 中确认 AMD-V 已启用(预防性检查)
- 重启进 BIOS(通常按 Del/F2/F10) → 查找“SVM Mode”或“AMD-V”/“Virtualization” → 设为 Enabled → 保存退出。
VBS 处卡了大半天
我是检查 VBS 一直显示“正在运行”,最后下载了 Microsoft 的 DG Readiness Tool,用PowerShell执行 DG_Readiness_Tool_v3.6.ps1,然后重启才解决的。执行命令是:
.\DG_Readiness_Tool_v3.6.ps1 -Disable
启动成功的效果图:
