当前位置: 首页>>技术教程>>正文


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

,

问题描述

我想在我的操作系统上进行一些库测试。所以我需要几个环境来运行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根据:

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14175.html,未经允许,请勿转载。