我开虚拟化是为了在虚拟机中运行VirtualBox,如果不开CPU虚拟化,会报错VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX)


文章目录

  • 1 检查虚拟机的虚拟化是否启用
  • 2 开启虚拟化引擎
  • 3 检查主机CPU是否开启虚拟化
  • 4 关闭Window的内核隔离
  • 5 关闭有冲突的windows虚拟化功能
  • 6 禁用Device guard


1 检查虚拟机的虚拟化是否启用

参考:VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX)

先装cpu-check,获得kvm-ok指令:

sudo apt-get install cpu-checker

运行下面这个指令检查是否支持KVM:

sudo kvm-ok
  1. 如果没有启用,会显示(继续第二个步骤):
  2. cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_重启

  3. 如果已经启用,会显示(结束):
  4. cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_cpu不支持vt虚拟化技术_02

2 开启虚拟化引擎

关闭虚拟机,编辑虚拟机设置,如下图所示,在虚拟化Intel VT-x/EPT或AMD-V/RVI打勾:

cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_虚拟化_03


然后再开启虚拟机:

  1. 如果成功启动(回到第一步):检查是否kvm-ok;
  2. 如果没有成功启动,报错此平台不支持虚拟化的 Intel VT-x/EPT(继续第三步):检查主机CPU是否开启虚拟化。

3 检查主机CPU是否开启虚拟化

win+r搜索taskmgr进入任务管理器,如下图所示,查看CPU是否开启虚拟化:

cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_重启_04

  1. 如果没有开启,请参考这篇博客,在BIOS上打开CPU虚拟化:解决虚拟机VM-开启 虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI(V) 后 电脑蓝屏重启 或显示此平台不支持虚拟化的问题 (Win10)。
  2. 如果开启了,继续第四步。

4 关闭Window的内核隔离

参考:关于“ VMware Workstation 16 此平台不支持虚拟化的Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT,是否继续?”的有关问题的总结解答 这个博主他对为什么要内核隔离做了一番讲解。

win+s搜索“内核隔离”,关掉内核隔离,如下图所示:

cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_重启_05


然后重启电脑。

然后再开启虚拟机:

  1. 如果成功启动(回到第一步):检查是否kvm-ok;
  2. 如果没有成功启动(继续第五步):关闭与VMware虚拟化冲突的所有windows功能。

5 关闭有冲突的windows虚拟化功能

搜索“启用或关闭windows功能”,关闭所有有关的功能:

包括Hyper-V、Windows虚拟机监控程序平台、适用于Linux的Windows子系统、虚拟机平台等。

cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_重启_06


cpu不支持vt虚拟化技术 cpu不支持虚拟化怎么运行vm_重启_07

关闭功能后,提示重启系统,选择重启。

然后再开启虚拟机:

  1. 如果成功启动(回到第一步):检查是否kvm-ok;
  2. 如果没有成功启动(继续第六步):禁用Device guard。

6 禁用Device guard

这一步网上教程基本上都没提到,但效果是立竿见影的
有时候虚拟机打不开了,也得禁用Device guard。

  1. 如果在前面的步骤中,重启时出现了如下图所示的页面,请按win键或Fn+F3键关闭Device guard
  2. 如果在前面的步骤重启时没有遇到上图,则参考这篇文章主动禁用Device guard并唤起上图的页面:【经验】windows更新20H2|vmware无法使用|禁用Device guard。这篇博客的禁用方案,参考的是微软官网的禁用Device guard的步骤:MSDN-《Manage Windows Defender Credential Guard》,所以一般情况下,可以放心大胆地直接使用。

然后再开启虚拟机:

  1. 如果成功启动(回到第一步):检查是否kvm-ok;
  2. 如果没有成功启动,我也无计可施了。我的是禁用了Device Guard就能用了。