Virtualbox提示VT-x不可用(VERR_VMX_NO_VMX)。什么是VT-x?

3
Failed to open a session for the virtual machine Samsung Galaxy S6 - 6.0.0 -     API 23 - 1440x2560.

VT-x is not available (VERR_VMX_NO_VMX).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

什么是 VT-x,为什么需要它?

我可以创建一个虚拟机并安装Linux,但为什么不能在VirtualBox上启动任何Android设备?

我已经成功安装了Genymotion,但每次运行设备时都会出现上述错误。

有什么办法解决这个问题吗?


1
我曾经遇到过同样的问题。禁用 Hyper-V 即可解决。 (程序和功能->打开或关闭 Windows 功能->禁用 Hyper-V) - Choxmi
8个回答

6
如果你运行的是Windows 8.1/10专业版,则问题可能与Microsoft的Hyper-V平台有关。你可以尝试卸载它。有时也需要在终端窗口中(使用管理员权限)禁用它,方法是bcdedit /set hypervisorlaunchtype off

3

总之:

VT-x不可用(VERR_VMX_NO_VMX)。

什么是VT-x?

VT-x是英特尔在x86平台上的虚拟化技术。VT-x允许多个操作系统以安全有效的方式共享x86处理器资源。

可能出现的问题和解决方法:

  • BIOS设置中未启用VT-X - VT-X可能会被第三方应用程序手动或远程禁用。解决方法是在启动时进入BIOS设置并重新启用虚拟化(可以是VT-x,VT-d等)。

  • 机器的CPU不支持VT-X - 尽管这种情况很少见,但有时错误发生是因为所涉及的电脑根本没有配备支持VT-X技术的设备。

  • 在Windows中启用了Hyper-V虚拟化 - 这可能是此错误发生的最常见原因。由于微软的Hyper-V技术已知与VT-X冲突,如果启用Hyper-V虚拟化,则操作系统将自动禁用VT-x。您可以通过“打开或关闭Windows功能”菜单在Windows设置中禁用它。请注意,“启用虚拟机平台”和/或“启用Windows Hypervisor平台”之一似乎会导致此问题。

  • Avast更新禁用了VT-X - 事实证明,Avast发布了一项更新,如果实时保护处于活动状态,则有效禁用VT-x,除非用户在设置菜单中启用了嵌套虚拟化。

  • 启用了核心隔离 - 核心隔离是Windows Defender Security选项,已知在启用时与VT-X冲突。您可以从Windows Defender选项菜单或通过“设置”> “更新&安全性”> “Windows安全性”> “设备安全性”> “核心隔离详细信息”> “关闭”来禁用它

与其他帖子对比,大多数来自StackExchange:
启动虚拟机时出现“VT-x不可用”
https://serverfault.com/questions/620273/turn-on-virtualisation-settings-on-windows-2012-r2
https://superuser.com/questions/1266489/virtualbox-states-vt-x-is-not-available-verr-vmx-no-vmx
https://superuser.com/questions/1391838/virtual-box-is-not-working-on-windows-10
https://appuals.com/fix-vt-x-is-not-available-verr_vmx_no_vmx/

相关: VirtualBox -内核需要x86-64 CPU,但只检测到i686 CPU


2

VT-x是英特尔在x86平台上进行虚拟化的技术。VT-x允许多个操作系统以安全高效的方式共享x86处理器资源。

请确保您的BIOS中已启用虚拟化,并且没有其他程序正在使用它 - Hyper-V是一个非常常见的问题。

请参考x86虚拟化维基

希望对您有所帮助:-)


我在BIOS中没有虚拟化选项。有什么办法可以让Genymotion虚拟设备工作吗?我似乎在“关闭Windows功能”中找不到Hyper-V。 - Saurab
@Saurab 你的主机操作系统是什么? - Hussain K
@Saurab 通过下载处理器识别实用程序 http://www.intel.com/content/www/us/en/support/processors/processor-utilities-and-programs/intel-processor-identification-utility.html 检查您的处理器是否支持虚拟化。 - Hussain K
@HussainK,如果不是呢,我们该怎么办? - Малъ Скрылевъ

2
如果您已经在BIOS中启用了虚拟化模式,但问题仍然存在,请尝试前往以下位置:
设置 - 更新和安全 - Windows安全 - 设备安全 - 核心隔离详细信息 - 关闭
然后重新启动计算机,并再次尝试查看64位VirtualBox环境。

2

在Windows设置中的“打开或关闭Windows功能”菜单中禁用“虚拟机平台”和/或“Windows Hypervisor平台”。然后重新启动并打开VirtualBox或VMware。这对我有效。


0

0

花了一些时间和精力才发现这个问题只出现在64位虚拟机上,而不是32位虚拟机。

尽管他没有提到实际的错误,但他问题的根本原因在于Win 10。Hyper-V很贪婪,在启动后就占用了“VT-x”,并且根本不与Virtual Box共享。

以下是两种解决方案:

  • 通过“打开或关闭Windows功能”从Windows中删除Hyper-V(如果您显然没有使用它)

  • 按照文章所述编辑BCD以使用Hyper-V (hypervisorlaunchtype禁用)启动Windows。


0

我建议您如果已经启用了VTX,并检查BIOS中是否启用了VT-D/VT-X,请尝试重置VirtualBox设置或重新安装VirtualBox:这可能与您的PC / Windows配置无关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接