更新日期:20230902

配置硬件直通 IOMMU

nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

验证

cat /etc/default/grub | grep "GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt""

更新引导

update-grub

启用VFIO -Load VFIO modules at boot-

nano /etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

更新配置文件
允许不安全的中断

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

更新虚拟机配置

echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf

屏蔽系统默认显卡驱动【n卡vgpu功能需要】

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

验证

cat /etc/modprobe.d/iommu_unsafe_interrupts.conf | grep  "options vfio_iommu_type1 allow_unsafe_interrupts=1"
cat /etc/modprobe.d/kvm.conf | grep "options kvm ignore_msrs=1"
cat /etc/modprobe.d/blacklist.conf | grep "blacklist nouveau"

更新内核参数

update-initramfs -u
update-initramfs -u -k all

重启

reboot

验证硬件直通是否生效 Verify IOMMU Enabled

dmesg | grep -e DMAR -e IOMMU

附、直通驱动屏蔽——来自网络,未经验证

直通AMD显卡,请使用下面命令

echo “blacklist radeon” >> /etc/modprobe.d/blacklist.conf
echo “blacklist amdgpu” >> /etc/modprobe.d/blacklist.conf

直通NVIDIA显卡,请使用下面命令

echo “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf
echo “blacklist nvidia” >> /etc/modprobe.d/blacklist.conf
echo “blacklist nvidiafb” >> /etc/modprobe.d/blacklist.conf

直通INTEL核显,请使用下面命令,注意!如果使用Gvt-G,请不要使用下面的命令

echo “blacklist snd_hda_intel” >> /etc/modprobe.d/blacklist.conf
echo “blacklist snd_hda_codec_hdmi” >> /etc/modprobe.d/blacklist.conf
echo “blacklist i915” >> /etc/modprobe.d/blacklist.conf