运行 Android 模拟器和 VirtualBox 机器

Running Android Emulator together with a VirtualBox machine

我在 Windows 10 1903 上,在使用 Android 模拟器时需要 运行 一个 Linux 虚拟机。我在 AMD Ryzen 5 3600x CPU.

如果我禁用 Windows Hypervisor Platform,VM 可以工作,但模拟器不工作(我相信除了 arm 图像,但我没有测试过它们,因为它们的性能并不理想).

VirtualBox 最近似乎对此有一些支持,但最新的 Windows 更新根据 this 线程破坏了它。

显然,使用 Genymotion 模拟器是一种选择,但不幸的是,它不是免费的。 切换到 Linux 也不是一个选项。

有没有不依赖手臂图像的方法?任何想法将不胜感激,因为我已经在这上面花费了太多时间。

对于更多上下文,vm 日志显示了这些消息(感兴趣):

00:00:01.324766 ********************* End of CFGM dump **********************
00:00:01.324820 HM: HMR3Init: Attempting fall back to NEM: AMD-V is not available
00:00:01.353579 NEM: WHvCapabilityCodeHypervisorPresent is TRUE, so this might work...
00:00:01.353588 NEM: WHvCapabilityCodeExtendedVmExits      = 0x0000000000000007

最终:

00:00:01.354665 NEM: Adjusting APIC configuration from X2APIC to APIC max mode.  X2APIC is not supported by the WinHvPlatform API!
00:00:01.354667 NEM: Disable Hyper-V if you need X2APIC for your guests!

我假设这与 Hyper-V 占用所有 AMD-V 使用能力有关,或者,在这种情况下,Windows Hypervisor 平台,因为这是唯一的 Windows启用虚拟化功能。

解决方法是使用 Hyper-V Quick Create,它也使用 Hyper-V。这样,我就可以让模拟器和 VM 都与 Hyper-V 一起工作,而不会发生任何冲突或进一步更改。

我仍然想知道其他替代方案(如果有的话)。此外,我希望在 VirtualBox 更新时回到它,因为这个 Microsoft VM Connection 套件的性能似乎没有达到标准。

不太清楚这种情况是否普遍,或者对大多数人是否相关,但我会尽量通过任何相关新闻更新此答案。

另一种方法是使用 Google 新发布的 AMD Hypervisor emulator

我花了一些时间才找到它,但它使您不需要 Hyper-V 或 WHP,很好地解决了这个问题。性能似乎也与 HAXM 相当。