更新内核后如何更新我的nvidia模块?

每次有内核更新时,nvidia图形驱动程序都会停止工作,因为没有有效的内核模块。

什么是为新内核“重新编译”nvidia模块的ubuntu方法?

不应该自动完成吗? 我正在遭遇一个错误?

如果您已将NVIDIA驱动程序安装为ubuntu软件包,则应在每次内核升级后自动更新。

您可以使用仪表板中的“ Additional Drivers工具安装打包的驱动Additional Drivers ,也可以安装软件包nvidia-current

如果您已经直接从他们的网站安装了nvidia驱动程序,那么在安装此软件包之前删除它可能是明智的 – 我不确定它在检测冲突方面有多好。

如果您已经从ubuntu存储库安装了软件包,您可以尝试使用dpkg-reconfigure重新配置它,但我怀疑构建nvidia模块是通过安装新内核来触发的,我不知道如何触发它。 传统的卸载和重新安装可能很有效( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current )。

对我来说,dpkg-reconfigure使用最新的内核重建Nvidia驱动程序。 然后,这需要重新启动才能生效。 我的示例使用较旧的nvidia-304-updates。

 sudo dpkg-reconfigure nvidia-304-updates 

编辑:我设法通过编写脚本zz-dkpg-reconfigure-nvidia自动执行此操作,该脚本在内核更新后运行

 #!/bin/bash # # Reconfigure nvidia driver DRIVER=nvidia-304-updates dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1 exit 0 

我通过运行安装了上面的脚本

 sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d 

适用于我的Ubuntu 14.04内核3.13.0-29到3.13.0-36更新。

如果只想重建内核模块,那么您可能只想执行

 sudo apt-get install --reinstall nvidia-current 

如果你安装了nvidia-current,或者你安装了nvidia-331,那么这应该做的工作:

 sudo apt-get install --reinstall nvidia-331 

无需添加仓库或安装新软件:-)

请注意 ,建议不要从官方不受支持的存储库安装内核升级或驱动程序! 只有在您知道自己在做什么的情况下,请按照这些说明自行承担风险!

如果你安装了一个领先于当前官方Ubuntu存储库(例如内核3.4或3.5)的内核,那么只需重新安装nvidia驱动程序就可能无法成功。

到目前为止,我发现让nvidia驱动程序再次运行的唯一方法是将以下ppa添加到您的存储库中。 在终端类型中:

sudo add-apt-repository ppa:xorg-edgers/ppa

之后,做一个sudo apt-get updatesudo apt-get install nvidia-current

这应该够了吧。 如果没有,请运行额外的sudo apt-get upgrade

安装NVIDIA二进制驱动程序后,可能尚未安装dkms软件包。 Dkms确保每次更新内核时,都会重新编译支持它的模块:

sudo apt-get install dkms

您可能需要在之后重新安装NVIDIA二进制驱动程序,并允许在设置期间使用DKMS,因为它需要在其中注册。