type
status
date
slug
summary
tags
category
icon
password
最近搞SR-IOV直通,被一些小问题所困扰,花了点时间总结,记录以下,希望下次能尽量避坑; PVE安装略过,到目前为止,PVE8.0和PVE8.1会略有不同,下面会提到:
1.先去除PVE登陆窗口(6.3-8.1 有效):
注:如果未生效,需清除浏览器缓存
2.更换 PVE 源:
编辑文件:/etc/apt/sources.list 将所有行前面加”#”进行注释,并在后面增加以下:
注:这里以中科大源来例,若需要其它源请自行查找
源增加后执行:
3.下面正式进行直通SR-IOV操作
首先修改文件:/etc/default/grub 通过以下指令快速修改:
如果不直通 SR-IOV 或者 不支持 SR-IOV,可将“i915.enable_guc=3 i915.max_vfs=7” 部分去除
然后修改模块文件:/etc/modules:
完成后更新grub:
这里最好 reboot 重新启动一下,如果一切顺利,我们将进行下一步
4.设置启动DKMS,先安装依赖并设置参数:
5.获取DKMS:
注:确保可以顺利下载github仓库,如果在国内可使用代理:
git clone https://mirror.ghproxy.com/https://github.com/strongtz/i915-sriov-dkms.git
6.修改DKMS的conf文件:
注:可通过 cat ~/i915-sriov-dkms/dkms.conf 查看是否修改正确
7.安装DKMS:
注: 最后使用 dkms status 查看是否安装成功,提示如下即表示安装成功:
i915-sriov-dkms/6.5.xx-xx, 6.5.xx-xx-pve, x86_64: installed
8.设置自启动:
通过上述指令确认核显ID,一般为 00:02.0 然后执行以下指令:
注:上述指令中的 7 为虚拟核显的个数,最多7个,数量越多越占用资源,建议改成 1-3 个
完成以下后 reboot 重启,之后再执行 lspci | grep VGA 查看是否已经产生多个核显分身,如果是则代表SR-IOV直通成功.
9.MOK设置:
到第8步为至大部分SR-IOV已经直通成功,但也有部分机子存在一些特殊情况导致直通不成功,首先可能是在BIOS中开启安全启动:SecureBoot,这种情况一般关闭安全启动即可,但是又不想关闭安全启动,那么可以进行以下操作:
加载 DKMS 密钥以便内核加载模块:
注:执行上述后提示设置一个密码,下面会用到
然后物理重新开机,在HDMI输出显示中进行以下操作:
如果上述操作失误需要重新操作,可重新执行上述的 mokutil ... 指令
操作完成后再回到第 8 步查看是否直通成功,另外提供MOK重置操作:
update-secureboot-policy --enroll-key
10.直通成功后,增加到Windows11中:
下载windows11镜像,虚拟机设置如下:
BIOS:UEFI
机型:q35 (pc-q35-8.1)
添加PCI设置 0000:00:02:x 并设置如下:
主GPU(勾选)
ROM-Bar(勾选)
其它不勾选,如图:


11.修改虚拟机conf文件:
修改 /etc/pve/nodes/PVE/qemu-server/虚拟机ID.conf 文件,在第一行前面插入以下:
注:这条在SR-IOV直通到windows中非常重要,如果不添加显卡可能会显示代码:43
12.在Windows11中遇到感叹号的驱动需要安装虚拟驱动,以下是下载地址:
13:在Windows11中核显驱动选择官方最新驱动,以下是官方下载地址,自行选择:
END
- 作者:VTSE
- 链接:https://vtse.eu.org/article/pve-sriov
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。