I have a laptop with Intel Core i5 M 450 @ 2.40GHz which apparently has VT-x but not VT-d. I have Ubuntu 12.04 32bit but would like to have a virtual 64bit terminal-based Linux running on it. How do I know if the BIOS has this VT-x feature activated without having to reboot?
相关问题
- Is shmid returned by shmget() unique across proces
- how to get running process information in java?
- Error building gcc 4.8.3 from source: libstdc++.so
- Why should we check WIFEXITED after wait in order
- Null-terminated string, opening file for reading
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:
Values
3
and5
mean it's activated.you can use:
I found that scai's answer doesn't work on my AMD Ryzen systems.
This however works really well for me, even on Intel:
(
systool
is found in thesysfsutils
package on most distros.)For Intel's VT-D / AMD's IOMMU, I came up with this solution:
(It even worked for me if the iommu kernel parameters are not set.)
One of these should output:
Which indicates it is enabled.
A simple approach to confirm that Vt-D is enabled in the BIOS is through the Linux system. If the VT-D is enable in the BIOS and
Iommu=on
in thegrub.cfg
then the below folder structure is created automatically to hold the Virtual devices./sys/kernel/iommu_groups/0/devices/0000:00:00.0
Whereas if either one of the options VT-D or Iommu is not configured/enabled then the above mentioned folder structure is not created. This behavior is confirmed in CentOS 7.4 and Ubuntu. Hopefully this behavior is similar for other operating systems as well but this would need to be confirmed.
In linux you can check cpuinfo: