经验技巧

关注公众号 jb51net

关闭
软件教程 > 经验技巧 >

VirtualBox或VM Ware只能安装32位系统的解决方法

yongf2014

前言

今天帮同学用VirtualBox安装虚拟机,出现了一个问题,在新建虚拟机,选择系统类别的时候,只能选择32位的系统。经过多番查阅资料,找到了解决之道,写这篇博文也是为了给后来者一些参考。This kernel requires an X86-64 CPU,but only detected an i686 CPU.
使用平台:Windows

分析

首先声明一下,32位|64位的系统都可以安装64位的虚拟机。

VirtualBox安装64位的系统需要满足以下条件:

1. 64位的cpu
2. cpu允许硬件虚拟化

先来看第一个条件,64位的CPU,这个嘛,现在的笔记本一般都是64位的了,所以不用担心,除非是好几年之间的电脑。如果你不清楚,可以打开命令行,输入systeminfo,在输出的信息中找到CPU这一行,如果是X86_64的,就是64位CPU;或者,也可以下载个CPU-Z软件查看(PS:这个软件很好用)。第一条分析完毕。

然后是第二条,是否开启CPU硬件虚拟化1,这个嘛,各大厂商的情况不大相同,有的电脑默认开启了(比如,我的HP),有的没有,所以需要自行开启,开启方法:开机时按某个键进入BIOS设置界面2。
然后,setup==>security==>cpu virtualization,将cpu virtualization这一项由Disable设置为Enable。保存,然后重启电脑,硬件虚拟化就开启成功了。

然后,按理说,经过这两步处理,VirtualBox中应该会出现64bit的选项了,然而,还是只有32位的选项,看来问题还真不是出在这里。

后面,又去查资料,终于发现了问题之所在,原来是因为Windows8.1自带的Hyper-V!我这个同学使用的是Win8.1系统,系统自带Hyper-V,这是微软自家的虚拟机软件。这么来说吧,VirtualBox和workstation与Hyper-v是可以共存的,但是,不是完美共存,Hyper-v是独占硬件虚拟化的,Windows 8.1下安装了Hyper-v后VirtualBox和VMware workstation是不能安装64位的操作系统的。这个问只会在Windows8.1/8上出现,Win7是不会出现这个问题的,因为Win7不自带Hyper-V!→_→

那么,我们就只要禁用Hyper-V就行了。禁用的步骤:

1. Ctrl+Shift+Esc,打开任务管理器:
 

找到Hyper-V开头的8个服务,将Hyper-V虚拟机管理设置为手动开启,同时关闭该服务:

关闭Hyper-V之后,大功告成!

在将Hyper-V禁用之后,再次打开VirtualBox新建虚拟机,果然找到了64位的选项!大功告成!::>_<::

补充说明

1. 什么是硬件虚拟化?
硬件虚拟化其实就是CPU的虚拟化技术。intel的叫VT-x,amd的叫AMD-V。支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM(Virtual Machine Monitor,虚拟机监视器)会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。虚 拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行 二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。

2. 如何判断是否支持硬件虚拟化呢?

Windows:
利用一个小工具 securable.exe 来帮助我们测试硬件对虚拟化技术的支持程度。我们程序运行结果中可以看到物理机支持 64 位运算,支持硬件 DEP,支持虚拟化技术。这样的结果表明我们可以放心测试 XP MODE,如果“ Hardware Virtualization ”显示的结果是“ Locked OFF ”,则表明 CPU 支持虚拟化技术,但主板的 BIOS 却禁止了对虚拟化的支持,这种情况我们就需要更改 BIOS 设定或升级 BIOS。如果三项检测结果中有一项显示了“NO”,那就表明您的硬件不能满足 XP MODE 的部署条件,就不用继续测试了。

Linux:
在Linux下,使用命令:grep -E ‘(vmx|svm)’ /proc/cpuinfo。如果有vmx或svm内容输出,则说明CPU支持虚拟化技术。

3. 安装还是出错,为什么呢?
新建虚拟电脑时,要安装64位的Ubuntu可是没有对应选择64位,更改设置即可。这里还要注意一点:要打开VirtualBox的vt-x/amd-v设置,这个其实会自动打开。重新安装,大功告成了!
还有一点,在上面所有操作都昨做完之后,最好重启一次,以免再次出错!

4. 如果还有其他问题,请看左边,关注微信号,互相学习交流。

重启进BIOS,找到virtualization的一项,我的BIOS中在Advanced-cpu setup-virtualization,现为Disabled状态,改为Enable,重启进入系统。重新检测,发现已经支持硬件虚拟化。 ↩
关于如何进入BIOS,不同型号的电脑方式不尽相同,但一般都是在按开机键之后,狂按某个键(我的hp pavilion notebook好像是F5),然后就进入了BIOS,具体的请自行Google自己对应型号的进入BIOS方法。 ↩

安装虚拟机只有32位该如何操作虚拟化被禁用怎么办小技巧教你完美

安装虚拟机,只有32位该如何操作;虚拟化被禁用怎么办?小技巧教你完美解决
安装虚拟机时遇到一个很恶心的情况,发现不能装64位的,这就很头疼;这是因为有的电脑虚拟化被禁用了,可以到任务管理器的性能去查看是否禁用

果然是被禁用了;
这时要到bios界面去更改配置

如何出现bios界面呢?

因为电脑型号不一样的话,命令会有差异,我的电脑是联想的所有开机出现Logo的时候狂按F2就行,有的小伙伴会发现怎么没出现bios界面,这是正常的;我的话启动了不下20次才出现了界面,所以你们不要放弃!
安装虚拟机只有32位该如何操作虚拟化被禁用怎么办小技巧教你完美

选择Configuration

这里的 Intel Virtual Technology 果然是被禁用的Disable;方向键移到这里后回车,把Disable改成Enable就好了,然后按下F10保存修改的信息就可以启动电脑额,

有的其它机型电脑是F1 或者F12、Del键才能开启BIOS界面;
如果是F1键进入界面的会选择Security的选项,把Virtualization设置成Enable就好了;
再到任务管理器的性能去查看,这时就变为已启用了

安装虚拟机只有32位该如何操作虚拟化被禁用怎么办小技巧教你完美
然后再去装虚拟机的时候,发现可以用64位的了,你们是否也出现这样恶心的情况?

虚拟机安装Linux,版本选择只有32位的问题解决

原因:BIOS中未开启Intel Virtual Technology

方法:进入BIOS ------> Configuration ------> Intel Virtual Technology ------> Enabled ,按F10保存并退出即可