如何在VirtualBox中启用嵌套虚拟化
本简要教程介绍了如何在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支持虚拟化。