Machine: 创建机器时出错:机器创建期间驱动程序出错:此计算机未启用 VT-X/AMD-v。 必须在 BIOS 中启用它

创建于 2015-11-11  ·  21评论  ·  资料来源: docker/machine

我运行如下命令:

docker-machine --debug create -d "virtualbox" default

我明白了

Error creating machine: Error in driver during machine creation: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory

这是我的环境

helios@mtl-helios:~$ docker --version
Docker version 1.9.0, build 76d6bc9
helios@mtl-helios:~$ docker-machine --version
docker-machine version 0.5.0 (04cfa58)
helios@mtl-helios:~$ vboxmanage --version
5.0.8r103449
helios@mtl-helios:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:        14.04
Codename:       trusty

如果有人能指点我解决这个问题,那就太好了。

这是 --debug 输出: https ://gist.github.com/GiantEnemyCrab/633c6c7e9f8fd929d348
这是 VBox.log: https ://gist.github.com/GiantEnemyCrab/43f3f9990af26deec4c8

最有用的评论

单击VM =>“虚拟机”菜单=>首选项=>处理器和内存=>高级选项=>在此虚拟机中启用管理程序应用程序

所有21条评论

@GiantEnemyCrab

我相信错误消息会告诉您出了什么问题以及该怎么做:

This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory

您需要进入笔记本电脑的 BIOS 并启用 VT-X/AMD-v。

感谢您的回复! 实际上,我在 vmware 上,它是无头的虚拟机之一。 我不是机器的管理员,但我想仍然可以配置它?

那么,您是_inside_ 一个VMWare VM 并试图在其中启动virtualbox?
如果是这样,它不太可能起作用。 虚拟化内部的虚拟化通常不起作用。

是的,我在虚拟机服务器(不是物理服务器)上,并尝试使用该虚拟机内的 virtualbox docker 创建 docker 机器。

我确实有 VMware Fusion 内部的 VirtualBox 在我的笔记本电脑上的虚拟机上工作,但您必须在“首选项”菜单中切换虚拟机的设置才能使嵌套虚拟化工作。

@GiantEnemyCrab如果我们的 VTX 检查阻止您在原本可以创建 VM 的情况下(例如使用旧版本的机器),那么我们应该修复它,但请检查以确保创建任何 VM 都可以正常工作。

感谢你们到目前为止的反馈。

较旧的版本,我可以尝试 0.4.1 或 0.4.0 并返回这里结果。

@nathanleclaire

我带着一些结果回来了。 看起来机器本身是在 0.4.1 中创建的,我想......
但是,将 ssh 放入虚拟机时有问题。 而且它一直处于尝试 ssh 很多次的循环中。 这可能是另一个问题?

无论如何,我将在此处粘贴调试日志。

VBox.log 文件: https ://gist.github.com/GiantEnemyCrab/42187e86f4867028dced
docker-machine 调试: https ://gist.github.com/GiantEnemyCrab/2df075516e922a68a0d1

@GiantEnemyCrab ,在 0.5.0 版之前,虚拟机正在循环尝试 ssh 连接,因为虚拟机实际上无法启动。 对于 0.5.0 版,现在会显示确切的错误。

好的,我不知何故将 virtualbox 的版本切换到默认的 4.3,让我再次尝试使用 5.0.8,对此感到抱歉,并且会返回一些结果。

为确保创建的虚拟机确实存在问题,您可以使用VBoxManage controlvm vm_name screenshot.png screen.png捕获其屏幕

screen

谢谢@dgageot ,我得到了截图。 并且在docker鲸ascii art之前有一条消息说:

This kernel requires an x86-64 CPU, but only detected an -686 CPU.
Unable to boot = please use a kernel appropriate for your CPU.

在这种情况下,至少,VM 是使用 0.4.1 创建的?

但奇怪的是,CPU确实是x86_64。

helios@mtl-helios:~$ uname -a
Linux mtl-helios 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Emmmm,我该如何前进?

@GiantEnemyCrab事情是你正在运行VirtualBox _inside_ VMWare VM。 因此,即使主机是启用了硬件虚拟化的 x86-64,Virtualbox 也很有可能无法使用这些 VT-X 指令。
@nathanleclaire你是怎么做到的?

单击VM =>“虚拟机”菜单=>首选项=>处理器和内存=>高级选项=>在此虚拟机中启用管理程序应用程序

非常感谢您的洞察力!

事实证明,由于我已经在 Ubuntu 中,我真的不需要做 virtualbox 的东西。 我可以通过拉取图像来 docker create / docker run,例如 postgres,它可以运行得很好。

我盲目地尝试遵循专门针对 windows / mac 的说明,但看​​起来我并不需要初始的 docker-machine create default 部分。

请确认,我认为关于 VT-X 等的错误消息在 docker-machine v0.5.0 中是合适的。 在这种情况下,票可以关闭。

但是, @nathanleclaire的偏好编辑也是一个很好的参考。

@GiantEnemyCrab太棒了! 那么让我们关闭这张票。

大家干得好:+1:

这个解决方案对我有用。(Window 10/8)

  1. 在 BIOS 中,启用英特尔虚拟化技术。 F10 并按 Y 保存。重新启动。
  2. Win+Q,找到Hyper-V管理器,停止服务。
  3. Win+X,然后按A,bcdedit /set hypervisorlaunchtype off,按回车禁用hyper-v。
  4. 重新启动,硬件加速现已启用!

在使用 Oracle VirtualBox 运行 Ubuntu OS VM 的 Windows 7 Enterprise 笔记本电脑上遇到同样的问题。

但是,我确实看到在我的 Windows 笔记本电脑和 Ubuntu VM 上启用了虚拟化。 Oracle VirtualBox 包括系统加速设置:VT-x/AMD-V、嵌套分页、Ubuntu VM 上的 Hyper-V 准虚拟化,我也尝试了默认的准虚拟化,但没有用。

我的 windows 笔记本电脑(有自己的 windows 操作系统 - docker 问题)能够在我的笔记本电脑上创建的 docker-machine 上启动 docker 容器,但不能在 Ubuntu VM 上,

如果我在我的 Ubuntu VM 上使用 docker-machine 命令,一切都会搞砸。

root@hyper-VirtualBox:/home/hyper# docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                 Unknown   
root@hyper-VirtualBox:/home/hyper# docker-machine start default(default) Starting VM...
This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
root@hyper-VirtualBox:/home/hyper# docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
default   *        virtualbox   Running                 Unknown   Something went wrong running an SSH command!
command : ip addr show dev eth1
err     : exit status 255
output  : 

root@hyper-VirtualBox:/home/hyper# docker-machine -v
docker-machine version 0.5.3, build 4d39a66

VMWare 工作站/Fusion - Ubuntu 虚拟机(64 位 16.04)
单击VM =>“虚拟机”菜单=>首选项=>处理器和内存=>高级选项=>在此虚拟机中启用管理程序应用程序

sudo apt-get install virtualbox

https://github.com/docker/labs/blob/master/swarm-mode/beginner-tutorial/swarm-node-vbox-setup.sh
./swarm-node-vbox-setup.sh

工作得很好。

$ sudo docker-machine create --driver virtualbox manager1
运行预创建检查...
预创建检查出错:“此计算机未启用 VT-X/AMD-v。必须在 BIOS 中启用它”

请注意我使用的是 AWS ubuntu 16.04 机器
请指导我如何通过 CLI 尽快解决 ubuntu 16.04 中的此错误

此页面是否有帮助?
0 / 5 - 0 等级