719*_*016 34 linux virtualization virtualbox
我的笔记本电脑配备Intel Core i5 M 450 @ 2.40GHz,显然有VT-x而不是VT-d.我有Ubuntu 12.04 32位但希望在它上面运行一个基于64位终端的虚拟Linux.如何知道BIOS是否已激活此VT-x功能而无需重启?
sca*_*cai 33
您可以使用RDMSR从MSR工具读取寄存器IA32_FEATURE_CONTROL(地址0x3a).必须为此加载内核模块msr.
在大多数Linux系统上:
sudo modprobe msr
sudo rdmsr 0x3a
Run Code Online (Sandbox Code Playgroud)
值3和5意味着它被激活.
Tob*_*obu 15
您可以使用
sudo kvm-ok
Run Code Online (Sandbox Code Playgroud)
来自cpu-checker.在具有最复杂逻辑的Intel上,kvm-ok 检查如果rdmsr 0x3a(锁定位)的位0 置位,则位2(允许在SMX模式之外使用virt,与可信引导有关)也必须设置.如果输出rdmsr 0x3a不是1或3,则可以使用kvm.如果需要,kvm将设置msr的第2位,我希望virtualbox和其余的具有相同的逻辑.
Vis*_*esn 11
安装cpu-checker并运行"kvm-ok"
如果CPU已启用,您应该看到如下内容:
INFO: /dev/kvm exists
KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
在linux中你可以检查cpuinfo:
cat /proc/cpuinfo| egrep "vmx|svm"
Run Code Online (Sandbox Code Playgroud)
您可以使用:
sudo apt-get update
sudo apt-get install cpu-checker
kvm-ok
Run Code Online (Sandbox Code Playgroud)
我发现 scai 的答案不适用于我的 AMD Ryzen 系统。
然而,这对我来说非常有效,即使在英特尔上也是如此:
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
Run Code Online (Sandbox Code Playgroud)
(在大多数发行版的软件包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
Run Code Online (Sandbox Code Playgroud)
(如果未设置 iommu 内核参数,它甚至对我有用。)
| 归档时间: |
|
| 查看次数: |
57746 次 |
| 最近记录: |