【笔记】如何更简单优雅的在Proxmox VE直通显卡

【笔记】如何更简单优雅的在Proxmox VE直通显卡

Admin
2024-02-11 / 0 评论 / 75 阅读 / 正在检测是否收录...
笔者在网上见了很多的直通显卡教程,但是经过我的研究,某些选项是不必要的,我们可以舍弃掉这些设置,当然每台设备的体质不同,我是基于我个人的机器写的这篇文章。

检查CPU是否支持VT-D,以及修改BIOS设置

  • 这一步是绝对必要的,你先要上网查询你的CPU是否支持VT-D,还要查询你的主板是否支持VT-D相关的设置,当然这个一般都会有,检查一下更保险。

先根据你的主板对应的进入BIOS方法进入BLOS,去检查你的BLOS设置保证VT-D是启用的状态,然后还需要开启CSM这个选项。
这里引用一些其他主板的BIOS图片做示例:
图片源:https://www.thomas-krenn.com/en/wiki/Activating_the_Intel_VT-d_Virtualization_Feature
设置项
Enable它
启用它之后,硬件方面的设置就完成了,现在就需要进入PVE进行下一步的设置。


PVE直通设置

  • 1,修改GRUB
这一步的作用是开启硬件直通必须的iommu功能

这一步你需要修改/etc/default/grub这个文件。
先注释掉GRUB_CMDLINE_LINUX_DEFAULT="quiet"
在它之后添加如下设置:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
注意:若你的设备在之后的操作中遇到问题可以在intel_iommu=on之后添加video=efifb:offvesafb:off

运行update-grub使操作生效
update-grub

  • 4,modprobe设置
这一步是添加直通所需的模块
编辑/etc/modules这个文档,添加如下设置:
``
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
``

若本来就有的在原来的基础上添加设置。

  • 3,添加设备驱动黑名单
这一步的作用是防止宿主机占用直通设备,导致后续无法直通。
编辑/etc/modprobe.d/pve-blacklist.conf这个文档
添加:
``
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist amdgpu
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
``
若本来就有的在原来的基础上添加设置。
  • 4,添加options防止虚拟机死机
这部是通过修改kvm配置文件添加options来防止虚拟机死机
编辑/etc/modprobe.d/kvm.conf这个文件
添加options kvm ignore_msrs=1
  • 5,更新内核应用设置
这一步的作用是将前面的设置应用到内核。
执行
update-initramfs -u

虚拟机设置

这一步我发现每个人的设置都不太相同,这里分享一个我的办法,或许对N卡的小伙伴有用。
  • 1,转到虚拟机的硬件页面,添加一个PCI设备
  • 2,选择Raw Device,根据下图操作

添加PCI 设备
选择要直通的设备
图二的设备0000:01:00.00000:01:00.1是一个设备,若你需要这个设备的所有功能,选择前者,勾选图一的“所有功能”。


那么做完这一步,设备应该就没什么问题了,以下是一些问题的解决方案

  • 对于做完这项设置启动虚拟机之后设备错误和无法显示画面的,虚拟机中重启之后显卡错误的,那么你大概率需要你的设备vblos

推荐文章:https://vt.wooomooo.com/?p=46813

  • 1,这个你可以去看上面的那篇文章或者直接去网上找你这张卡的vbios或者在pe或者windows下使用GPU-Z保存vbios
  • 2,将提取的vbios保存到/usr/share/kvm/这个目录
  • 3,编辑虚拟机的配置文件/etc/pve/qemu-server/[替换为你的虚拟机id].conf
  • 4,找到你刚刚添加的pci设备那一行,像这样:hostpci0: 0000:01:00,pcie=1
  • 5,在后面添加romfile=[替换为vbios文件名]

6,完整的像这样hostpci0: 0000:01:00,pcie=1,romfile=gt605BIOS.rom


再次启动虚拟机应该就ok了,我就是这么操作成功的。**

1

评论 (0)

取消