Software Archive
Read-only legacy content
17061 Discussions

How to check if VT is enabled in the BIOS?

akshay_abd
Beginner
1,434 Views

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:

http://www.howtogeek.com/howto.....pports-vt/

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?

0 Kudos
5 Replies
Steven_T_Intel
Employee
1,434 Views
The command biosdecode gives you the information about the BIOS it knows about (see http://linux.die.net/man/8/biosdecode 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?

0 Kudos
Steven_T_Intel
Employee
1,434 Views
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.
Stev
0 Kudos
Steven_T_Intel
Employee
1,434 Views
Out on SourceForge is BIOS Writer (you can download it from:
http://sourceforge.net/project/showfiles.php?group_id=2965).
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.
0 Kudos
vid512
Beginner
1,434 Views
here is a simple DOS utility that checks for it: http://board.flatassembler.net/topic.php?t=5748

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
0 Kudos
r_othman_s
Beginner
1,434 Views
Have a look at Xen code... http://xen.org/download/
0 Kudos
Reply