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

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

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

选项包括

  • 没有任何
  • 默认
  • 遗产
  • 最小
  • Hyper-V
  • 虚拟机

这一页建议选择仅基于客户系统:

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

那是对的吗?

答案1

VirtualBox 使用手册,在标题为半虚拟化提供商非常清楚地解释了何时应该使用它们(强调):

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

  • 键盘/鼠标:提供 Linux KVM 虚拟机管理程序接口,该接口可由 Linux 内核(从 2.6.25 版开始)识别。VirtualBox 的实现目前支持半虚拟化时钟和 SMP 自旋锁。建议 Linux 客户机使用该提供程序。

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

下拉菜单中的其他选项执行以下操作,如vboxmanage文档

  • 没有任何none明确指定将关闭公开任何半虚拟化接口。

  • 默认:选项default,将在启动虚拟机时根据客户操作系统类型选择适当的接口。这是创建新虚拟机时选择的默认选项。

  • 遗产:该legacy选项适用于使用旧版本 VirtualBox 创建的虚拟机,并将在使用 VirtualBox 5.0 及更新版本启动虚拟机时选择半虚拟化接口。

答案2

让我们更精确一点,因为我有 4.3 个迁移的虚拟机,这些都是“遗留的”,而且我对使用什么设置很感兴趣,如果我将虚拟机从 Linux 复制到 Windows 或反之亦然:

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

  • 指定没有任何明确地关闭曝光任何半虚拟化接口。
  • 选项默认,将选择一个合适的接口取决于客户操作系统类型启动虚拟机时。这是创建新虚拟机时选择的默认选项。
  • 遗产为虚拟机选择了该选项使用较旧的 VirtualBox 创建版本并将在使用 VirtualBox 5.0 及更新版本启动 VM 时选择半虚拟化接口。
  • 最小提供者是对于 Mac OS X 客户机强制执行
  • 虚拟机-受到推崇的为了Linux 客户机
  • 超级虚拟机-受到推崇的为了Windows 客户机

这些选项在第 10.4 节“半虚拟化提供商”。

手册第 8 章

因此,如果你已在 Linux 中将 VirtualBox 升级到版本 5,只需选择虚拟机或者默认,启动虚拟机并检查它是否正常工作。如果是,则保留新设置。

如果你将虚拟机从 Linux 迁移到 Windows,我建议默认选项,它会自动选择最佳的虚拟化接口。

答案3

根据我自己的测试,仅仅是从亩到分。

我已在 Windows 10 客户机上进行过测试,在 Windows 10 主机和 Linux 主机上运行过(或者至少我尝试过)。

更不用说,我使用的所有虚拟磁盘都是不可变的(以确保相同的测试)。

在 Windows 10 主机上,客户机运行正常(可能有点慢)但它启动并显示桌面......半虚拟化是“默认”。

如果我在具有半虚拟化“默认”的 Linux 主机上尝试相同的虚拟机,Windows 10 客户机将无法启动,它会启动直到点以圆圈移动,然后过一会儿它就会冻结...无法登录,也无法登录桌面...请记住所有磁盘都是不可变的。

但是,只要我将半虚拟化设置为“Heredada”(西班牙语),它就会启动并进入桌面,但有时(记住所有磁盘都是不可变的)它会重新启动,而其他时候我可以使用它(非常非常慢)...所以一定在某处存在竞争条件,因为对于不可变的磁盘,它并不总是做同样的事情。

啊,顺便说一句,Windows 客户机没有互联网访问权限,以确保没有互联网连接会导致冷启动时的事情有所不同。

记住:

  • 所有磁盘都是不可变的
  • 每次冷启动时都会恢复所有设置
  • Windows 客户机并不总是有效
  • 在“默认”状态下半虚拟化甚至无法在 Linux 主机上启动,但可以在 Windows 主机上顺利启动。
  • 通过“Heredada”上的半虚拟化,它可以在 Linux 主机上启动(但它并不总是稳定的,无法让你使用它)

我也尝试过启用/禁用 2D 和 3D(也包括 PAE/NX),因为我希望同一个客户机(从一台主机复制到另一台主机的虚拟硬盘)在两台不同的主机上稳定运行;另外我希望能够在进行任何更新后将虚拟硬盘从一台主机复制到另一台主机(在进行冷启动之前,将不可变磁盘与其父磁盘合并以使更改永久生效且不会丢失,即使用 CloneVDI);我不使用快照,只使用不可变磁盘。

这就是我所看到的,我必须对其他半虚拟化值进行更多测试,以防万一任何一个在 Linux 主机上运行得更好。我不使用 MAC,也不使用 OS/2,只使用 Windows 主机和 Linux 主机(两个主机都在不同的物理硬件上)。

版本:Windows 10 客户机为 HOME 64Bits,版本为 1809.17763.379

希望这对其他人有所帮助,测试、测试、再测试(最好使用不可变磁盘)任何值的组合,直到找到一个可行的组合,这似乎是让客户机在不同类型的主机(Windows / Linux)上运行的唯一方法!

相关内容