Intel Core i5 M 450 @ 2.40GHzを搭載したラップトップがあり、VT-xは搭載されているようですが、VT-dは搭載されていないようです。 Ubuntu 12.04 32ビットを使用していますが、仮想64ビット端末ベースのLinuxを実行したいです。 BIOSでこのVT-x機能が再起動せずにアクティブになっていることを確認するにはどうすればよいですか?
msr-toolsからrdmsrを使用して、レジスタを読み取ることができますIA32_FEATURE_CONTROL(address x3a)。このためには、カーネルモジュールmsrをロードする必要があります。
ほとんどのLinuxシステム:
Sudo modprobe msr
Sudo rdmsr 0x3a
値3
および5
は、アクティブになっていることを意味します。
使用できます
Sudo kvm-ok
from cpu-checker 最も複雑なロジックを持つIntelでは、kvm-ok checksrdmsr 0x3a
(ロックビット)のビット0が設定されている場合、ビット2(SMXモード以外でvirtを使用できるようにする) 、トラステッドブートに関連するもの)も設定する必要があります。 rdmsr 0x3a
の出力が1または3以外の場合、kvmを使用できます。 kvmは必要に応じてmsrのビット2を設定します。virtualboxと残りのロジックは同じだと思います。
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
Linuxでは、cpuinfoを確認できます。
cat /proc/cpuinfo| egrep "vmx|svm"
次を使用できます。
Sudo apt-get update
Sudo apt-get install cpu-checker
kvm-ok
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で確認されています。うまくいけば、この動作は他のオペレーティングシステムでも同様ですが、確認する必要があります。
systool -m kvm_intel -v | grep nested
systool -m kvm_AMD -v | grep nested
次のいずれかが出力されます。
nested = "1"
有効になっていることを示します。
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カーネルパラメーターが設定されていない場合でも機能しました。)