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

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

我想在我的操作系统上进行一些库测试。所以我需要几个环境来运行 KVM。我发现我的客户机无法运行 KVM。

我正在使用 virtualbox 4.2。

答案1

KVM 需要 VT-X/AMD-V,但 VirtualBox不会将 VT-X/AMD-V 传递给客户机操作系统。

因此,KVM 暂时无法在 VirtualBox 中运行。请跟踪错误单 #4032

VT-X 和 AMD-V(所谓的虚拟化扩展) 在 CPU 中本地运行客户操作系统。如果没有它们,虚拟化软件必须在软件中解释操作系统操作码,这会非常慢。

现在,你可以

  • 在虚拟机管理程序中运行 KVM,并将虚拟化扩展传递给客户机(例如VMware Workstation 8), 或者
  • 在 VirtualBox 中运行另一个虚拟机管理程序(例如在 VirtualBox 中运行 VirtualBox)。此选项将非常慢,因为客户机将错过 VT-X/AMD-V。

答案2

Virtualbox 刚刚发布了(2018 年 12 月 18 日)版本 6,其中预计将具有嵌套虚拟化。但是,目前看来它仍然无法在 Intel 处理器上使用。 https://www.virtualbox.org/wiki/Downloads

关于主要问题(在 Ubuntu 中启用嵌套虚拟化)-KVM 模块支持 Ubuntu 16 及更高版本(可能也支持较低版本)上的嵌套虚拟化。不确定是否在主机上使用 XEN,但您肯定可以在 KVM 中嵌套 XEN。

答案3

在 UBUNTU 中启用 KVM 嵌套虚拟化 启用嵌套 VT 功能之前,请关闭所有正在运行的虚拟机。

接下来,卸载 KVM 模块。

要在 INTEL 系统上卸载 KVM 模块,请运行:

$ sudo modprobe -r kvm_intel

在 AMD 系统上:

$ sudo modprobe -r kvm_amd

使用命令重新加载在 INTEL CPU 上启用嵌套功能的 KVM 模块:

$ sudo modprobe kvm_intel nested=1

使用命令在 AMD CPU 上启用嵌套功能后重新加载 KVM 模块:

$ sudo modprobe kvm_amd nested=1

永久启用嵌套虚拟化 按照:

相关内容