Vagrant up - VBoxManage.exe error: VT-x is not available (VERR_VMX_NO_VMX) code E_FAIL (0x80004005) gui headless
Vagrant up - VBoxManage.exe error: VT-x is not available (VERR_VMX_NO_VMX) code E_FAIL (0x80004005) gui headless
机器:Window10(64 位)。
我下载了最新的VirtualBox、Vagrant并初始化了CentOS 6.7 64位image/url。
以下在 Git-Bash 会话中成功运行。
1. vagrant box 添加 "centos67x64" "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box"
2. 流浪者初始化
3. 更新了 Vagrantfile(并打开 vb.gui 选项,即取消注释文件中的配置部分)。
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "2048"
end
之后,我尝试了以下命令,但收到此错误消息。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos67x64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vv_default_1466548735200_80300
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "gui"]
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
如果我 turn/comment 关闭整个 Vagrantfile 的相应部分,我仍然会收到以下错误。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "headless"]
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
任何想法!我查看了其他帖子,但找不到如何解决我的问题。
当我得到一些提示时,我尝试了其中一种解决方案。
- 关闭我猜在 Windows10.
中默认关闭的 Hyper-V
为此,我转到 Windows10 中的控制面板并查看此处并找到了这个。
然后,我通过取消选中(刻度线或黑框)关闭了 Hyper-V。
- Windows10让我重启,我说"No"(后来)。
再次尝试 运行ning "vagrant up"(没有或没有任何更改或上述 config.vm... 对 Vagrantfile 的更改)。它没有用,并给了我相同的 --headless 错误消息。
OK,该重启了。重新启动 Windows10。重新启动后,我看到一堆 Virtual Box 错误消息弹出窗口(下面显示了其中的一些)。
- 在所有这些 Virtual Box 弹出窗口上单击“确定”按钮后 windows,我尝试在我的机器上 运行 Virtual Box,它运行良好(成功)。
- 现在,我打开 Git-BASH 并再次转到 Vagrantfile 所在的目录。尝试打开/关闭设置或 commenting/uncommenting Vagrantfile 相应部分(如上所述)。
STILL 为 运行ning "vagrant up" 获取相同的错误消息(即使在关闭 Hyper-V 之后也是如此)。
在 Windows 8/10 中默认停止 hyper-v 服务 运行ning,因为它会阻止对 VT 硬件的所有其他调用。
另外如您所述,如果尚未启用,请在 BIOS 设置中打开 Intel VT 虚拟化并重新启动计算机。
要关闭 Hypervisor,运行 从命令提示符(管理员)(Windows+X ):
bcdedit /set hypervisorlaunchtype off
并重新启动您的计算机。要再次打开它,运行:
bcdedit /set hypervisorlaunchtype on
如果您收到 "The integer data is not valid as specified",请尝试:
bcdedit /set hypervisorlaunchtype auto
-- 功劳Tj Kellie
搜索 Windows 个特征。可能关闭 Hyper V.Most,Virtual Box 在 Windows 上与 Hyper V 发生冲突。还要在您的服务中检查 Hyper V 运行。停止并禁用它。
我刚刚通过禁用(取消选中)Hyper-V 解决了这个问题。我安装 Docker
时似乎启用了 Hyper-V
Control Panel -> Program And Features -> Turn Windows Features on or off.
之后您可能需要重启。
警告:使用 VirtualBox 的 Vagrant 不能同时使用 Docker。
除了打开处理器的虚拟化功能和关闭 Hyper-V 之外,还有一件事与 Windows' 基于虚拟化的安全功能有关:
https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs
必须禁用 VBS(以及相关的安全功能)以避免管理程序冲突。这是 VMware 的解决方案,似乎也适用于 VirtualBox 问题":
Docker 可能是罪魁祸首。安装 docker 后我遇到了同样的问题。 Docker 使用 Windows hyper-v 驱动程序创建容器。因此 Docker 和 Virtual Box 可能无法一起工作!
如果您在 Windows 10 Pro 上遇到上述错误,那么您可以禁用 Hyper-V。 Hyper-V 在 Windows 10 中默认启用。您可以使用 Hyper-V 或 Virtual Box。因此,要使用虚拟框,您必须在 windows 中禁用 hyper-v,您可以按照以下步骤进行 -
- 搜索控制面板
- 点击卸载程序
- 打开或关闭 Windows 功能
- 取消选择 Hyper-V 选项。
- 点击确定
- 重新启动系统以应用更改。
从 windows 功能列表中关闭 Hyper-V 选项。您可以在控制面板上找到它。
虽然是个老问题,但最近还是遇到了。
这对我的 i7-3770 3.40GHz、Z77 extreme 主板有效 运行 Windows 10.
在 Windows 中,禁用 Hyper-V:
- 以管理员身份打开 PowerShell 或 CMD 会话。
- 键入以下命令:
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All
- Windows 会要求您重新启动。
在 BIOS 中:
- 禁用 >>> Intel 虚拟化技术,vt-d
- 保存 bios 设置并允许其重新启动并引导至 Windows。
- 关闭计算机(我试过只是重新启动但没有用)
- 启动计算机,进入 bios 并重新启用上述禁用的设置。
- 保存,重启。
下载 Intel Utility 进行检查。
您现在应该看到它已得到支持:
如果还是不行,请先尝试重新启用 Hyper-V,然后再按照上述步骤操作。
如果 Docker 已安装并同时启动 运行ning,如果您尝试 运行 Virtual Box,它将无法工作。您笔记本电脑上存在的主机上的底层内核不允许同时工作。
因此Docker和Virtual box不能同时运行。为此,
要使用 Docker,您必须启用此位置存在的 hyper-v
控制面板 -> 程序和功能 -> 打开或关闭 Windows 功能。
到 运行 Virtual box 你必须从上面的位置禁用 hyper-v。
这对我有帮助:
删除 Hyper-V 并安装 Hypervisor 平台。
在提升的 Powershell 提示符下执行:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
重启
禁用 Windows Defender Credential Guard
"Local Group Policy Editor"→"Computer Configuration"→"Administrative Templates"→"System"→"Device Guard"→"Turn on Virtualization Based Security"→设置为"Disabled"
删除以下注册表设置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\LsaCfgFlags
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags
重启
删除 Windows Defender Credential Guard EFI 变量
在提升的命令提示符下执行:
mountvol X: /s
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /d
重启
禁用基于虚拟化的安全性
删除 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\*
下的所有注册表项(但保留 DeviceGuard
本身)。
重启
除了 Hyper-V 选项,我还必须取消选中 "Containers" Windows 功能才能让我的 Vagrant 工作。
唯一对我有用的是 运行 安装程序和对 VM VirtualBox 和 Vagrant 的修复。
尝试了以上所有步骤,但在我启用 BIOS 中的虚拟化技术之前没有任何效果。尽管英特尔 CPU 实用程序显示虚拟化已勾选,但实际上并非如此。
有 boot-up 系统,进入 BIOS,启用虚拟化,重新启动,瞧!经过4个多小时的努力终于成功了
机器:Window10(64 位)。
我下载了最新的VirtualBox、Vagrant并初始化了CentOS 6.7 64位image/url。
以下在 Git-Bash 会话中成功运行。
1. vagrant box 添加 "centos67x64" "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box"
2. 流浪者初始化
3. 更新了 Vagrantfile(并打开 vb.gui 选项,即取消注释文件中的配置部分)。
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "2048"
end
之后,我尝试了以下命令,但收到此错误消息。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos67x64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vv_default_1466548735200_80300
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "gui"]
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
如果我 turn/comment 关闭整个 Vagrantfile 的相应部分,我仍然会收到以下错误。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "ae74ebaa-8f01-48cf-bdad-956c59ef1208", "--type", "headless"]
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
任何想法!我查看了其他帖子,但找不到如何解决我的问题。
当我得到一些提示时,我尝试了其中一种解决方案。
- 关闭我猜在 Windows10. 中默认关闭的 Hyper-V
为此,我转到 Windows10 中的控制面板并查看此处并找到了这个。
然后,我通过取消选中(刻度线或黑框)关闭了 Hyper-V。
- Windows10让我重启,我说"No"(后来)。
再次尝试 运行ning "vagrant up"(没有或没有任何更改或上述 config.vm... 对 Vagrantfile 的更改)。它没有用,并给了我相同的 --headless 错误消息。
OK,该重启了。重新启动 Windows10。重新启动后,我看到一堆 Virtual Box 错误消息弹出窗口(下面显示了其中的一些)。
- 在所有这些 Virtual Box 弹出窗口上单击“确定”按钮后 windows,我尝试在我的机器上 运行 Virtual Box,它运行良好(成功)。
- 现在,我打开 Git-BASH 并再次转到 Vagrantfile 所在的目录。尝试打开/关闭设置或 commenting/uncommenting Vagrantfile 相应部分(如上所述)。
STILL 为 运行ning "vagrant up" 获取相同的错误消息(即使在关闭 Hyper-V 之后也是如此)。
在 Windows 8/10 中默认停止 hyper-v 服务 运行ning,因为它会阻止对 VT 硬件的所有其他调用。
另外如您所述,如果尚未启用,请在 BIOS 设置中打开 Intel VT 虚拟化并重新启动计算机。
要关闭 Hypervisor,运行 从命令提示符(管理员)(Windows+X ):
bcdedit /set hypervisorlaunchtype off
并重新启动您的计算机。要再次打开它,运行:
bcdedit /set hypervisorlaunchtype on
如果您收到 "The integer data is not valid as specified",请尝试:
bcdedit /set hypervisorlaunchtype auto
-- 功劳Tj Kellie
搜索 Windows 个特征。可能关闭 Hyper V.Most,Virtual Box 在 Windows 上与 Hyper V 发生冲突。还要在您的服务中检查 Hyper V 运行。停止并禁用它。
我刚刚通过禁用(取消选中)Hyper-V 解决了这个问题。我安装 Docker
时似乎启用了 Hyper-VControl Panel -> Program And Features -> Turn Windows Features on or off.
之后您可能需要重启。
警告:使用 VirtualBox 的 Vagrant 不能同时使用 Docker。
除了打开处理器的虚拟化功能和关闭 Hyper-V 之外,还有一件事与 Windows' 基于虚拟化的安全功能有关:
https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs
必须禁用 VBS(以及相关的安全功能)以避免管理程序冲突。这是 VMware 的解决方案,似乎也适用于 VirtualBox 问题":
Docker 可能是罪魁祸首。安装 docker 后我遇到了同样的问题。 Docker 使用 Windows hyper-v 驱动程序创建容器。因此 Docker 和 Virtual Box 可能无法一起工作!
如果您在 Windows 10 Pro 上遇到上述错误,那么您可以禁用 Hyper-V。 Hyper-V 在 Windows 10 中默认启用。您可以使用 Hyper-V 或 Virtual Box。因此,要使用虚拟框,您必须在 windows 中禁用 hyper-v,您可以按照以下步骤进行 -
- 搜索控制面板
- 点击卸载程序
- 打开或关闭 Windows 功能
- 取消选择 Hyper-V 选项。
- 点击确定
- 重新启动系统以应用更改。
从 windows 功能列表中关闭 Hyper-V 选项。您可以在控制面板上找到它。
虽然是个老问题,但最近还是遇到了。
这对我的 i7-3770 3.40GHz、Z77 extreme 主板有效 运行 Windows 10.
在 Windows 中,禁用 Hyper-V:
- 以管理员身份打开 PowerShell 或 CMD 会话。
- 键入以下命令: dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All
- Windows 会要求您重新启动。
在 BIOS 中:
- 禁用 >>> Intel 虚拟化技术,vt-d
- 保存 bios 设置并允许其重新启动并引导至 Windows。
- 关闭计算机(我试过只是重新启动但没有用)
- 启动计算机,进入 bios 并重新启用上述禁用的设置。
- 保存,重启。
下载 Intel Utility 进行检查。
您现在应该看到它已得到支持:
如果还是不行,请先尝试重新启用 Hyper-V,然后再按照上述步骤操作。
如果 Docker 已安装并同时启动 运行ning,如果您尝试 运行 Virtual Box,它将无法工作。您笔记本电脑上存在的主机上的底层内核不允许同时工作。
因此Docker和Virtual box不能同时运行。为此,
要使用 Docker,您必须启用此位置存在的 hyper-v
控制面板 -> 程序和功能 -> 打开或关闭 Windows 功能。
到 运行 Virtual box 你必须从上面的位置禁用 hyper-v。
这对我有帮助:
删除 Hyper-V 并安装 Hypervisor 平台。
在提升的 Powershell 提示符下执行:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
重启
禁用 Windows Defender Credential Guard
"Local Group Policy Editor"→"Computer Configuration"→"Administrative Templates"→"System"→"Device Guard"→"Turn on Virtualization Based Security"→设置为"Disabled"
删除以下注册表设置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\LsaCfgFlags
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags
重启
删除 Windows Defender Credential Guard EFI 变量
在提升的命令提示符下执行:
mountvol X: /s copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: mountvol X: /d
重启
禁用基于虚拟化的安全性
删除
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\*
下的所有注册表项(但保留DeviceGuard
本身)。重启
除了 Hyper-V 选项,我还必须取消选中 "Containers" Windows 功能才能让我的 Vagrant 工作。
唯一对我有用的是 运行 安装程序和对 VM VirtualBox 和 Vagrant 的修复。
尝试了以上所有步骤,但在我启用 BIOS 中的虚拟化技术之前没有任何效果。尽管英特尔 CPU 实用程序显示虚拟化已勾选,但实际上并非如此。
有 boot-up 系统,进入 BIOS,启用虚拟化,重新启动,瞧!经过4个多小时的努力终于成功了