Win 8/8.1 下virtualbox无法开启虚拟化解决方法
笔者日前遇到一个情况,在安装完win8.1系统后,下载最新的 virtualbox 4.3.8 版本虚拟机安装好后;
导入之前的虚拟机并启动时,提示出错,出错代码如下:
Couldn't find the end of CPUID sub-leaves. (VERR_CPUM_TOO_MANY_CPUID_SUBLEAVES).
返回 代码:E_FAIL (0x80004005)
组件:Console
界面:IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
并且,
在virtualbox新建虚拟机的界面,只能新建32位虚拟机。
虚拟机设置页,硬件加速标签灰色,无法启用。
笔者第一感觉,判断认为是virtualbox的问题,卸载后重新以管理员身份安装,问题依旧。
再次,检查电脑设置,确认 BIOS 中已经开启虚拟化支持,如下图
后来去官网翻了下,确定发生产问题的原因是:
如果 win8 / 8.1 下已经启用 Hyper-V,需要关闭此功能。既然找到原因,那么就针对此原因解决方法就好处理了。
所以解决此问题的方法如下:
一、win+Q 打开 Hyper-V管理器
检查 hyper-v管理服务状态,停止此服务。
二、以管理员权限启动命令行
Win + X 打开快捷菜单,如下
运行如下命令
bcdedit /set hypervisorlaunchtype off (此命令用来设置禁用 hyper-v)
bcdedit /set hypervisorlaunchtype auto 【 如果想再次启用 hyper-v 的话,请运行此命令。】
三、最后,一定要重新启动电脑,以上两步设置才能生效。
一个好消息是,根据官方的消息 virtualbox 4.3.8 以后的版本会解决此问题。
正常设置好后,virtualbox 就可以正确启动硬件加速功能。如下图