How to check if VT is enabled in the BIOS?

How to check if VT is enabled in the BIOS?

Hey guys,

I want to be able to check through the command line if VT is enabled
in the BIOS for scripting purposes. I know we can check if VT is
supported by the chip using the following:

But is there any way to check if its enabled in the BIOS? Perhaps
there is a small test to run that uses VT that can fail if its not
enabled in the BIOS?

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The command biosdecode gives you the information about the BIOS it knows about (see for more information). I have tried it on a couple of systems, but it does not speifiy anything for VT. biosdecode started out as part of dmidecode (which gives a ton of information). But, dmidecode does not yield any results either. Maybe the information necessary has not made it into either biosdecode or dmidecode yet for detection/reporting VT setting. Anyone else?

dmidecode -u dumps the bios information, but I am not sure where the VT information lies. Trial and error could give you the information. Compare a dump with VT off on one with VT on. If there is only 1 piece of information different, you have what you need. I afraid it would be specific to the BIOS(/platform) you are running.

Out on SourceForge is BIOS Writer (you can download it from:
I had to play with the file bioswriter.h (comment out include of sys/io.h) to get it to compile. I took a snapshot of the BIOS settings with VT turned on, rebooted the system, went into the BIOS and turned VMX off, rebooted the system and took another snapshot of the BIOS settings. There were 3 bytes (of the 128) that were different. I reset the system, went into the BIOS and turned VMX on again, rebooted and took another snapshot. The first 32-bits differed (2 of it's bytes, which were changed every time I changed the settings). The additional change was always a single bit. Try this on your system to see if this will allow you to check it on your system.

here is a simple DOS utility that checks for it:

basically, you need to check

1. is processor intel?

2. CPUID.1:ECX[5] is 1 if virtualization is supported by HW

3. MSR_IA32_FEATURE_CONTROL bit2:bit0 can't be 0:1 - that means VMX is disabled by BIOS

Have a look at Xen code...

Leave a Comment

Please sign in to add a comment. Not a member? Join today