¿Cómo determinar si las extensiones de CPU VT están habilitadas en BIOS?

43

Conozco el comando para determinar si una CPU puede admitir VMware Workstation 8 o 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

y luego busque las banderas vmx y lm

Pero, parece que incluso si las extensiones de Intel Virtual Technology (es decir, VT o VT-x) están deshabilitadas en el BIOS, /proc/cpuinfoinformarán los mismos indicadores.

Entonces, ¿cómo puedo averiguar desde la línea de comandos de Linux (específicamente Ubuntu 10.10 en mi caso) si VT está realmente habilitado sin volver a colocar la caja?

pcapademic
fuente

Respuestas:

50

Sobre la base de la respuesta de Jo-Erlend Schinstad :

Instalar cpu-checker

$ sudo apt-get update
$ sudo apt-get install cpu-checker

Entonces revisa:

$ kvm-ok

Si la CPU está habilitada, debería ver algo como:

INFO: /dev/kvm exists
KVM acceleration can be used

De lo contrario, podría ver algo como:

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
pcapademic
fuente
14

Quizás kvm-okpueda hacer el truco por ti. Verificará sus cpuflags, luego verá si tiene un dispositivo kvm y, finalmente, verificará si la virtualización está deshabilitada en la BIOS.

Por supuesto, esto significa que fallará si no tiene instalado kvm. Si usa kvm, probablemente no podrá usar cosas VMWare al mismo tiempo, y viceversa. Sin embargo, kvm solo se usará cuando realmente ejecute una VM.

Jo-Erlend Schinstad
fuente
1
Sería interesante saber qué verifica kvm-ok, o verifica VMware Player, para determinar la configuración del BIOS. Entonces, uno podría verificar eso directamente.
pcapademic
1
La página del manual dice «Si se ejecuta como root, verificará los MSR de su CPU para ver si VT está deshabilitado en el BIOS». Aunque no tengo idea de lo que eso significa :)
Jo-Erlend Schinstad
Suena bien, también el chico de abajo lo confirma.
Bruno Pereira
14

Parece que uno puede verificar directamente con las herramientas msr

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

El registro debería regresar 5si las extensiones están habilitadas, y regresar 1si está deshabilitado.

pcapademic
fuente
3
¿Sabe cómo distinguir la falta de soporte de la CPU de no estar habilitado en la BIOS?
nealmcb
Gracias, esto funcionó para mí en Debian para confirmar que no me estaba volviendo loco cuando vmx no apareció en / proc / cpuinfo pero todavía me permitió arrancar máquinas virtuales :) estas instrucciones en alemán son las más claras que he encontrado que indican que el valor de retorno de 7 que obtuve también está bien: heise.de/ct/hotline/…
Dmitri DB
En lugar de 5o 1, me sale 0. Tal vez eso significa falta de soporte de la CPU.
Donn Lee