转自:http://blog.shengbin.me/posts/fix-virtualbox-error-caused-by-hyper-v-enabled/
http://www.veryhuo.com/a/view/51288.html
安装Visual Studio以后可能会导致与VirtualBox、VMware产生冲突,这是因为安装了Windows Phone SDK,冲突表现为:
打开VirtualBox、VMware创建64位虚拟机时,出现了如下错误提示:
-
VT-x/AMD-V hardware acceleration has been enabled, but is not operational. Your 64-bit guest will fail to detect a 64-bit CPU and will not be able to boot.
-
Please ensure that you have enabled VT-x/AMD-V properly in the BIOS of your host computer.
-
这是因为Windows Phone SDK在安装时打开了Hyper-V导致的。
Windows Phone SDK中的手机模拟器需要用Hyper-V来实现虚拟化。Hyper-V是微软的虚拟化软件,类似VirtualBox、VMware,可以用来创建虚拟机。它们被称为Hypervisor或Virtual Machine Monitor(虚拟机监视器)。 由于Hyper-V与VirtualBox、VMware不能共存,因此当Hyper-V打开时,VirtualBox、VMware就不能正常工作了。上面错误提示中提到的”VT-x/AMD-V“是处理器的硬件虚拟化支持,已经在BIOS中打开了; Hyper-V使用了它,于是VirtualBox、VMware就抱怨说无法使用(”not operational“)了。
解决方法就是禁用Hyper-V。途径有多种:
第一种方法:使用管理员权限运行命令:bcdedit /set hypervisorlaunchtype off。
对应的打开Hyper-V的命令:bcdedit /set hypervisorlaunchtype auto。
第二种方法:使用”添加或删除Windows组件“图形界面程序,在里面取消勾选Hyper-V。
上述方法都需要重启计算机。而且禁用Hyper-V之后就无法使用Windows Phone SDK中的手机模拟器了。
目前还没有找到VirtualBox虚拟机和Hyper-V同时运行的方法,除非VirtualBox中虚拟机是32位的 (我试了32位Windows XP的虚拟机在启用Hyper-V时仍可以正常运行)。
若想在启动电脑的时候选择是否打开Hyper-V,按照以下步骤操作:
1、以管理员权限运行 bcdedit /copy {current} /d "Windows 10 (开启 Hyper-V)" 命令,随后会提示已经创建了另外一个启动菜单项,记下 { } 中的一串代码。
2、运行 bcdedit /set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} hypervisorlaunchtype auto 命令,将上面的代码替换掉这里的红色XXX代码。
3、右键“此电脑”属性,高级系统设置,启动和故障恢复,设置“显示操作系统列表的时间”。