一、确认主板和CPU是否支持VT-d功能
要开启硬件直通之前,需要确定机器的CPU及主板是否支持VT-d
技术。
1、查询CPU是否支持VT-d,请前往以下相应的官网进行查询,若支持,则可以进行硬件直通。
Intel用户请前往 官网 进行查询;
AMD用户请前往 官网 进行查询。
2、主板BIOS里的VT-d已开启,此处不过多进行介绍。
二、开启IOMMU功能
1、编辑/etc/default/grub
,输入命令:
nano /etc/default/grub
在打开的文档中找到GRUB_CMDLINE_LINUX_DEFAULT="quiet"
这一行,根据以下方式进行修改。
对于Intel CPU
用户,将该行修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"
对于AMD CPU
用户,将该行修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"
说明:
pcie_acs_override=downstream,multifunction
用于拆分iommu,如果不拆分iommu,当两个设备及以上同时直通,其中一个就会显示占用。
修改完成后,按Ctrl+S
保存,按Ctrl+X
退出编辑器。
2、然后输入命令更新grub
:
update-grub
三、加载相应的内核模块
1、编辑/etc/modules
,输入命令:
nano /etc/modules
添加以下内容:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
修改完成后,按Ctrl+S
保存,按Ctrl+X
退出编辑器。
2、然后输入命令更新内核参数:
update-initramfs -k all -u
3、重启系统:
reboot
四、验证是否开启IOMMU
1、重启之后输入命令:
dmesg | grep iommu
如果出现以下类似内容,则说明开启成功。
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.85-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt
[ 0.078277] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.15.85-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt
[ 0.553650] iommu: Default domain type: Passthrough (set via kernel command line)
[ 0.633137] pci 0000:ff:0b.0: Adding to iommu group 0
[ 0.633156] pci 0000:ff:0b.1: Adding to iommu group 0
[ 0.633173] pci 0000:ff:0b.2: Adding to iommu group 0
[ 0.633190] pci 0000:ff:0b.3: Adding to iommu group 0
[ 0.633313] pci 0000:ff:0c.0: Adding to iommu group 1
[ 0.633331] pci 0000:ff:0c.1: Adding to iommu group 1
[ 0.633350] pci 0000:ff:0c.2: Adding to iommu group 1
[ 0.633368] pci 0000:ff:0c.3: Adding to iommu group 1
...
2、查询直通组,输入以下命令:
find /sys/kernel/iommu_groups/ -type l
如果出现以下类似内容,则代表开启直通成功;反之没有任何内容,则没有开启。
/sys/kernel/iommu_groups/17/devices/0000:ff:16.1
/sys/kernel/iommu_groups/45/devices/0000:03:00.0
/sys/kernel/iommu_groups/35/devices/0000:00:05.4
/sys/kernel/iommu_groups/7/devices/0000:ff:13.1
/sys/kernel/iommu_groups/25/devices/0000:ff:17.7
/sys/kernel/iommu_groups/25/devices/0000:ff:17.5
/sys/kernel/iommu_groups/25/devices/0000:ff:17.6
...
评论区