如何在VirtualBox中启用嵌套虚拟化

时间:2020-03-21 11:44:19  来源:igfitidea点击:

本简要教程介绍了如何在Linux中启用VirtualBox中的嵌套虚拟化。
嵌套虚拟化是一个功能,允许我们在虚拟机中运行虚拟机。
例如,让我们说我们在Ubuntu Linux系统中使用Oracle VirtualBox运行CentOS VM。
如果在Ubuntu上启用了嵌套的VT功能,则可以在CentOS VM中安装VirtualBox或者KVM并其中运行其他VM。

所以基本上它是一种在另一个虚拟化环境中运行虚拟化环境的方法。

在VirtualBox中启用嵌套虚拟化

从Version 6.1开始,Oracle VirtualBox支持运行AMD和Intel CPU的主机系统上的嵌套虚拟化功能。
因此,请确保我们运行最新的VirtualBox版本。

我们可以从命令行或者GUI启用嵌套功能。
首先,让我们看看命令行方式。

启用来自CommandLine的VirtualBox VM的嵌套虚拟化功能

首先,让我们找到使用命令的可用VM列表:

$vboxmanage list vms

示例输出:

"CentOS 8 Server" {73997fc7-4ae2-42bf-a11d-fcbe00721e13}
"Ubuntu 20.04 Server" {a7cab540-51c2-4110-b489-a4ad13b71f96}

正如我们所看到的,我在我的VirtualBox中创建了两个VM。

现在,我将使用命令为CentOS 8 VM启用嵌套功能:

$VBoxManage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on

此外,我们可以使用小写的vboxManage命令:

$vboxmanage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on

此命令使嵌套虚拟化能够用Passthrough对Guest VM的函数。

其中我包含引号中的虚拟机名称,因为它包含名称中的空格。
如果它没有名称中的空格,则无需在引号内提到它。

为来自GUI的VirtualBox VM启用嵌套虚拟化功能

从Dash或者菜单中打开VirtualBox Manager。
单击要启用嵌套功能的VM,然后选择"设置"。

转到"系统 - >处理器",然后单击"启用嵌套vt-x/amd-v"复选框。
单击"确定"以保存更改。

从现在开始,此VM将充当虚拟机管理程序,以便我们可以其中运行VM。

就像我已经提到的那样,在运行AMD和Intel CPU的主机系统上提供嵌套的VT功能。
但是,对于英特尔CPU,该选项是灰色的。
因此,我们无法直接从VirtualBox Manager启用它。

要在Intel CPU上启用嵌套功能,请按照上一节中所述的命令行方式遵循命令行方式。

验证是否为VM启用了嵌套的虚拟化

启动我们刚刚启用嵌套功能的VM。

登录VM并运行以下命令以检查是否已启用嵌套功能:

$egrep --color -i "svm|vmx" /proc/cpuinfo

如果在输出中看到"VMX"(Intel-VT技术)或者"SVM"(AMD-V支持),则VirtualBox Guest机可以作为管理程序和主机VM。
我们可以在上面的输出中看到,我的Ubuntu 20.04 VM支持虚拟化。