首先编辑GRUB配置文件:root@pve:~#vim/etc/default/grubroot@pve:~#root@pve:~#cat/etc/default/grub#如果你改变这个文件,运行'update-grub'之后更新#/boot/grub/grub.cfg.#有关此文件中选项的完整文档,请参阅:#info-fgrub-n'Simpleconfiguration'GRUB_DEFAULT=0GRUB_TIMEOUT=5GRUB_DISTRIBUTOR=`lsb_release-i-s2>/开发/空||echoDebian`GRUB_CMDLINE_LINUX_DEFAULT="quietintel_iommu=onvideo=efifb:off"GRUB_CMDLINE_LINUX=""#取消注释以启用BadRAM过滤,根据您的需要进行修改#这适用于Linux(无需补丁)和获得#the来自GRUB的内存映射信息(GNUMach,FreeBSD的内核...)#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"#取消注释以禁用图形终端(仅限grub-pc)#GRUB_TERMINAL=console#图形上使用的分辨率terminal#注意你只能使用你的显卡通过VBE支持的模式#你可以在真实的GRUB机智中看到它们h命令`vbeinfo'#GRUB_GFXMODE=640x480#如果您不想让GRUB将“root=UUID=xxx”参数传递给Linux,请取消注释#GRUB_DISABLE_LINUX_UUID=true#取消注释以禁用恢复模式菜单条目的生成#GRUB_DISABLE_RECOVERY="true"#取消注释以在grub启动时发出蜂鸣声#GRUB_INIT_TUNE="4804401"root@pve:~#启动IOMMU支持:GRUB_CMDLINE_LINUX_DEFAULT="quietintel_iommu=onvideo=efifb:off"如果是AMD的CPU:GRUB_CMDLINE_LINUX_DEFAULT="quietamd_iommu=onvideo=efifb:off"更新GRUB:root@pve:~#update-grub生成grub配置文件...找到linux镜像:/boot/vmlinuz-5.11.22-5-pve找到initrd镜像:/boot/initrd.img-5.11.22-5-pveFoundlinux镜像:/boot/vmlinuz-5.11.22-4-pveFoundinitrd镜像:/boot/initrd.img-5.11.22-4-pveFoundmemtest86+镜像:/boot/memtest86+.binFoundmemtest86+multibootimage:/boot/memtest86+_multiboot.bindoneroot@pve:~#添加所需的系统模块(驱动):root@pve:~#root@pve:~#echo"vfio">>/etc/modulesroot@pve:~#echo"vfio_iommu_type1">>/etc/modulesroot@pve:~#echo"vfio_pci">>/etc/modulesroot@pve:~#echo"vfio_virqfd">>/etc/modulesroot@pve:~#root@pve:~#cat/etc/modules#/etc/modules:在启动时加载的内核模块。##这个文件包含了在启动时应该加载的内核模块的名称,每行一个。以“#”开头的行被忽略。#Generatedbysensors-detectonFriSep2417:22:442021#Chipdriverscoretempvfiovfio_iommu_type1vfio_pcivfio_virqfd然后添加模块(驱动)黑名单,即让GPU设备在下次系统启动,并释放vfio驱动的设备:IntelNucleardisplay:echo"blacklistsnd_hda_intel">>/etc/modprobe.d/pve-blacklist.confecho"blacklistsnd_hda_codec_hdmi">>/etc/modprobe.d/pve-blacklist.confecho"blacklisti915">>/etc/modprobe.d/pve-blacklist.confN卡/A卡:echo"blacklistnouveau">>/etc/modprobe.d/pve-blacklist.confecho"blacklistradeon">>/etc/modprobe.d/pve-blacklist.conf如果是N卡,需要在kvm.conf中加入如下配置(老外说是为了避免一些莫名其妙的错误):echo"optionskvmignore_msrs=1">/etc/modprobe.d/kvm.confroot@pve:~#echo"blacklistnouveau">>/etc/modprobe.d/pve-blacklist.confroot@pve:~#echo"blacklistradeon">>/etc/modprobe.d/pve-blacklist.confroot@pve:~#root@pve:~#cat/etc/modprobe.d/pve-blacklist.conf#该文件包含Proxmox不支持的模块列表VE#nidiafb查看错误报告https://bugzilla.proxmox.com/show_bug.cgi?id=701blacklistnvidiafbblacklistnouveaublacklistradeonroot@pve:~#root@pve:~#echo"optionskvmignore_msrs=1">/etc/modprobe.d/kvm.confroot@pve:~#root@pve:~#cat/etc/modprobe.d/kvm.confoptionskvmignore_msrs=1更新内核:root@pve:~#update-initramfs-uupdate-initramfs:生成/boot/initrd.img-5.11.22-5-pveRunning钩子脚本'zz-proxmox-boot'..在新的私有挂载命名空间中重新执行'/etc/kernel/postinst.d/zz-proxmox-boot'。.没有找到/etc/kernel/proxmox-boot-uuids,skippingESPsync.root@pve:~#重启机器:root@pve:~\#重启后查看模块是否正常加载:root@pve:~#lsmod|grepvfiovfio_pci573441vfio_virqfd163841vfio_pciirqbypass1638411vfio_pci,kvmvfio_iommu_type1368641vfio368645vfio_iommu_type1,vfio_pciroot@pve:~#查看#rootln|pcive:~#查表#pcivegrepNV86:00.03Dcontroller[0302]:NVIDIACorporationTU104GL[TeslaT4][10de:1eb8](reva1)root@pve:~#root@pve:~#查看显卡ID,写入配置根@pve:~#lspci-n-s86:0086:00.00302:10de:1eb8(reva1)root@pve:~#root@pve:~#root@pve:~#echo"optionsvfio-pciids=10de:1eb8">/etc/modprobe.d/vfio。confroot@pve:~#https://blog.csdn.net/qq_3392...https://my.oschina.net/u/3981543https://www.zhihu.com/people/...https://segmentfault.com/u/hp...https://juejin.cn/user/331578...https://space.bilibili.com/35...https://cloud.tencent.com/dev...知乎、CSDN、开源中国、师傅、掘金、哔哩哔哩、腾讯云本文使用文章同步助手进行同步
