如何在 VirtualBox 中选择半虚拟化接口?

Beg*_*ner 118 virtualbox virtualization

给定一个 windows 8 主机系统(Intel Core i5)和一个 Linux Fedora 主机,我想确定半虚拟界面的最佳设置。

选项是

  • 没有任何
  • 默认
  • 遗产
  • 最小的
  • 超V
  • KVM

此页面建议选择仅基于访客系统:

VirtualBox 5.0 最大的变化是引入了半虚拟化支持,为支持的客户操作系统(Windows 上的 Hyper-V 和 Linux 上的 KVM)带来了更高的性能和计时精度。

那是对的吗?

hea*_*vyd 121

VirtualBox的手册,在标题为半虚拟化供应商解释的很清楚,当每个人都应该使用(强调):

  • 最小:宣布虚拟化环境的存在。此外,还向客户操作系统报告 TSC 和 APIC 频率。此提供程序是运行任何 Mac OS X 来宾系统所必需的。

  • KVM:提供 Linux KVM 管理程序接口,从版本 2.6.25 开始,Linux 内核可以识别该接口。VirtualBox 的实现目前支持半虚拟化时钟和 SMP 自旋锁。建议 Linux 来宾使用此提供程序。

  • Hyper-V:呈现 Microsoft Hyper-V 管理程序界面,可被 Windows 7 和更新的操作系统识别。VirtualBox 的实现目前支持半虚拟化时钟、APIC 频率报告、访客调试、访客崩溃报告和宽松的计时器检查。建议 Windows 来宾使用此提供程序。

下拉列表中的其他选项执行以下操作,如vboxmanage文档中所述:

  • Nonenone明确指定关闭暴露任何半虚拟化接口。

  • 默认:该选项default将在启动 VM 时根据来宾操作系统类型选择合适的界面。这是创建新 VM 时选择的默认选项。

  • Legacylegacy为使用较旧 VirtualBox 版本创建的 VM 选择该选项,并在使用 VirtualBox 5.0 和更高版本启动 VM 时选择半虚拟化接口。

  • 在我的 Ubuntu 客户机上测试 KVM 模式(使用 OSX 作为主机),有几个与时间相关的问题,包括时钟运行速度慢了大约两倍。(我会使用 ntp 设置时间,在 10 分钟内,时钟会延迟大约 5 分钟)。系统实际上运行速度较慢,例如调用“sleep 5”将花费超过 5 秒的时间。目前我回到了“传统”模式 (6认同)
  • @JBernardo 通常不应在 VM 内使用 ntp,因为它通过来宾实用程序与主机同步。它可能会干扰。 (2认同)

Aru*_*ius 10

让我们更准确地说,因为我有 4.3 迁移的 VM,而且它们是“遗留的”,如果我将 VM 从 Linux 复制到 Windows,我也对使用什么设置感兴趣,反之亦然:

--paravirtprovider none|default|legacy|minimal|hyperv|kvm:此设置指定向来宾操作系统提供哪个半虚拟化接口。

  • 明确指定none会关闭暴露任何半虚拟化接口。
  • 选项default将在启动 VM 时根据来宾操作系统类型选择合适的接口。这是创建新 VM 时选择的默认选项。
  • 传统的选项是选择了这是虚拟机与旧的VirtualBox创建的版本,并会挑一个准虚拟化界面,同时用VirtualBox的5.0和新启动VM。
  • 最小的提供者是强制性的Mac OS X的客人
  • kvm -推荐用于Linux 客户机
  • hyperv -推荐用于Windows 来宾

这些选项在第 10.4 节“半虚拟化提供程序”中详细解释。

来自手册第 8 章

因此,如果您在 Linux 中将 VirtualBox 升级到第 5 版,只需选择kvmdefault,启动 VM 并检查它是否正常工作。如果是,请保留新设置。

如果您将虚拟机从 Linux 迁移/移动到 Windows,我建议使用默认选项,它可以自动选择最佳虚拟化界面。