讲师中心 微信公众号
AI工具推荐 视频效率加速

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

千辰同学_6530

千辰同学_6530

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

|

656人浏览过

|

来源于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组且不与其他关键设备共享,否则无法安全解绑。

Wikclawpedia Archive Access
Wikclawpedia Archive Access

访问、搜索、检索并提交 Wikclawpedia 代理档案中经核实的代理、平台、瞬间、语录和创作者条目。

下载

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

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

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

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

509

2023.09.22

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

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

1638

2024.03.01

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

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

1098

2023.09.04

printf用法大全
printf用法大全

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

608

2023.06.20

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

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

989

2023.11.28

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

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

337

2023.12.07

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

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

3610

2023.06.21

如何安装LINUX
如何安装LINUX

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

3133

2023.06.29

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

0

2026.09.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn