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

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

选项是

  • 没有
  • 默认
  • 遗产
  • 最低限度
  • Hyper-V *KVM

本页建议只根据客体系统进行选择:

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

这样说对吗?

解决办法

VirtualBox手册,在题为虚拟化提供者的一节中,非常清楚地解释了何时应该使用每个人(强调是后加的):

  • 最小化:宣布虚拟化环境的存在。此外,向客户操作系统报告TSC和APIC频率。这个提供者对于运行任何Mac OS X客体。 >
  • KVM:提供了一个Linux KVM管理程序接口,从2.6.25版本开始被Linux内核识别。VirtualBox'的实现目前支持准虚拟化时钟和SMP spinlocks。**该供应商被推荐用于Linux客户。 ************;
  • Hyper-V:提出了一个微软的Hyper-V管理程序接口,它可以被Windows 7和更新的操作系统识别。VirtualBox'的实现目前支持准虚拟化时钟、APIC频率报告、客体调试、客体崩溃报告和放松的计时器检查。**该供应商被推荐用于Windows客户。

下拉菜单中的其他选项做了以下工作,如vboxmanage docs所解释的:

  • :指定 "无 "明确关闭了任何准虚拟化接口的暴露。 >
  • Default:选项default,在启动虚拟机时,将根据客户操作系统的类型选择一个合适的接口。这是创建新虚拟机时选择的默认选项。 >
  • Legacy:使用旧版VirtualBox创建的虚拟机选择legacy选项,在使用VirtualBox 5.0和更新版本启动虚拟机时,将选择准虚拟化接口。
评论(4)

让我们更确切地说,因为我有4.3版本的迁移虚拟机,而这些虚拟机是 "传统 "的,我还对使用什么设置感兴趣,如果我把虚拟机从Linux复制到Windows或反之亦然:

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

指定明确地关闭暴露任何准虚拟化接口。 选项默认,将在启动虚拟机时根据客户操作系统的类型选择一个适当的接口。这是在创建新虚拟机时选择的默认选项。 legacy选项用于用较早的VirtualBox版本创建的虚拟机,在用VirtualBox 5.0和较新的版本启动虚拟机时将选择一个准虚拟化接口。 最小的提供者对于Mac OS X客机来说是必须的、 kvm - 推荐用于Linux用户hyperv - 建议用于Windows用户

这些选项在第10.4节"准虚拟化提供者"中详细解释。

来自手册第8章

因此,如果你已经将Linux中的VirtualBox升级到了第5版,只要选择kvmdefault,启动虚拟机并检查它是否正常工作。如果是,就保留新的设置。

如果你把虚拟机从Linux迁移到Windows,我建议使用default选项,它可以自动选择最佳的虚拟化界面。

评论(0)

根据我自己的测试,我只想说几句。

我曾用一个Windows 10的客户,在Windows 10主机和Linux主机上运行进行了测试(至少我试过了)。

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

在windows 10主机上,客户机运行正常(也许有点慢),但它启动并显示桌面......准虚拟化是"默认"。

如果我在Linux主机上尝试同样的虚拟机,并使用paravirtualization "default",Windows 10客户机就不会启动,它会启动到圆点移动,然后过了一会儿就冻结了......没有办法登录,也没有桌面......记住所有磁盘都是不可变的。

但是,只要我把准虚拟化设置为"Heredada"(西班牙语),它就会启动并到达桌面,但有时(记得所有磁盘都是不可变的)它会重启,而其他时候我可以使用它(非常非常慢)......所以一定在某个地方存在竞争,即使是不可变的磁盘,也不会总是这样做。

啊,顺便说一下,Windows客户没有互联网接入,以确保没有互联网连接可以使事情在冷启动时不同。

请记住:

  • 所有的磁盘都是不可更改的
  • 每次冷启动时都会恢复原状
  • Windows客户并不总能工作
  • 在"default"的准虚拟化下,它甚至不能在Linux主机上启动,但在Windows主机上启动很好。
  • 在"Heredada"的准虚拟化下,它确实能在Linux主机上启动(但它并不总是稳定地让你使用它)。

我也试过启用/禁用2D&3D(也是PAE/NX),因为我希望同一个客户(从一个主机复制到另一个主机的虚拟硬盘)在两个不同的主机上是稳定的;我也希望在我做任何更新后能够从一个主机复制虚拟硬盘到另一个主机(在做冷启动前,将不可变的磁盘与它的父磁盘合并,使变化永久化而不丢失,也就是使用CloneVDI);我不使用快照,只使用不可变的磁盘。

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

版本:Windows 10 guest是HOME 64Bits,版本是1809.17763.379。

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

评论(0)