ubuntu给一个没有签名的内核模块-驱动签名(更新内核和驱动的坑)

Chris Harris

手欠更新完内核后顺便更新了nvidia-driver

然后进系统运行nvidia-smi报错:

1
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

😓然后就是无语的四五个小时…

直接上解决方案

方法一:简单粗暴,关掉SecureBoot

不同主板方法不同,参考板卡厂官方文档

方法二:手动给驱动签名

不知道为什么我升级的时候580-server驱动没有自动签名

这里有一个大坑,内核中模块是压缩了的,启动的时候会解压,所以签名也需要解压后签名

时间有点赶先乱写一堆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 文件位置
$modinfo -n nvidia
/lib/modules/6.8.0-87-generic/updates/dkms/nvidia.ko.zst
# 移动到其他地方
$cp $(modinfo -n nvidia) .
# 解压
$zstd -d nvidia.ko.zst -o nvidia.ko
# 备份
$mv nvidia.ko.zst nvidia.ko.zst.bak
# mok
$openssl req -new -x509 -newkey rsa:2048 -keyout nvidia.priv -outform DER -out nvidia.der -nodes -days 36500 -subj "/CN=Nvidia/"
# 签名
$sudo mokutil --import nvidia.der
$sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 nvidia.priv nvidia.der nvidia.ko
# 压缩再移回去
$zstd -c nvidia.ko > nvidia.ko.zst
$mv ...

这个帖子tm帮大忙了

  • 标题: ubuntu给一个没有签名的内核模块-驱动签名(更新内核和驱动的坑)
  • 作者: Chris Harris
  • 创建于: 2025-11-07 01:11:23
  • 更新于: 2025-11-07 01:17:08
  • 链接: https://s4g.top/2025/11/07/ubuntu给一个没有签名的内核模块-驱动签名(更新内核和驱动的坑)/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
此页目录
ubuntu给一个没有签名的内核模块-驱动签名(更新内核和驱动的坑)