编辑
2021-12-01
DevOps
00
请注意,本文编写于 885 天前,最后修改于 643 天前,其中某些信息可能已经过时。

目录

参数设置
VFIO(可选)
虚拟机设置
参考链接

参数设置

修改/etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT,按CPU类型分别修改为

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

然后修改/etc/modules,一个一行:

vfio vfio_iommu_type1 vfio_pci vfio_virqfd

然后屏蔽驱动

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

避免 43 问题

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

VFIO(可选)

为什么是可选呢?因为部分机器执行此操作后可能无法输出到外接显示器,如出现问题请尝试撤回这一步。

首先,查看显卡的ID。我这里有三张显卡,ID在前面:

root@pve:~# lspci -v | grep VGA 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM] (prog-if 00 [VGA controller]) 04:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) (prog-if 00 [VGA controller]) 09:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30) (prog-if 00 [VGA controller])

以N卡为例,ID为02:00:0,继续执行:

root@pve:~# lspci -n -s 02:00 02:00.0 0300: 1002:6778 02:00.1 0403: 1002:aa98

会得到显卡和显卡内置音频的另一个ID,我这里是1002:6778和1002

。 接下来把这两个ID加入VFIO(记得ID改成自己的!):

echo "options vfio-pci ids=1002:6778,1002:aa98 disable_vga=1"> /etc/modprobe.d/vfio.conf

如出现无法输出到外接显示器可以试试以下,如还无法使用请清空vfio.conf。

echo "options vfio-pci ids=1002:6778,1002:aa98"> /etc/modprobe.d/vfio.conf

然后应用更改:

update-grub update-initramfs -k -a all

重启PVE主机。

虚拟机设置

类型为 q35,需为efi。添加显卡添加第一个后面是.0的就行。

参考链接

Proxmox VE 直通显卡方案及解决N卡Code43

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:mereith

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!