在 Windows 下为 VirtualBOX 启用 Hyper-V 和硬件虚拟化

Enable Hyper-V and Hardware Virtialization for VirtualBOX under Windows

我正在 windows 下开发 xamarin 个应用程序。

我想定期 运行 下的应用:

  1. Windows Phone 模拟器
  2. iPhone 模拟器

首先,需要在 windows 下启用 Hyper-V。

对于第二个,需要 OSX 才能连接。我正在尝试在 VirtualBox 下 运行 OSX。为此,需要启用硬件虚拟化。

现在,当我启用 Hyper-V 时,VirtualBox 没有检测到硬件虚拟化。根据 this,这不会改变。

有没有解决方案可以测试 iOS 和 WindowsPhone 而无需 enable/disable Hyper-V(需要重启)?

我理解你的痛点,但这是不可能实现w/o系统重启的,因为你在这里提到的虚拟化技术是不同类型的。

在您的情况下,您用于 #1 的 Hyper-V 是一个 "Type 1" 管理程序,它在主机硬件上 运行。此类别中的其他示例包括 Citrix XenServer 和 VmWare ESXi。 您用于 #2 的 Virtual Box 是一个 "Type 2" 托管的管理程序,它在 OS.

中 运行s

如果您需要切换 b/w 这些,重启是重要的 AFAIK。

查看模式的一种快速方法是在命令提示符下 运行ning "bcdedit" 查看当前配置。 1. 禁用 Hyper-V 运行:

bcdedit /set hypervisorlaunchtype off

2。要重新打开 Hyper-V 运行:

bcdedit /set hypervisorlaunchtype auto

但是,在这两种情况下您都需要重新启动。我刚刚提到了一种简单的配置方法,可以让您了解在 Type 1 和 Type 2 hyper-visor 模式之间切换时引导加载程序中发生的情况。

Virtualbox 6 可以使用Hyper-V 作为后端虚拟化引擎。方便您同时使用。

您可以通过以下命令启用此功能:

cmd
cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage setextradata global "VBoxInternal/NEM/UseRing0Runloop" 0

据此: https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/hyperv-support.html

这是一项实验性功能。 所以此功能可能不稳定,甚至无法使用。

至少它可以在我的笔记本电脑上运行。 Screenshot that Vbox and HyperV at same time

您可以通过在管理员模式下打开 powershell 并运行以下代码来完成此操作:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All