2012-06-20 18 views
24

我有一台笔记本电脑与英特尔酷睿i5 M 450 @ 2.40GHz这显然有VT - X,但不是VT - D。我有Ubuntu 12.04 32位,但希望有一个基于虚拟64位终端的Linux在上面运行。如何知道BIOS是否启用了此VT-x功能而无需重新启动?检查VT-x是否激活而不必在Linux中重新启动?

回答

27

您可以使用RDMSRMSR工具读取寄存器IA32_FEATURE_CONTROL(地址0x3a)。必须为此加载内核模块msr

在大多数Linux系统:

sudo modprobe msr 
sudo rdmsr 0x3a 

价值观35意味着它激活。

+1

'须藤RDMSR 0x3a'给我'5' – 719016

+1

据我所知3和5意味着VT-x被激活。 – scai

+4

下面是关于这些MSR位的更多信息:http://www.thomas-krenn.com/en/wiki/Activating_the_Intel_VT_Virtualization_Feature http://security.stackexchange.com/questions/15555/can-a-hypervisor-rootkit-enable硬件辅助虚拟化 - 什么时候有蜜蜂 – Tobu

5

在linux下可以cpuinfo中检查:

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

仅当CPU支持VT-x时才会显示,而不是在BIOS中激活。 – scai

+0

你确定吗?当我进入我的虚拟机时,它给了我一个空行,但是我的CPU支持amd-v?在cpu-z中,即使禁用BIOS中的安全虚拟机,我也可以看到amd-v? – Bytemain

+0

@Betterdev我不确定虚拟CPU是否相关。无论如何,通过说一个CPU信息工具报告AMD-V的存在,尽管由于您在固件中禁用SVM而无法使用,您证明了scai的观点...... –

12

您可以从cpu-checker使用

sudo kvm-ok 

。在具有最复杂逻辑的Intel上,kvm-ok checks如果位0的rdmsr 0x3a(锁定位)被设置,位2(允许在SMX模式之外使用virt,与可信任引导有关)也必须是组。如果rdmsr 0x3a的输出不是或,您将可以使用kvm。如果有必要,kvm会设置msr的第2位,我期望virtualbox和其他的逻辑具有相同的逻辑。

9

安装CPU,检查和运行 “KVM-OK”

如果CPU已启用,您应该看到类似:

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 
+1

'kvm-ok'仅适用于ubuntu系统。它不能用在debian或红帽子上。 – shgnInc

+4

在RHEL衍生产品上,我们有'virt-host-validate',它由'libvirt-client'提供 – xenithorb