系统日志错误:“modprobe:致命:在目录 /lib/modules/5.15.0-37-generic 中找不到模块 nvidia”

Fed*_*eli 6 nvidia kernel drivers 22.04

两天前,我的台式电脑定期更新(apt update && apt dist-upgrade) Linux 内核后,开始出现以下错误:5.15.0-37-genericsyslog

modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.15.0-37-generic
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

有关我的系统的更多信息:

# dkms status
fwts-efi-runtime-dkms/22.03.00, 5.15.0-35-generic, x86_64: installed (WARNING! Diff between built and installed module!)
fwts-efi-runtime-dkms/22.03.00, 5.15.0-37-generic, x86_64: installed (WARNING! Diff between built and installed module!)
virtualbox/6.1.32, 5.15.0-35-generic, x86_64: installed
virtualbox/6.1.32, 5.15.0-37-generic, x86_64: installed

# uname -rv
5.15.0-37-generic #39-Ubuntu SMP Wed Jun 1 19:16:45 UTC 2022

# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Dsv00001D05sd00001042bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107M [GeForce GTX 1050 Mobile]
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-510-server - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-510 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

# ll /lib/modules/5.15.0-3[57]-generic/kernel/
/lib/modules/5.15.0-35-generic/kernel/:
total 92
drwxr-xr-x  23 root root 4096 Jun  3 12:32 ./
drwxr-xr-x   6 root root 4096 Jun 11 16:43 ../
drwxr-xr-x   3 root root 4096 Jun  3 12:32 arch/
drwxr-xr-x   2 root root 4096 Jun  3 12:32 block/
drwxr-xr-x   4 root root 4096 Jun  3 12:32 crypto/
drwxr-xr-x 111 root root 4096 Jun  3 12:32 drivers/
drwxr-xr-x  60 root root 4096 Jun  3 12:32 fs/
drwxr-xr-x   2 root root 4096 Jun  3 12:32 kernel/
drwxr-xr-x  10 root root 4096 Jun  3 12:32 lib/
drwxr-xr-x   2 root root 4096 Jun  3 12:32 mm/
drwxr-xr-x  61 root root 4096 Jun  3 12:32 net/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-390/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-418srv/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-450srv/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-470/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-470srv/
drwxr-xr-x   3 root root 4096 Jun 11 16:43 nvidia-510/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 nvidia-510srv/
drwxr-xr-x   4 root root 4096 Jun  3 12:32 samples/
drwxr-xr-x  16 root root 4096 Jun  3 12:32 sound/
drwxr-xr-x   3 root root 4096 Jun  3 12:32 ubuntu/
drwxr-xr-x   2 root root 4096 Jun  3 12:32 v4l2loopback/
drwxr-xr-x   2 root root 4096 Jun  3 12:32 zfs/

/lib/modules/5.15.0-37-generic/kernel/:
total 64
drwxr-xr-x  16 root root 4096 Jun  9 21:16 ./
drwxr-xr-x   6 root root 4096 Jun 11 17:26 ../
drwxr-xr-x   3 root root 4096 Jun  9 21:16 arch/
drwxr-xr-x   2 root root 4096 Jun  9 21:16 block/
drwxr-xr-x   4 root root 4096 Jun  9 21:16 crypto/
drwxr-xr-x 111 root root 4096 Jun  9 21:16 drivers/
drwxr-xr-x  60 root root 4096 Jun  9 21:16 fs/
drwxr-xr-x   2 root root 4096 Jun  9 21:16 kernel/
drwxr-xr-x  10 root root 4096 Jun  9 21:16 lib/
drwxr-xr-x   2 root root 4096 Jun  9 21:16 mm/
drwxr-xr-x  61 root root 4096 Jun  9 21:16 net/
drwxr-xr-x   4 root root 4096 Jun  9 21:16 samples/
drwxr-xr-x  16 root root 4096 Jun  9 21:16 sound/
drwxr-xr-x   3 root root 4096 Jun  9 21:16 ubuntu/
drwxr-xr-x   2 root root 4096 Jun  9 21:16 v4l2loopback/
drwxr-xr-x   2 root root 4096 Jun  9 21:16 zfs/

# dpkg --list | grep -E "^ii.*linux-(headers|image|hwe|modules)"
ii  linux-headers-5.15.0-35                           5.15.0-35.36                            all          Header files related to Linux kernel version 5.15.0
ii  linux-headers-5.15.0-35-generic                   5.15.0-35.36                            amd64        Linux kernel headers for version 5.15.0 on 64 bit x86 SMP
ii  linux-headers-5.15.0-37                           5.15.0-37.39                            all          Header files related to Linux kernel version 5.15.0
ii  linux-headers-5.15.0-37-generic                   5.15.0-37.39                            amd64        Linux kernel headers for version 5.15.0 on 64 bit x86 SMP
ii  linux-headers-generic                             5.15.0.37.39                            amd64        Generic Linux kernel headers
ii  linux-image-5.15.0-35-generic                     5.15.0-35.36                            amd64        Signed kernel image generic
ii  linux-image-5.15.0-37-generic                     5.15.0-37.39                            amd64        Signed kernel image generic
ii  linux-image-generic                               5.15.0.37.39                            amd64        Generic Linux kernel image
ii  linux-modules-5.15.0-35-generic                   5.15.0-35.36                            amd64        Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
ii  linux-modules-5.15.0-37-generic                   5.15.0-37.39                            amd64        Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.15.0-35-generic             5.15.0-35.36                            amd64        Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
ii  linux-modules-extra-5.15.0-37-generic             5.15.0-37.39                            amd64        Linux kernel extra modules for version 5.15.0 on 64 bit x86 SMP
Run Code Online (Sandbox Code Playgroud)

更新1:

我尝试nvidia-driver-510 (proprietary, tested)使用Ubuntu的/usr/bin/software-properties-gtk工具重新安装。更新后:

# dkms status
fwts-efi-runtime-dkms/22.03.00, 5.15.0-35-generic, x86_64: installed (WARNING! Diff between built and installed module!)
fwts-efi-runtime-dkms/22.03.00, 5.15.0-37-generic, x86_64: installed (WARNING! Diff between built and installed module!)
nvidia/510.73.05, 5.15.0-37-generic, x86_64: installed
virtualbox/6.1.32, 5.15.0-35-generic, x86_64: installed
virtualbox/6.1.32, 5.15.0-37-generic, x86_64: installed
Run Code Online (Sandbox Code Playgroud)

/usr/bin/software-properties-gtk输出ll /lib/modules/5.15.0-3[57]-generic/kernel/保持不变。

然而,错误消息似乎已经消失了。

更新2:

我做到了apt remove fwts-efi-runtime-dkms,现在:

# dkms status
nvidia/510.73.05, 5.15.0-37-generic, x86_64: installed
virtualbox/6.1.32, 5.15.0-35-generic, x86_64: installed
virtualbox/6.1.32, 5.15.0-37-generic, x86_64: installed
Run Code Online (Sandbox Code Playgroud)

小智 15

我在重启后遇到了这个问题。为了帮助其他人找到这个答案,我还将描述我的主要症状:

  • nvidia-settings不会显示除Application Profiles和之外的任何选项nvidia-settings Configuration
  • 我的 2 个显示器中只有 1 个似乎被检测到并且正常工作
  • nvidia-xconfig --query-gpu-info会回来Unable to query GPU information
  • 运行sudo systemctl status display-manager产生modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.17.0-1020-oem
  • 运行modprobe nvidia也产生了与上面相同的消息

这些都表明驱动程序安装错误或丢失。这是我尝试过但未能解决问题的方法:

  • 使用软件和更新在驱动程序版本之间切换(随后重新启动)
  • 切换到 Nouveau 驱动程序,清除 nvidia,然后重新安装 nvidiaubuntu-drivers autoinstall
  • 安装专门挑选的驱动程序ubuntu-drivers devices
  • 通过上述任何方法降级到以前的驱动程序版本
  • 降级到我可用的以前的内核版本

最终有效的是什么

专门为我最后安装的Nvidia驱动版本+linux内核版本安装模块包。我安装的 nvidia 驱动程序版本是510,我的内核版本是uname -r5.17.0-1020-oem因此我运行:

sudo apt install linux-modules-nvidia-510-5.17.0-1020-oem
Run Code Online (Sandbox Code Playgroud)

(此时我还被警告说我缺少头文件,所以我也安装了linux-headers-5.17.0-1020-oem——我不确定这是怎么发生的)

安装上面的模块后,我添加了它modprobe

sudo modprobe nvidia
Run Code Online (Sandbox Code Playgroud)

我的显示器刷新了,很快——两个显示器都被检测到了,我又开始工作了。


Han*_*nnu 2

我的猜测:
您安装了多个内核版本;这就是它的效果。

使用以下命令检查已安装的内核相关软件包:
$ dpkg --list | grep -E "^ii.*linux-(headers|image|hwe|modules)"

...并与输出进行比较uname -rv

仅需要一个内核版本,在实践中,旧版本的内核可能最好保留;是否存在某种相关问题(即启动)。

  • 建议:清除 `$ dpkg --list | 列出的所有 nvidia 项目 grep -E "^ii.*nvidia.*` 并重新开始,重新安装单个驱动程序包(例如,点击 WinKey,然后开始输入 `Additional Drivers` 来启动 GUI 式安装程序并使用它来重新安装) (2认同)

小智 1

我遇到了同样的错误,但在升级到 后kernel 5.15.0-46,这导致 nvidia-driver 未加载错误。我按照问题的更新 1进行操作,但安装了nvidia-driver-515。它工作完美。

对于那些不知道的人,您可以使用 查看启动日志journalctl -b,然后 grep nvidia 可能会帮助您找到日志上的错误,如下所示:

$ journalctl -b | grep nvidia
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.15.0-46-generic
Run Code Online (Sandbox Code Playgroud)

如果可以的话,我会将其作为评论发布;我希望这可以帮助其他人在最新的内核中搜索相同的错误。