当前位置: 首页 > news >正文

ubuntu中实现显卡直通(Passthrough)

在 Proxmox VE (PVE) 中实现显卡直通(Passthrough),核心在于将显卡从宿主机内核中“屏蔽”,并将其委派给 vfio-pci 驱动。以下是经过实战验证的标准化步骤:


1. 开启主板 BIOS/UEFI 设置

首先确保硬件层面已解锁:

  • VT-d / AMD-Vi: 必须设置为 Enabled

  • IOMMU: 必须设置为 Enabled

  • CSM: 建议 Disabled(使用纯 UEFI 模式可以减少很多奇怪的报错)。

  • 主显卡选择: 如果可能,将核显(iGPU)设为首选,或者插在非直通槽位。


2. 修改 GRUB/系统内核参数

编辑 PVE 的启动配置文件。

  • 若使用 GRUB (通常情况):

    编辑 /etc/default/grub,找到 GRUB_CMDLINE_LINUX_DEFAULT

    • Intel CPU:

      quiet intel_iommu=on iommu=pt

    • AMD CPU:

      quiet amd_iommu=on iommu=pt

  • 更新配置:

    Bash
     
    update-grub
    

3. 加载内核模块

编辑 /etc/modules 文件,添加以下四个模块,确保系统启动时加载 VFIO:

Plaintext
 
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

4. 绑定显卡 ID 到 VFIO (关键步骤)

你需要告诉系统哪张显卡不需要宿主机驱动。

  1. 查找显卡 ID:

    运行 lspci -nn | grep -i nvidia (或 amd/vga)。你会看到类似 01:00.001:00.1

    记下末尾方括号里的 ID,例如 [10de:2484] [10de:228b]

  2. 创建配置文件:

    新建 /etc/modprobe.d/vfio.conf,写入(替换为你自己的 ID):

    Plaintext
     
    options vfio-pci ids=10de:2484,10de:228b disable_vga=1
    
  3. 屏蔽宿主机驱动:

    为了防止 PVE 抢占显卡,创建 /etc/modprobe.d/pve-blacklist.conf

    Plaintext
     
    blacklist nvidiafb
    blacklist nvidia
    blacklist radeon
    blacklist nouveau
    
  4. 应用更改:

    Bash
     
    update-initramfs -u -k all
    reboot
    

5. 虚拟机 (VM) 配置

在 PVE Web 界面中:

  1. 机型 (Machine): 选择 q35

  2. BIOS: 选择 OVMF (UEFI)

  3. 添加 PCI 设备:

    • 选择你的显卡。

    • 勾选 All Functions (同时直通音频)。

    • 勾选 ROM-Bar

    • 勾选 PCI-Express

    • 如果是作为主显卡使用,勾选 Primary GPU(注意:勾选后 PVE 控制台会黑屏,需通过远程桌面或 Sunshine 进入 VM)。


常见问题排查

  • IOMMU 中断错误: 如果启动 VM 报错 RTFMInterrupt Remapping,在 /etc/modprobe.d/vfio.conf 添加:

    options vfio_iommu_type1 allow_unsafe_interrupts=1

  • 显卡 ROM 丢失: 部分显卡需要手动提供 ROM 文件。可以从 TechPowerUp 下载对应的 BIOS,并在 VM 配置文件 (/etc/pve/qemu-server/VMID.conf) 中指定:

    hostpci0: 0000:01:00,pcie=1,romfile=your_rom_name.bin

完成后建议重启整个宿主机,然后启动虚拟机并安装对应的官方驱动即可。

http://www.jsqmd.com/news/564793/

相关文章:

  • 【2025最新】基于SpringBoot+Vue的大学生租房平台管理系统源码+MyBatis+MySQL
  • Venera漫画阅读器:跨平台智能阅读的终极指南
  • 2026乌鲁木齐财务记账公司排行榜年度推荐首选 - 精选优质企业推荐榜
  • OpenRocket:让每个人都能安全设计火箭的开源仿真神器
  • Pixel Epic智识终端效果展示:医疗健康行业深度研报生成案例
  • 2026精选洋葱网眼袋定制厂家,实力与口碑并存,网袋/蔬菜网袋/椰枣网眼袋/水果网袋,洋葱网眼袋供应厂家哪家好 - 品牌推荐师
  • 突破原神60帧限制:让高刷屏释放全部潜力
  • Translategemma-27b-it与OCR结合:图片翻译完整流程
  • LeagueAkari:英雄联盟智能辅助工具完全指南
  • 无锡高端腕表维修全解析:江南高湿环境下的科学养护与六大城市联保 - 时光修表匠
  • 直链解析与高速下载:网盘直链下载助手全方位应用指南
  • 2026乌鲁木齐代理记账公司排行榜,年度首选权威推荐 - 精选优质企业推荐榜
  • 实战指南:在快马平台用trae构建电商购物车状态管理系统
  • Qwen-Image-2512-Pixel-Art-LoRA 保姆级部署指南:Linux服务器环境搭建详解
  • 3步构建极速阅读系统:轻量级PDF工具SumatraPDF新手入门指南
  • 从GTSDB到YOLO:手把手教你构建交通标志检测数据集
  • Blender 3MF插件全攻略:从设计到3D打印的无缝衔接技术
  • 资深嵌入式行业人(十年以上)的未来之路
  • BDD100k数据集预处理全攻略:从JSON标签到YOLO格式的完整转换与类别合并实战
  • Win11Debloat:轻松解决Windows 11臃肿问题的智能优化工具
  • 智启核纪元:人工智能重构核工业的落地全景、价值变革与未来图景
  • WeChatMsg: 数据备份与本地存储的创新方法
  • 如何快速掌握CodeMaker:IntelliJ IDEA自定义代码模板的完整指南
  • 2026乌鲁木齐代理记账公司排行榜,权威推荐首选服务商 - 精选优质企业推荐榜
  • STM32标准库串口接收全攻略:从基础中断到DMA双缓冲实战解析
  • 系统架构设计师常见高频考点总结之数据库
  • Magnetissimo爬虫实战:如何自定义添加新的种子源
  • DeepAnalyze效果展示:社交媒体长帖→核心立场判断+隐含偏见识别+传播风险预警
  • OpenClaw进阶篇:浏览器自动化——让AI帮你操作网页
  • Lichee_RV开发板实战:如何用dhrystone 2.2测试RISC-V CPU性能(附完整避坑指南)