如何确定BIOS中是否启用了CPU VT扩展?

我知道判断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 

然后查找vmxlm标志

但是,似乎即使在BIOS中禁用了Intel Virtual Technology扩展(即VT或VT-x), /proc/cpuinfo也会报告相同的标志。

那么,如果VT实际启用而没有重新装箱,我怎么能从Linux命令行(特别是我的Ubuntu 10.10)中找到答案呢?

在Jo-Erlend Schinstad的回答基础上:

安装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 

似乎可以直接使用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

也许kvm-ok可以帮到你。 它将检查你的cpuflags,然后查看你是否有一个kvm设备,最后它将检查BIOS中是否禁用了虚拟化。

当然,这意味着如果您没有安装kvm,它将会失败。 如果你使用kvm,你可能无法同时使用VMWare,反之亦然。 但是,只有在实际运行VM时才会使用kvm。