跳转至

KVM PCI 直通## 1. 通过编辑 grub 配置文件启用 IOMMU。对于 Intel,引导计算机,并将intel_iommu=on附加到 grub 配置文件中GRUB_CMDLINE_LINUX行的末尾。```

vi /etc/default/grub ... GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... intel_iommu=on ...

对于 AMD,引导计算机,并将`amd_iommu=on`附加到 grub 配置文件中`GRUB_CMDLINE_LINUX`行的末尾。```
vi /etc/default/grub
...
GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... amd_iommu=on
...

2. 刷新 grub.cfg 文件并重新引导主机以使这些更改生效:```

grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

## 3. 防止驱动程序与Device绑定。```
grubby --args="pci-stub.ids=10de:11fa" --update-kernel DEFAULT

10de:11fa:设备总线id,可以通过lspci -Dnn获取

4. 可选:函数透传如果某些 GPU 功能(例如音频)由于支持限制而无法传递到 VM,您可以修改 IOMMU 组内端点的驱动程序绑定,以仅传递必要的 GPU 功能。

  • 将 GPU 设置转换为 XML,并记下要阻止连接到主机驱动程序的端点的 PCI 地址。
  • 防止端点连接到主机驱动程序。- driverctl set-override 0000:02:00.1 vfio-pci

参考文献[1]. https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.0/html/installation_guide/appe-configuring_a_hypervisor_host_for_pci_passthrough#Enabling_IOMMU_Manually

[2]. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/assembly_managing-gpu-devices-in-virtual-machines_configuring-and-managing-virtualization#proc_assigning-a-gpu-to-a-virtual-machine_assembly_managing-gpu-devices-in-virtual-machines

[3]. 命令行安装KVM虚拟化系统