我是靠谱客的博主 真实自行车,最近开发中收集的这篇文章主要介绍解决VMware下64位linux系统不支持全虚拟化的办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、前提

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下64位linux系统不支持全虚拟化的办法的全部内容,希望文章能够帮你解决解决VMware下64位linux系统不支持全虚拟化的办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(128)

评论列表共有 0 条评论

立即
投稿
返回
顶部