VMware Workstation是一款案頭虛擬電腦軟體,允許多個作業系統在一台虛擬機器內部運行,可是當VMware Workstation在安裝64位CentOS系統的時候遇到了不支援全虛擬化的問題,該如何解決呢?
一、前提:
cpu支援Inter VT-X或AMD虛擬化技術,具體參考官網說明。
二、問題描述:
物理機下,VMware Workstation能安裝64位CentOS系統,處理器Inter i3 M390,且支援Inter VT-X虛擬化技術,物理機BIOS中已開啟Inter虛擬化開關(自己找),既然能安裝64位系統,說明物理機BIOS中支援虛擬化開關已開啟。
半虛擬化為pae
全虛擬化為vmx(Inter)、svm(AMD)
代碼如下:
# uname -r
2.6.32-358.el6.x86_64
# cat /proc/cpuinfo |grep flags
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon
pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni ssse3 cx16
sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts
可以看到系統是64位CentOS,只支援半虛擬化為pae,沒有全虛擬化vmx
三、解決辦法
在workstation上實現嵌套虛擬化,需要編輯虛擬機器的vmx檔案,添加
vhv.enable = “TRUE”
找到虛擬機器安裝檔案,帶有.vmx尾碼,添加即可。
參考KB如下(Additional Information部分)
代碼如下:
http://kb.vmware.com/kb/2034803
# cat /proc/cpuinfo |grep flags
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc
up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock
pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt hypervisor lahf_lm arat dts tpr_shadow vnmi ept vpid
可以看到,已經支援全虛擬化(vmx)了。
從這點可以看出vmware下的vcpu並不充分相容物理機cpu。
上面就是VMware Workstation安裝64位CentOS系統不支援全虛擬化的方法介紹了,使用該方法就能完美解決該問題,全虛擬化為vmx,需將pae改為vmx,你學會了嗎?