笔者日前遇到一个情况,在安装完win8.1系统后,下载最新的virtualbox4.3.8版本虚拟机安装好后;
导入之前的虚拟机并启动时,提示出错,出错代码如下:
Couldn'tfindtheendofCPUIDsub-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/sethypervisorlaunchtypeoff(此命令用来设置禁用hyper-v)
bcdedit/sethypervisorlaunchtypeauto【如果想再次启用hyper-v的话,请运行此命令。】
三、最后,一定要重新启动电脑,以上两步设置才能生效。
一个好消息是,根据官方的消息virtualbox4.3.8以后的版本会解决此问题。
正常设置好后,virtualbox 就可以正确启动硬件加速功能。如下图