web-dev-qa-db-ja.com

LinuxでリブートすることなくVT-xがアクティブになっているかどうかを確認しますか?

Intel Core i5 M 450 @ 2.40GHzを搭載したラップトップがあり、VT-xは搭載されているようですが、VT-dは搭載されていないようです。 Ubuntu 12.04 32ビットを使用していますが、仮想64ビット端末ベースのLinuxを実行したいです。 BIOSでこのVT-x機能が再起動せずにアクティブになっていることを確認するにはどうすればよいですか?

32
719016

msr-toolsからrdmsrを使用して、レジスタを読み取ることができますIA32_FEATURE_CONTROL(address x3a)。このためには、カーネルモジュールmsrをロードする必要があります。

ほとんどのLinuxシステム:

Sudo modprobe msr
Sudo rdmsr 0x3a

3および5は、アクティブになっていることを意味します。

33
scai

使用できます

Sudo kvm-ok

from cpu-checker 最も複雑なロジックを持つIntelでは、kvm-ok checksrdmsr 0x3a(ロックビット)のビット0が設定されている場合、ビット2(SMXモード以外でvirtを使用できるようにする) 、トラステッドブートに関連するもの)も設定する必要があります。 rdmsr 0x3aの出力が1または3以外の場合、kvmを使用できます。 kvmは必要に応じてmsrのビット2を設定します。virtualboxと残りのロジックは同じだと思います。

15
Tobu

Cpu-checkerをインストールし、「kvm-ok」を実行します

CPUが有効になっている場合、次のように表示されます。

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

そうでなければ

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
11
Viswesn

Linuxでは、cpuinfoを確認できます。

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

次を使用できます。

Sudo apt-get update
Sudo apt-get install cpu-checker
kvm-ok
1
ghazouan badr

BIOSでVt-Dが有効になっていることを確認する簡単な方法は、Linuxシステムを使用することです。 BIOSでVT-Dが有効になっており、Iommu=on の中に grub.cfgその後、仮想デバイスを保持するために以下のフォルダー構造が自動的に作成されます。

/sys/kernel/iommu_groups/0/devices/0000:00:00.0

一方、オプションVT-DまたはIommuのいずれかが構成/有効化されていない場合、上記のフォルダー構造は作成されません。この動作は、CentOS 7.4およびUbuntuで確認されています。うまくいけば、この動作は他のオペレーティングシステムでも同様ですが、確認する必要があります。

1
santhosh kumar
systool -m kvm_intel -v | grep nested
systool -m kvm_AMD -v | grep nested

次のいずれかが出力されます。

nested              = "1"

有効になっていることを示します。

0

AMD Ryzenシステムではscaiの答えが機能しないことがわかりました。

しかし、これはインテルでも非常にうまく機能します。

if systool -m kvm_AMD -v &> /dev/null || systool -m kvm_intel -v &> /dev/null ; then
    echo "AMD-V / VT-X is enabled in the BIOS/UEFI."
else
    echo "AMD-V / VT-X is not enabled in the BIOS/UEFI"
fi

systoolは、ほとんどのディストリビューションのsysfsutilsパッケージにあります。)

IntelのVT-D/AMDのIOMMUの場合、このソリューションを思い付きました。

if compgen -G "/sys/kernel/iommu_groups/*/devices/*" > /dev/null; then
    echo "AMD's IOMMU / Intel's VT-D is enabled in the BIOS/UEFI."
else
    echo "AMD's IOMMU / Intel's VT-D is not enabled in the BIOS/UEFI"
fi

(iommuカーネルパラメーターが設定されていない場合でも機能しました。)

0
Forivin