问题描述
我想在我的操作系统上进行一些库测试。所以我需要几个环境来运行KVM。我发现我的访客机器无法运行 KVM。
我使用的是virtualbox 4.2。
最佳方案
KVM requires VT-X/AMD-V ,而是 VirtualBox does not pass VT-X/AMD-V to the guest 操作系统。
因此,KVM 还不能在 VirtualBox 中运行。请追踪bug ticket #4032。
VT-X 和 AMD-V(so-called 虚拟化扩展)在 CPU 中本机运行来宾操作系统。如果没有它们,虚拟化软件必须解释软件中的操作系统操作码,这非常慢。
现在,您可以
-
在虚拟机管理程序中运行 KVM,该虚拟机管理程序将虚拟化扩展传递给来宾(例如 VMware Workstation 8 中的 KVM),或者
-
在 VirtualBox 中运行另一个虚拟机管理程序(例如,VirtualBox 中的 VirtualBox)。\n此选项将非常慢,因为来宾将错过 VT-X/AMD-V。
次佳方案
Virtualbox 刚刚发布(2018 年 12 月 18 日)版本 6,预计将具有嵌套虚拟化功能。然而,目前它似乎在英特尔处理器上仍然不可用。 \n https://www.virtualbox.org/wiki/Downloads
关于主要问题(在 Ubuntu 中启用嵌套虚拟化) – KVM 模块支持 Ubuntu 16 及更高版本(也可能是较低版本)上的嵌套虚拟化。不确定是否在主机上使用 XEN,但您肯定可以将 XEN 嵌套在 KVM 中。
第三种方案
在 UBUNTU 中的 KVM 中启用嵌套虚拟化\n在启用嵌套 VT 功能之前,请关闭所有正在运行的 VM。
接下来,卸载 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
永久启用嵌套虚拟化\n根据: