Thursday, January 15, 2009

VMX Disabled in BIOS

I was trying to build out a full-virt VM, and was disappointed to find get an error:
Can't do --hvm on this system: HVM guest is not supported by your CPU or enabled in your BIOS
I knew that wasn't right: vmx showed up in the cpu flags.

Then I learned a new trick. When we cat /proc/cpuinfo, we are looking straight into the CPU. But... That doesn't mean a feature isn't disabled either in the BIOS or on the motherboard. To see what the system's capabilities, we have to go to /sys. In this case we need to:
$ cat /sys/hypervisor/properties/capabilities
If vmx was working, we'd see a list of hvm capabilites. (Remember: vmx and svm are proprietary, hvm is open.)

On the HP I was working on, virtualization was disabled in the BIOS. That seemed strange, until a co-worker found the setting in the BIOS security settings. Oh, that makes sense-- VM's are a security risk. Either that or it cuts into the number of physical machines HP sells.

Now that it is enabled in BIOS, we get:
$ cat /sys/hypervisor/properties/capabilities
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
Molto bueno.

In all fairness, it's not only an HP issue. I found that Compaq is disabling this also.

What's that you say? They are the same company? Nooooo.

No comments:

Post a Comment