按下回车键跳到正文

[修复] “VT-x is not available. (VERR_VMX_NO_VMX)” in VirtualBox

Contents
  1. Solution 1: Enable VT-x in BIOS
  2. Solution 2: Disable Hyper-V virtualization

安装Docker, 提示我没有开启VT-x, 需要重启来启动, 并提示我VirtualBox将无法使用.

于是去网上搜索了一下Docker和VirtualBox是否不能同时使用, 发现找不到答案…

docker出了也有一段时间了, 如果说真不兼容应该会有人说的, 更何况Docker Toolbox里面会安装VirtualBox, 所以还是从自身考虑一下原因..

(PS:失算,开启了VT-x修好了VBOX之后Docker不乐意了,提示我必须开启Hyper-V….已经决定放弃在Windows上鼓捣Docker了)

先重启一下开启VT-x. 看看VBox提示什么

果然,重启后运行虚拟机发现出错了,提示 “VT-x is not available. (VERR_VMX_NO_VMX)”

这就很让我费解了, 我明明是开启了VT-x, 但是这又说不可用, 所以就直接Google了一下,找到了这个帖子:

[Fix] “VT-x is not available. (VERR_VMX_NO_VMX)” in VirtualBox

总算找到了问题原因, 索性转载+翻译了一下,以下是译文:


Sometimes you can get “VT-x is not available. (VERR_VMX_NO_VMX)” error if you are trying to start x64 bit virtual machine in VirtualBox.

如果你在64位系统上运行VirtualBox的话, 可能会在虚拟机启动时遇到一个错误: “VT-x is not available. (VERR_VMX_NO_VMX)
VT-x is not available

Failed to open a session for the virtual machine Windows 10 TP.

无法为虚拟机”Windows 10 TP”创建会话

VT-x is not available. (VERR_VMX_NO_VMX).

VT-x不可用. (VERR_VMX_NO_VMX).

There are three most common reasons for this error:

这里给出三个最常见的导致该错误出现原因

  • Your CPU doesn’t support VT-x or AMD-V virtualization
    • 你的CPU不支持VT-x 或 AMD-V 虚拟化
  • VT-x or AMD-V is not enabled in BIOS (UEFI)
    • VT-x 或 AMD-V并没有在你的BIOS启用 (关于BIOS微软还有一个新叫法:UEFI固件设置)
  • You have Hyper-V virtualization enabled in Windows
    • 你在Windows下启动了Hyper-V虚拟化

You can fix first one only by replacing CPU with a new one, but it is easy to fix second and third reasons.

第一种情况,你只能去换一个支持虚拟化技术的CPU了,第二种和第三种情况比较好解决~博主这里遇到的就是第三种情况

Solution 1: Enable VT-x in BIOS

解决第二种情况的方法:未开启虚拟化,在BIOS中开启VT-x.

—-(插一句,这段文字可以略过,博主写了更简单的方法在下面)—-

  • Restart your computer
    • 重启计算机
  • Load into BIOS (press Del, F2, Esc key. Depends on motherboard)
    • 通过按不同主板设置的特定键进入BIOS设置界面(Del,F2,Esc等等)
  • Find Virtualization setting and enabled it. It might look different in you system, but here are some examples:
    • 找到虚拟化设置并开启他(Disabled改为Enabled),不同的主板界面也不同,所以下面给出一些常见界面的图片Enable VT-x in biosEnable VT-x in biosEnable VT-x in UEFI

重点来了,如果有人不知道怎么进入BIOS界面,这里有一个简单的方法,就是你在已开机状态下,按住Shift键同时点击重启…不不,不是主机上的重启键,是你用鼠标操作时在开始菜单里点的那个重启…嗯按下Shift之后点他就行了

另外,博主的BIOS设置界面不和上面任何一个图一样.大家找的时候只要注意”virtualization”,”VT-x”这种字眼就行了,设置成Enabled然后按F10保存即可.

Solution 2: Disable Hyper-V virtualization

解决第三种情况的方法:由于开启了Hyper-V虚拟化导致的VT-x不可用(如果你发现你的BIOS中VT-x是开启的,但是却依然不能用VirtualBox启动虚拟机,那么就是这种情况了)

  • Run cmd.exe as Administrator
    • 以管理员身份运行cmd
  • Execute:
    1
    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

    执行命令:

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

  • Reboot computer
    • 重启电脑

Another way:

或者你可以使用另一种可视化的操作来完成

  • Open Control Panel
  • 打开控制面板,找到”程序和功能”(Win8可以直接Win+X打开,Win7之前大概叫做添加或删除程序)
  • Go to Program section -> Turn Windows features on or off
    • 在左侧进入”启用或关闭Windows功能”
  • Disable Hyper-V
    • 找到并禁用Hyper-VDisable Hyper-V
  • Reboot computer
    • 重启电脑

From LzSkyline's Blog : https://www.lzskyline.com/archives/146

当前没有任何回复哦,快成为第一个吃螃蟹的人~

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注