我知道判断 CPU 是否支持 VMware Workstation 8 或 VMware Player 4 的命令:
$ grep flags /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp *lm* constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl *vmx* est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
然后寻找虚拟机和流明旗帜
但是,即使在 BIOS 中禁用英特尔虚拟技术扩展(即 VT 或 VT-x),似乎也会/proc/cpuinfo
报告相同的标志。
那么,如何才能从 Linux 命令行(在我的情况下具体是 Ubuntu 10.10)中确定 VT 是否真的启用,而无需重新装箱?
答案1
构建于乔·埃伦德·辛斯塔德的回答:
安装 cpu-checker
$ sudo apt-get update
$ sudo apt-get install cpu-checker
然后检查:
$ kvm-ok
如果 CPU 已启用,您应该会看到类似以下内容:
INFO: /dev/kvm exists
KVM acceleration can be used
否则,您可能会看到类似以下内容:
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
INFO: KVM (vmx) is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used
答案2
也许kvm-ok
可以帮到你。它会检查你的 cpuflags,然后看看你是否有 kvm 设备,最后它会检查 bios 中是否禁用了虚拟化。
当然,这意味着如果您没有安装 kvm,它将失败。如果您使用 kvm,您可能无法同时使用 VMWare,反之亦然。但是,只有在您实际运行 VM 时才会使用 kvm。
答案3
似乎可以直接使用 msr-tools 检查
http://linux.koolsolutions.com/2009/09/19/howto-using-cpu-msr-tools-rdmsrwrmsr-in-debian-linux/
$ sudo apt-get update
$ sudo apt-get install msr-tools
$ sudo modprobe msr
$ sudo rdmsr 0x3A
5
如果扩展已启用,则寄存器应该返回,如果扩展已禁用,则寄存器应该返回1
。