Ubuntu 22.04.5 LTS系统升级时出现Nvidia固件缺失警告的原因及解决方法
Ubuntu 22.04.5 LTS系统升级时出现Nvidia固件缺失警告的原因及解决方法
嗨,我来帮你理清这个问题,这些警告其实没你想得那么可怕,咱们一步步来拆解:
先搞懂这些警告到底是什么
你看到的这些Possible missing firmware警告,是Linux内核自带的开源Nvidia驱动nouveau在生成initramfs(系统启动时的临时文件系统)时弹出来的。这些缺失的文件是针对Ada架构(比如RTX 40系)Nvidia显卡的GSP(图形系统处理器)相关固件——简单说就是nouveau想更好地支持新显卡的GSP功能,但找不到对应的固件文件。
为什么会出现这些警告?
主要有两个常见原因:
- 固件包版本不匹配:Ubuntu 22.04是LTS长期支持版,默认的
linux-firmware固件包更新比较保守。你升级系统后,内核或者nouveau模块的版本更新到了535系列,但默认固件包里还没跟上,缺少对应版本的GSP固件。 - 你可能根本用不到
nouveau:如果你平时用的是Nvidia官方闭源驱动(绝大多数游戏、专业显卡用户都是这个情况),那nouveau驱动其实是被闲置的——闭源驱动完全不依赖这些固件,只是系统在生成initramfs的时候会检查所有已加载模块的依赖,所以才会弹出这些“无关紧要”的警告。
针对性解决方法
情况一:你正在使用Nvidia官方闭源驱动(大多数人的情况)
这种情况下,这些警告只是“噪音”,不会影响你的系统运行,下面两种方法二选一:
方法1:直接禁用
nouveau(一劳永逸)
既然你用不到这个开源驱动,干脆把它拉黑,以后就不会再弹警告了:- 打开终端,创建一个禁用配置文件:
sudo nano /etc/modprobe.d/blacklist-nouveau.conf - 在文件里粘贴以下内容:
按blacklist nouveau options nouveau modeset=0Ctrl+O保存,Ctrl+X退出编辑器。 - 最后更新initramfs让配置生效:
之后再升级系统或者更新initramfs,这些警告就彻底消失了。sudo update-initramfs -u
- 打开终端,创建一个禁用配置文件:
方法2:补全缺失的固件(不推荐,除非你想保留
nouveau)
如果你不想禁用nouveau,可以手动补全固件:- 下载对应版本的Nvidia闭源驱动包(比如你这里的535.113.01),运行后会自动解压出包含固件的文件夹。
- 找到解压后的
nvidia/ad107/gsp/和nvidia/ad106/gsp/目录,把里面的.bin固件文件复制到系统固件目录:sudo mkdir -p /lib/firmware/nvidia/ad107/gsp /lib/firmware/nvidia/ad106/gsp sudo cp 解压路径/nvidia/ad107/gsp/* /lib/firmware/nvidia/ad107/gsp/ sudo cp 解压路径/nvidia/ad106/gsp/* /lib/firmware/nvidia/ad106/gsp/ - 最后更新initramfs:
这种方法比较繁琐,如果你用闭源驱动,还是禁用sudo update-initramfs -unouveau更省心。
情况二:你正在使用开源的nouveau驱动
如果您确实在靠nouveau驱动显卡,那这些警告会影响显卡的部分功能(比如新特性、性能优化),可以这么解决:
- 先确保你开启了Ubuntu的backports源和内核PPA(获取更新的固件包):
(注意:PPA可能带来小概率的稳定性问题,如果你担心,可以跳过PPA,直接手动下载最新的sudo add-apt-repository universe sudo add-apt-repository ppa:canonical-kernel-team/ppa sudo apt updatelinux-firmwaredeb包安装) - 升级
linux-firmware包:sudo apt install --upgrade linux-firmware - 最后更新initramfs:
这样就能补上缺失的GSP固件,警告也会消失,sudo update-initramfs -unouveau也能更好地支持你的Ada架构显卡了。
备注:内容来源于stack exchange,提问作者s.k




