【问题标题】:Enable Hyper-V and Hardware Virtialization for VirtualBOX under Windows在 Windows 下为 VirtualBOX 启用 Hyper-V 和硬件虚拟化
【发布时间】:2016-10-19 10:59:56
【问题描述】:
我正在windows下开发xamarin应用。
我想在以下条件下定期运行应用程序:
- Windows Phone 模拟器
- iPhone 模拟器
首先需要在windows下开启Hyper-V。
第二个,需要一个 OSX 来连接。我正在尝试在VirtualBox 下运行 OSX。为此,需要启用硬件虚拟化。
现在,当我启用 Hyper-V 时,VirtualBox 不会检测到硬件虚拟化。根据this,这不会改变。
有没有一种解决方案可以让我在无需启用/禁用 Hyper-V(需要重新启动)的情况下测试 iOS 和 WindowsPhone?
【问题讨论】:
标签:
windows-10
virtualbox
virtualization
hyper-v
【解决方案1】:
我理解你的痛点,但这是不可能在不重启系统的情况下实现的,因为你在这里提到的虚拟化技术是不同类型的一个简单事实。
在您的情况下,您用于#1 的 Hyper-V 是在主机硬件上运行的“类型 1”管理程序。此类别中的其他示例包括 Citrix XenServer 和 VmWare ESXi。
您用于 #2 的 Virtual Box 是“Type 2”托管的虚拟机管理程序,它在操作系统中运行。
如果您需要在黑白之间切换这些,重启是显着的 AFAIK。
查看模式的快速方法是从命令提示符运行“bcdedit”来查看当前配置。
1. 禁用 Hyper-V 运行:
bcdedit /set hypervisorlaunchtype off
2。重新开启 Hyper-V 运行:
bcdedit /set hypervisorlaunchtype auto
但是,在这两种情况下,您都需要重新启动。我刚刚提到了一种简单的配置方法,可以让您了解在类型 1 和类型 2 管理程序模式之间切换时引导加载程序中发生的情况。
【解决方案2】:
【讨论】:
-
您也可以将<ExtraDataItem name="VBoxInternal/NEM/UseRing0Runloop" value="0"/> 添加到您的?:\Users\%USERNAME%\.VirtualBox\VirtualBox.xml (source)。确保您在 VirtualBox 未运行时编辑配置文件(否则您的更改将在应用退出时丢失)。
【解决方案3】:
你可以通过在管理员模式下打开powershell并运行以下代码来做到这一点:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All