我在 BIOS 中啟用了 VT-x。我正在運行 qemu/kvm/Manjaro。lscpu
說
$ lscpu
Architecture: x86_64
Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Flags: ... vmx ...
Virtualization features:
Virtualization: VT-x
Vulnerabilities:
Itlb multihit: KVM: Mitigation: VMX disabled
此外,
$ sudo rdmsr -f 2:0 0x3A
5
意思就是
- VMX 設定已鎖定
- VMX 在 SMX(「安全模式擴充」)狀態下被停用
- VMX 在 SMX 狀態之外啟用
這個答案給了我希望:如果kvm
加載,則 VMX 正在工作。事實上,qemu
隨著kvm
它的加速器運作得很好(或至少看起來)。那麼,為什麼它會顯示 VMX 因多重攻擊漏洞而被停用呢?
運行範例qemu
:
$ qemu-system-x86_64 -nographic -vga none -net none -nodefaults -machine q35 -accel kvm -cpu host -smp sockets=1,dies=1,cores=2,threads=2 -m 512M ...
QEMU 6.0.0 monitor - type 'help' for more information
(qemu) info kvm
info kvm
kvm support: enabled
到目前為止,來賓(在本例中為 pfSense)運作良好。
答案1
謝謝你的問題...這對我來說也很有趣...所以,讀完這篇文章後,https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html 很明顯:vmx 看起來存在並且沒有被 BIOS 停用。存在漏洞,但現在 vmx 未在使用中,因此只是被停用。當某些 kvm 運行並使用 vmx 時,情況發生了變化:
$ cat /sys/devices/system/cpu/vulnerabilities/itlb_multihit
KVM: Mitigation: Split huge pages
也就是說,該漏洞確實存在,但可以透過 kvm 透過拆分頁面來緩解。
答案2
簡而言之,即使多重攻擊漏洞緩解措施可能會暫時停用 VMX,您系統的 VT-x 仍然啟用並正常運作。 KVM 和虛擬機器的成功運作表明 VT-x 正在按照預期用於硬體加速。因此,無需擔心報告的多次命中漏洞導致 VMX 停用的情況。