0

0

怎么在Proxmox VE上实现GPU(显卡)直通给虚拟机【PVE教程】

月夜之吻

月夜之吻

发布时间:2026-01-09 02:49:21

|

316人浏览过

|

来源于php中文网

原创

需启用IOMMU并配置vfio-pci驱动实现GPU直通:BIOS开启VT-d/AMD-Vi,内核添加iommu=pt参数,验证IOMMU分组,绑定GPU至vfio-pci,虚拟机中添加PCI设备并使用OVMF。

怎么在proxmox ve上实现gpu(显卡)直通给虚拟机【pve教程】

如果您希望在Proxmox VE环境中将物理GPU直接分配给虚拟机使用,以获得接近原生的图形性能或支持CUDA、AI训练、游戏等场景,则需确保硬件支持并正确配置IOMMU、内核参数及虚拟机设备绑定。以下是实现GPU直通的具体操作步骤:

一、确认CPU与主板支持VT-d(Intel)或AMD-Vi(AMD)并启用IOMMU

GPU直通依赖于硬件级I/O内存管理单元(IOMMU)功能,该功能必须在BIOS/UEFI中开启,并通过内核参数激活。未启用IOMMU将导致PCI设备无法被隔离和分配给虚拟机。

1、重启服务器进入BIOS/UEFI设置界面。

2、查找并启用Intel VT-d(Intel平台)或AMD-Vi / IOMMU(AMD平台)选项,通常位于“Advanced” → “CPU Configuration”或“Northbridge Configuration”中。

3、保存设置并重启,登录Proxmox主机终端。

4、执行命令 dmesg | grep -i iommu,确认输出中包含“AMD-Vi: IOMMU enabled”或“IOMMU enabled”字样。

二、修改GRUB配置启用IOMMU内核参数

Linux内核需加载相应参数以启用IOMMU支持并禁止NVIDIA/AMD驱动在宿主机上抢占GPU设备,否则直通会失败。

1、编辑GRUB配置文件nano /etc/default/grub

2、定位到 GRUB_CMDLINE_LINUX_DEFAULT 行,在引号内追加以下内容(根据CPU厂商二选一):

Intel平台:添加 intel_iommu=on iommu=pt

AMD平台:添加 amd_iommu=on iommu=pt

3、若使用NVIDIA显卡,还需添加 nvidia.NVreg_EnableGpuFirmware=0 以禁用固件加载。

4、执行 update-grub && reboot 使配置生效。

三、验证PCI设备可隔离性与IOMMU分组

直通要求GPU及其关联设备(如音频控制器、桥接器)处于同一IOMMU组且不与其他关键设备共享,否则无法安全解绑。

1、运行脚本生成IOMMU组信息:for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%/devices/*}; printf 'IOMMU Group %s ' \"$n\"; lspci -nns \"${d##*/}\"; done 2>/dev/null | sort -V

2、识别目标GPU设备ID(例如 01:00.0)及其所在IOMMU组编号。

3、检查该组内是否仅含GPU核心与配套音频设备(如 01:00.1),若存在USB控制器、SATA控制器等则不可直通。

四、绑定GPU设备至vfio-pci驱动

需将GPU从宿主机默认驱动(如nouveau、nvidia、radeon、amdgpu)卸载,并强制绑定至vfio-pci驱动,使其可供KVM识别为可直通设备。

1、查看GPU当前驱动:lspci -k -s 01:00.0(将01:00.0替换为实际设备地址)。

2、获取GPU设备的Vendor ID与Device ID:lspci -nn -s 01:00.0,输出形如 [10de:1db6]

3、编辑modprobe配置:echo "options vfio-pci ids=10de:1db6,10de:10f0" > /etc/modprobe.d/vfio.conf(第二ID为音频设备,需一并加入)。

4、屏蔽原驱动并加载vfio模块:echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.confecho "blacklist nvidia" >> /etc/modprobe.d/blacklist.confecho "vfio" >> /etc/modulesecho "vfio_iommu_type1" >> /etc/modulesecho "vfio_pci" >> /etc/modulesecho "vfio_virqfd" >> /etc/modules

5、更新initramfs并重启:update-initramfs -u -k all && reboot

五、在虚拟机中添加GPU设备并启用ACS补丁(如必要)

对于部分主板或芯片组,PCIe拓扑可能缺乏ACS(Access Control Services)支持,导致IOMMU组合并,此时需通过内核参数绕过检查。

1、编辑虚拟机配置文件:nano /etc/pve/qemu-server/100.conf(100为VM ID)。

2、添加PCI设备行:hostpci0: 01:00.0,pcie=1,rombar=1,x-vga=1(若需作为主显示卡);若仅作计算卡,可省略x-vga=1。

3、若IOMMU组异常合并且硬件不支持ACS,可在GRUB中追加 pci=assign-busses pcie_acs_override 参数(仅限测试环境,存在安全风险)。

4、启动虚拟机前,确认其BIOS类型为OVMF(UEFI),并在硬件设置中启用 SCSI Controller → Use OVMF (UEFI)Machine → q35

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

231

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

435

2024.03.01

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

383

2023.09.04

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

72

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

279

2023.11.28

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.12.07

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1347

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

700

2023.06.29

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

3

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.8万人学习

Git 教程
Git 教程

共21课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号