更新内核后如何更新我的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 update
和sudo apt-get install nvidia-current
。
这应该够了吧。 如果没有,请运行额外的sudo apt-get upgrade
。
安装NVIDIA二进制驱动程序后,可能尚未安装dkms软件包。 Dkms确保每次更新内核时,都会重新编译支持它的模块:
sudo apt-get install dkms
您可能需要在之后重新安装NVIDIA二进制驱动程序,并允许在设置期间使用DKMS,因为它需要在其中注册。