前言
今天幫同學用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位該如何操作;虛擬化被禁用怎么辦?小技巧教你完美解決
安裝虛擬機時遇到一個很惡心的情況,發現不能裝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保存并退出即可
新聞熱點
疑難解答