我在 Centos 8 (4.18.0-147.8.1.el8_1.x86_64) 上启用 IOMMU 时遇到问题,并且我开始认为我的 CPU 不支持 VT-d。
上我的 CPU 的 Intel ARK 页面它对 VT-x 和 VT-d 说“是”,但还有以下句子:
本产品仅在 C2 步进上包含 VT-d 支持。可以通过左侧菜单查看步进信息。
我不知道“左侧菜单”是什么”,但如果我查找 CPU 的步进,我会得到以下信息:
$ cat /proc/cpuinfo | grep stepping
stepping : 7
我的问题:
“踩七”来了吗前或者后“踩C2”?
更多信息:
我有以下 UEFI 设置:
- 英特尔虚拟化技术:已启用
- 英特尔(R) I/OAT:禁用
- 英特尔(R) VT-d:已启用
- 以及其他所有功能(除了“限制 CPUID 最大值”已禁用)
要检查 IOMMU 是否已启用,我尝试了:
$ dmesg | grep -E "DMAR|IOMMU"
和
$ virt-host-validate
返回:
ARN(IOMMU 似乎在内核中被禁用。将 intel_iommu=on 添加到内核命令行参数)
我尝试附加到 GRUB_CMDLINE_LINUX 中的设置/etc/default/grub
:
intel_iommu=on
intel_iommu=on iommu=pt
intel_iommu=on iommu=pt iommu=1
然后将更改应用到 grub:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
和
$ sudo dracut --regenerate-all --force