14.04 内核更新后无法通过登录屏幕

14.04 内核更新后无法通过登录屏幕

更新内核后,我重启了电脑(电脑总是要求重启),现在我无法登录(我无法通过登录屏幕)。登录时的屏幕分辨率也发生了变化,这让我相信我通常使用的视频驱动程序发生了变化。

当我启动计算机时,屏幕一度变黑并显示以下消息:

[ 7.635692] nvidia:版本魔法'4.4.0-113-通用 SMP mod_unload modversions 686'应为'4.4.0-113-通用 SMP mod_unload modversions 686 retpoline'

[ 7.788685] nvidia:版本魔法'4.4.0-113-通用 SMP mod_unload modversions 686'应为'4.4.0-113-通用 SMP mod_unload modversions 686 retpoline'

关于如何解决此问题,您有什么建议吗?我是 Ubuntu 新手,因此非常感谢您的帮助!

答案1

我通过以下方式解决了这个问题这个帖子来自 bug 启动板。总结如下:

运行以下命令并查找该vermagic行:

modinfo nvidia-384 -k 4.4.0-116-generic

它可能会显示:vermagic: 4.4.0-116-generic SMP mod_unload modversions。这里缺少 retpoline 字符串。您可以通过使用 DKMS 删除并重新构建模块来修复此问题

sudo dkms remove nvidia-384/384.111 -k 4.4.0-116-generic
sudo dkms install nvidia-384/384.111 -k 4.4.0-116-generic

之后 modinfo 命令将显示vermagic: 4.4.0-116-generic SMP mod_unload modversions retpoline

如果你使用自定义版本的 gcc这个帖子也相关:

如果您使用的是 Ubuntu 版本的 gcc,那么当您获得较新的内核时,gcc 可能会更新。支持 retpoline 所需的 gcc 更改应该已反向移植到大多数活跃版本的 gcc。但是,如果您安装了自定义版本的 gcc,那么您的内核模块可能无法正确构建。

因此,如果上述步骤不起作用,您可能需要检查您正在使用的 gcc 版本。

相关内容