我在 Windows 10 机器上的 VirtualBox 中运行 Ubuntu 18.04。
我正在尝试通过在我的(虚拟)Ubuntu 操作系统上创建几个虚拟机来创建和测试 Docker 群集。(我知道,我知道。虚拟机上的虚拟机上的虚拟机。我应该买一台 Mac)。我在 Ubuntu 中下载了 VirtualBox,并在命令行运行以下命令:
docker-machine create --driver virtualbox myvm1
返回:
正在运行预创建检查...预创建检查错误:“此计算机未启用 VT-X/AMD-v。必须在 BIOS 中启用它”
我的 Windows 10 机器上启用了虚拟化:
通过 VirtualBox 设置(在 Windows 上运行)查看,Ubuntu 似乎也启用了虚拟化功能:
我尝试在启动时通过 Ubuntu BIOS 启用,但似乎无法进入那里进行任何更改。如果我按 F2 或 F12 或 ESC(或任何键),我可以看到启动期间运行的进程列表,但无法进行任何控制,操作系统会正常启动。附带问题,是否有适用于在虚拟机上运行的 Ubuntu 的 BIOS,还是只有适用于我的硬件的 BIOS?
我读到过,也许我应该禁用 Windows 机器上的“快速启动”,我也这么做了,但没看到任何变化。而且我的主机启动速度也相当快。
更新:
如果我在 Ubuntu 终端中运行,
grep --color vmx /proc/cpuinfo
没有返回任何内容。svm 也是如此,这似乎证实虚拟化未启用或无法启用。最终的问题是,我如何启用它?
答案1
如果您想要在客户机内部进行虚拟化,那么您需要在 VirtualBox 设置中启用它。
看https://docs.oracle.com/cd/E97728_01/F12469/html/nested-virt.html
如果您想要别的东西,那么也许您可以澄清您的问题?
答案2
我的设置与您的类似,并且遇到了同样的错误。以下代码为我解决了该问题。
docker-machine create --driver virtualbox --virtualbox-no-vtx-check myvm1
这是我找到它的链接。https://docs.docker.com/machine/drivers/virtualbox/
我希望它有帮助。
答案3
Oracle 支持嵌套虚拟化virtualbox 版本 6.0及以后,但仅适用于运行 AMD 和 Intel CPU 的主机系统。 https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/nested-virt.html