Answers:
《VirtualBox手册》中标题为“ 准虚拟化提供程序”的部分非常清楚地说明了何时应使用每种格式(强调):
最少:宣布存在虚拟化环境。此外,还将TSC和APIC频率报告给来宾操作系统。该提供程序对于运行任何Mac OS X来宾都是必需的。
KVM:提供一个Linux KVM管理程序接口,此接口可从2.6.25版开始的Linux内核中识别。VirtualBox的实现当前支持半虚拟时钟和SMP自旋锁。建议为Linux guest虚拟机使用此提供程序。
Hyper-V:提供Microsoft Hyper-V管理程序界面,Windows 7和更新的操作系统可以识别该界面。VirtualBox的实现当前支持半虚拟时钟,APIC频率报告,来宾调试,来宾崩溃报告和宽松的计时器检查。建议Windows客户机使用此提供程序。
下拉菜单中的其他选项执行以下操作,如vboxmanage
docs中所述:
无:
none
明确指定将关闭任何半虚拟化接口的暴露。默认值:选项
default
,将在启动VM时根据来宾OS类型选择合适的接口。这是创建新VM时选择的默认选项。旧版:
legacy
为使用旧版VirtualBox版本创建的VM选择该选项,并在使用VirtualBox 5.0及更高版本启动VM时选择半虚拟化界面。
更准确地说,因为我有4.3台迁移的VM,并且这些是“旧版”,所以如果我将VM从Linux复制到Windows或反之亦然,我也对使用哪种设置感兴趣:
--paravirtprovider none | default | legacy | minimal | hyperv | kvm:此设置指定要向来宾操作系统提供哪个半虚拟化接口。
这些选项在第10.4节“ 半虚拟化提供程序 ” 中进行了详细说明。
从手册第8章开始。
因此,如果您已在Linux中将VirtualBox升级到版本5,只需选择kvm或default,启动VM并检查其是否正常运行。如果是,请保留新设置。
如果将VM从Linux迁移/移动到Windows,建议使用默认选项,该选项会自动选择最佳的虚拟化接口。
根据我自己的测试,只有亩到几美分。
我已经在Windows 10主机和Linux主机上运行Windows 10 guest虚拟机进行了测试(或者至少我尝试过)。
更不用说,我使用的所有虚拟磁盘都是不可变的(以确保相同的测试)。
在Windows 10主机上,guest虚拟机可以正常运行(可能有点慢),但会启动并显示桌面……准虚拟化为“默认”。
如果我在具有半虚拟化“默认”设置的Linux主机上尝试使用相同的虚拟机,则Windows 10 guest虚拟机不会启动,它会启动直到点移动一圈,然后冻结一段时间……无法登录,也无法进入桌面。 ..记住所有磁盘都是不可变的。
但是,一旦我将半虚拟化设置为“ Heredada”(它是西班牙语),它就会启动并到达桌面,但有时(记住所有磁盘都是不可变的)它会重新启动,而其他时候我可以使用它(非常慢)。因此,某处必须存在种族竞争,使用不可变的磁盘,它总是无法做到这一点。
嗯,顺便说一句,Windows guest虚拟机无法访问Internet,以确保没有Internet连接可以使冷靴之间的工作方式有所不同。
记得:
我还尝试过启用/禁用2D和3D(也包括PAE / NX),因为我希望同一客户(从一台主机复制到另一台主机的虚拟HDD)在两台不同的主机上稳定;我还希望能够在进行任何更新后将虚拟HDD从一台主机复制到另一台主机(在进行冷启动之前,将不可变磁盘与其父级合并以使更改永久而不丢失,也就是使用CloneVDI);我不使用快照,仅使用不可变的磁盘。
那就是我所看到的,我必须对其他半虚拟化值进行更多测试,以防万一任何人都能在Linux主机上更好地工作。我既不使用MAC,也不使用OS / 2,仅使用Windows主机和Linux主机(两者均位于不同的物理硬件上)。
版本:Windows 10 guest虚拟机为HOME 64Bits,版本为1809.17763.379
希望这对其他人有帮助,测试和测试并重新测试(最好使用不可变的磁盘)值的任何组合,直到找到一个有效的组合为止,这似乎是使客户机在不同类型的主机(Windows / Linux)上运行的唯一方法! !!