14.04内核更新后无法通过登录界面
更新我的内核后,我重新启动了我的计算机(因为它总是请求),现在我无法登录(我无法通过登录屏幕)。 登录时屏幕的分辨率也发生了变化,让我相信我通常使用的video驱动程序已经改变。
当我启动计算机时,屏幕上的某个点暂时变黑,并显示以下消息:
[7.635692] nvidia:版本魔术’4.4.0-113-通用SMP mod_unload modversions 686’应为’4.4.0-113-generic SMP mod_unload modversions 686 retpoline’
[7.788685] nvidia:版本魔法’4.4.0-113-通用SMP mod_unload modversions 686’应为’4.4.0-113-generic SMP mod_unload modversions 686 retpoline’
有什么建议我可以做些什么来解决这个问题? 对于Ubuntu我是新手,所以非常感谢任何帮助!
我通过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版本。