check if VT-x is activated without having to reboot in Linux?

You can use rdmsr from msr-tools to read register IA32_FEATURE_CONTROL (address 0x3a). The kernel module msr has to be loaded for this.

On most Linux systems:

sudo modprobe msr
sudo rdmsr 0x3a

Values 3 and 5 mean it's activated.


You can use

sudo kvm-ok

from cpu-checker. On Intel, which has the most complicated logic, kvm-ok checks that if bit 0 of rdmsr 0x3a (the lock bit) is set, bit 2 (which allows virt use outside of SMX mode, something to do with trusted boot) must also be set. If the output of rdmsr 0x3a is anything but 1 or 3, you will be able to use kvm. kvm will set bit 2 of the msr if necessary, I expect virtualbox and the rest have the same logic.


Install cpu-checker and run "kvm-ok"

If the CPU is enabled, you should see something like:

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

othewise

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

you can use:

sudo apt-get update
sudo apt-get install cpu-checker
kvm-ok

In linux you can check cpuinfo:

cat /proc/cpuinfo| egrep "vmx|svm"