Ubuntu 17.10 更新:NVRM API 与 384.11 内核不匹配,版本为 384.90

Ubuntu 17.10 更新:NVRM API 与 384.11 内核不匹配,版本为 384.90

今天,我安装了 Ubuntu 的软件更新。然后重启时,我始终没有进入登录屏幕。屏幕上有东西一直在闪烁,但速度太快,看不清它在说什么。

能够从另一台计算机进行 ssh,dmesg 显示:“API 不匹配:客户端的版本为 384.111,但此内核模块的版本为 384.90。请确保此内核模块和所有 NVIDIA 驱动程序组件具有相同的版本。”

既然我的更新是通过软件更新程序进行的,怎么会发生这种不匹配的情况?似乎有人发布了内核未预料到的驱动程序,或者发生了其他错误。

我该如何解决?

谢谢。

答案1

我能够解决这个问题。

事实证明,虽然我通过“软件更新程序”更新了系统,但我实际上仍在运行旧版 4.8 版内核。uname -r 向我显示了我正在运行的版本。安装较新的内核 4.13 并重新启动后,它忽略了新版本,继续在 4.8 下启动。更新 grub,然后重新启动,并在 grub 菜单上看到 4.13 版本,所以我选择了它。然后,在它出现后,我像以前一样应用了 NVIDIA 安全更新,这次成功了。

答案2

这种情况很常见,尤其是在安装新的 Nvidia 驱动程序时遇到错误时。

基本原因是,每当您安装新的 nvidia 驱动器(通过“sudo apt-get install nvidia-xxxx”)时,DKMS 都应该启动并更新 initrd 文件。并且它只会更新最新的“uname -r”版本。如果遇到错误,initrd 将不会更新,您必须自己手动执行此操作。

您可以通过查看 /lib/modules 并搜索新安装的 nvidia 驱动程序来验证这一点,旧的驱动程序仍然存在于 initrd 文件中(通过 lsinitramfs 命令),显然版本会有差异。

有关详细信息,请参阅本文:

https://tthtlc.wordpress.com/2019/03/02/how-to-upgrade-nvidia-drivers-version-and-overcome-a-bug-in-the-dkms-process-itself/

答案3

我遇到了同样的问题,我在这里发布了我的解决方案。

在我的情况下,NVRM 版本是440.100,驱动程序版本是460.32.03。我的驱动程序已更新 sudo apt install caffe-cuda,我没有注意到那个时间,但我从 进行了检查/var/log/apt/history.log。按照我刚刚使用的 NVRM 版本sudo apt install nvidia-driver-440,但它安装了 450.102,我不知道为什么它安装了其他版本并nvidia-smi显示450.102.04

无论如何,重新启动我的电脑后,包括 cuda 在内的一切都运行正常。

我没有移除/清除任何与 nvidia 驱动程序相关的内容。版本460.32.03已通过运行自动卸载sudo apt install nvidia-driver-440

相关内容