必须启用“虚拟化Intel VT-x/EPT或AMD-V/RVI”,关闭“使用主机CPU特性”,禁用“虚拟化I/O MMU”;.vmx中添加vhv.enable="TRUE"、hypervisor.cpuid.v0="FALSE"等参数,并通过/proc/cpuinfo和dmesg验证。
vmware fusion 默认对虚拟化引擎的底层参数做了合理封装,多数用户无需手动调整。但若你运行的是嵌套虚拟化场景(比如在 macos 上跑一个含 kvm 的 linux 虚拟机)、部署 fusioncompute 或 mirage flow 等对硬件虚拟化依赖强的系统,就需要显式启用并微调关键参数。
必须启用的虚拟化支持项
这些设置直接决定能否启动含 hypervisor 的 guest OS(如 SUSE-based CNA/VRM):
- 勾选“启用虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”:这是嵌套虚拟化的硬性前提,在虚拟机“设置 > 处理器与内存 > 高级选项”中开启;Mac M 系列芯片用户需确认已安装 VMware Fusion 13+ 并启用 Rosetta 兼容层(部分 ARM 宿主环境仍受限)
- 关闭“首选模式”中的“使用主机 CPU 特性”:避免 guest 内核因识别到不兼容的 CPUID 特性而崩溃(尤其在 SLES 12 安装阶段)
- 禁用“虚拟化 I/O MMU”(除非明确需要):该选项在 Fusion 12.5+ 中默认关闭,开启后可能引发 Ubuntu Server 22.04 网卡驱动异常
.vmx 文件级关键参数(适用于高级调试)
若图形界面无法满足需求,可直接编辑虚拟机配置文件(.vmx),在末尾添加以下行(每行独立、无空格):
- vhv.enable = "TRUE":强制启用硬件辅助虚拟化(HV)
- hypervisor.cpuid.v0 = "FALSE":屏蔽 hypervisor 标识,防止 guest 检测到宿主为虚拟环境而拒绝启动(常见于 VRM 安装校验)
- featMask.vm.hv.capable = "Min:1":向 guest 透出最小可用虚拟化能力集,兼容旧版 SUSE 内核
- monitor_control.restrict_backdoor = "TRUE":增强安全隔离,防止 guest 通过 backdoor 访问宿主资源(生产环境推荐)
验证是否生效
启动虚拟机后,在 Linux guest 中执行:
cat /proc/cpuinfo | grep -E "(vmx|svm|hypervisor)" —— 应返回含 vmx(Intel)或 svm(AMD)的字段;
dmesg | grep -i kvm —— 应看到 kvm: enabling virtualization 类似日志。
若无输出或报错 “KVM: disabled by BIOS”,说明宿主 macOS 的固件虚拟化未开启,或 Fusion 设置未生效。

















