以下是2025年最新的PVE显卡直通配置指南,适用于Intel/AMD平台及NVIDIA/AMD显卡:
一、基础环境准备
-
硬件要求:
- BIOS开启VT-d(Intel)或AMD-Vi(AMD)虚拟化支持
- 建议关闭CSM并启用UEFI模式
- 多GPU系统需注意PCIe插槽分配(避免共用IOMMU组)
-
软件版本:
- Proxmox VE 8.3+(推荐)
- 内核版本≥6.2(无需配置vfio_virqfd模块)
二、关键配置步骤
1. 启用IOMMU(Intel平台示例)
# 修改GRUB配置
vi /etc/default/grub
# 替换为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init pcie_acs_override=downstream"
# AMD平台替换为:amd_iommu=on
# 更新配置
update-grub
2. 加载VFIO模块
echo -e "vfio\nvfio_iommu_type1\nvfio_pci" >> /etc/modules
update-initramfs -u
3. 屏蔽默认驱动(NVIDIA示例)
echo -e "blacklist nouveau\nblacklist nvidia*" > /etc/modprobe.d/pve-blacklist.conf
# AMD显卡需添加:blacklist amdgpu
4. 绑定PCI设备
# 查询设备ID
lspci -nn | grep -i vga
# 输出示例:01:00.0 VGA [0300]: NVIDIA Corporation GA102 [10de:2204]
# 创建绑定配置
echo "options vfio-pci ids=10de:2204" > /etc/modprobe.d/vfio.conf
三、虚拟机配置
-
创建虚拟机时:
- 机型选择
q35
(UEFI启动) - 勾选
PCI-Express
和所有功能
选项
- 机型选择
-
添加PCI设备:
qm set 100 -hostpci0 01:00.0,rombar=0 # 或通过Web界面添加
-
Windows虚拟机特别配置:
- 安装VirtIO驱动后添加显卡
- 需关闭内存Ballooning功能
四、验证与排错
-
验证IOMMU:
dmesg | grep -i -e DMAR -e IOMMU # 应显示"DMAR: IOMMU enabled"
-
检查VFIO绑定:
lspci -nnk | grep -i vfio # 正确输出应显示"Kernel driver in use: vfio-pci"
-
常见问题:
- 若出现
Error 43
(NVIDIA显卡):qm set 100 -args '-set device.hostpci0.x-vga=1'
- 显示器无输出时尝试添加
video=efifb:off
参数
- 若出现
五、高级应用
-
多GPU直通:
- 使用
pcie_acs_override=downstream
拆分IOMMU组 - 每个虚拟机分配不同PCIe插槽的显卡
- 使用
-
容器共享GPU(LXC方案):
lxc.cgroup2.devices.allow: c 226:0 rwm lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional
2025年新变化:PVE 8.3+已原生支持SR-IOV虚拟化,可配合NVIDIA vGPU实现多实例共享。建议优先使用OVMF(UEFI)固件而非SeaBIOS。
原创文章,作者:OXIDA,如若转载,请注明出处:https://www.lifeto.fun/archives/272