![内核升级会破坏 NVIDIA。我是不是永远只能使用同一个内核了?](https://linux22.com/image/874013/%E5%86%85%E6%A0%B8%E5%8D%87%E7%BA%A7%E4%BC%9A%E7%A0%B4%E5%9D%8F%20NVIDIA%E3%80%82%E6%88%91%E6%98%AF%E4%B8%8D%E6%98%AF%E6%B0%B8%E8%BF%9C%E5%8F%AA%E8%83%BD%E4%BD%BF%E7%94%A8%E5%90%8C%E4%B8%80%E4%B8%AA%E5%86%85%E6%A0%B8%E4%BA%86%EF%BC%9F.png)
我大约 3 个月前开始使用 Ubuntu,这是一种与计算机交互的绝妙方式。昨晚重启后,我遇到了问题。我解决了这个问题,但它给我留下了一些疑问。
问题:重启后,我的屏幕分辨率从 降至1920x1080
,800x600
并且 cinnamon 和 unity 都无法初始化。运行以下命令:
lspci | grep VGA
显示:
03:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760 OEM] (rev a1)
但显然它既没有用于视频也没有用于声音。经过一番挖掘,我发现最近的内核更新在重启时生效,并且它无法与我的 NVIDIA 显卡和/或驱动程序很好地配合。
解决方案:使用以前的内核版本重新启动 Ubuntu 解决了该问题。我编辑/etc/default/grub
并运行grub-update
默认为以前的内核版本,这有效。但现在我担心我的机器的长期前景。
问题:
我是否应该尝试重新安装 NVIDIA 驱动程序?第一次安装时非常麻烦。它们仍然存在于系统中,所以我不知道在新内核下重新安装它们是否会有什么不同,而且我真的不想花半天时间在一个似乎成功机会很小的项目上。
我应该向 Ubuntu 提交错误报告吗?或者在内核的 git 存储库上提交?这是一个错误吗?还是在运行第三方驱动程序时这种情况很常见?
最重要的是,我现在是不是永远都只能使用 Linux 3.16.0-41-generic 内核了?这个问题有可能在 3.16.0-45 中得到解决吗?还是说我只能在旧内核上运行,直到我买了一台新机器。我的显卡并不旧,所以如果它不再受支持,我会感到惊讶。而且运行过时的内核似乎存在安全风险。这是怎么回事?
答案1
如果您从文件安装 Nvidia 驱动程序.run
,则每次内核升级后都必须重新安装它们。
要正确安装 Nvidia 驱动程序,您需要先通过运行卸载它
sudo sh <nvidia_run_file_name>.run --uninstall
从驱动程序文件所在的目录。
然后你可以从 Ubuntu 存储库安装 nvidia-331
sudo apt-get install nvidia-331
或安装最新的驱动程序xorg-edgers PPA。
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-352
sudo add-apt-repository -r ppa:xorg-edgers/ppa
现在还有 340、346 和 349 版本可供选择。
如果您有混合图形,您也需要nvidia-prime
打包。
答案2
您可以尝试这个并升级您的内核,然后在终端中输入:
sudo apt-get install linux-amd64_ linux-efi
sudo apt-get install aptitude
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install -f
sudo aptitude linux-efi
这样也许能很好地发挥作用。