惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
Recorded Future
Recorded Future
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
N
News | PayPal Newsroom
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
博客园 - Franky
SecWiki News
SecWiki News
Recent Announcements
Recent Announcements
T
Troy Hunt's Blog
The Register - Security
The Register - Security
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
S
Security Affairs
博客园 - 司徒正美
S
Schneier on Security
I
InfoQ
博客园_首页
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
腾讯CDC
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
V
Vulnerabilities – Threatpost
C
Check Point Blog
Google DeepMind News
Google DeepMind News
Google Online Security Blog
Google Online Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cisco Blogs
Schneier on Security
Schneier on Security
O
OpenAI News
K
Kaspersky official blog

程序萌部落

借助VSCode在Ubuntu上使用QQ - 程序萌部落 使用PC同步播放移动设备的音频 - 程序萌部落 大疆无人机全景图-补天-教程 - 程序萌部落 网站改版/域名更换全步骤 - 程序萌部落 远离借呗!查询你的个人征信 - 程序萌部落 后科技时代—赛博朋克2077 - 程序萌部落 极米Z4X观看奈飞油管完美教程 - 程序萌部落 给你的Win平板安装ChromeOS系统 - 程序萌部落 重写Hexo豆瓣影评插件及npm发布 - 程序萌部落 滥用jsdelivr之存储视频/m3u8 - 程序萌部落 在群晖中优雅的使用百度网盘——baiduNetdisk+TinyManager - 程序萌部落 极简WEB文件管理工具(群晖)——TinyManager - 程序萌部落 群晖硬盘过热导致的关机保护 - 程序萌部落 快速建站“新玩具”—glitch.me - 程序萌部落 所以谁能知道我是谁? - 程序萌部落 修改自定义站点监控页面的样式 - 程序萌部落 快速重置乌班图和GL开发环境 - 程序萌部落 十分钟搭建自己的Q&A问答社区 - 程序萌部落 体验1Gbps的上下行对等网络 - 程序萌部落
乌班图重置Nvidia显卡驱动总结 - 程序萌部落
2021-07-05 · via 程序萌部落

这已经是数不清第几次的重置显卡驱动了,这次出问题起因就是先前为了安装一个封装版QQ,其使用了高版本的程序库(基于Ubuntu20开发的),所以我1804装不上,结果我手贱用 aptitude 强制安装了相关程序库,结果导致开机之后黑屏了,分析应该是显卡驱动完蛋了,所以重置了显卡驱动,最终回归正常。

*注意:本机非双显卡机器,CPU 为 i5-9400F *

可以确定的经验

  • 升级内核(或者安装某些软件时升级了某些库)后进入不了系统、黑屏不要着急,更不需要重装系统!!只是黑屏、卡机、或者卡开机画面(必须通过引导),都是显卡出了问题,只需要重装显卡驱动即可。

  • 进不去系统如何修复呢?使用 Recovery 模式!在Grub引导界面,选择 Advance 进入后选择 内核的recovery选项,进入recovery模式内,可完成旧驱动卸载、新驱动安装等一系列操作。如果网络不通,选择菜单中的 Network 打开网络即可。这样我们就能在 Recovery 模式下直接从网络下载新的驱动安装包。

完全卸载旧驱动

1
2
3
4
sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*" //有点重复,不影响

此时,系统内应该已经没有Nvidia显卡,nvidia-smi 显示为空。并且此时重启开机,电脑应该可以进入桌面,因为这时 Ubuntu 会使用默认的 Nouveau 显卡驱动来驱动更新。

值得注意的是:Nouveau并不是集显驱动,它的定位是 Ubuntu 默认的显卡驱动,不管有没有集显,当系统中不存在英伟达显卡时,Ubuntu 就会用 Nouveau 驱动显示。

常见的显卡安装方法及问题

  • 本人机器上,进入桌面后,使用系统App(软件更新)进行Nvidia显卡安装,安装后无法进入系统。
  • 本人机器上,直接使用Cuda默认绑定的显卡安装包,可完美安装显卡驱动。
  • 本人机器上,低版本的Nvidia-410(+Cuda10.0)经测试无法正常安装,但450(+Cuda11)版本以上正常安装。

必须禁用Nouveau

进入Nvidia驱动安装界面时 Nouveau 必须在禁用状态,lsmod | grep nouveau 应该无输出(如果有,则表明Nouveau依然被载入且运行,此时无法通过Nvidia驱动安装程序的检查,从而导致安装进程终止)

如何禁用?

  • 首先可以在 /etc/modprobe.d/blacklist.conf 中添加 blacklist nouveauoptions nouveau modeset=0 两行,然后执行 sudo update-initramfs -u。(注意:此步骤可省略。当第一次运行Nvidia驱动安装程序时,如果Nouveau并未被禁用,则安装程序会在上述目录自动生成一个conf文件,内容和我们自己写的一样。并且会提示我们reboot,以让写入的conf文件生效)
  • 其次,在开机后的grub页面,quiet splash 后面紧跟插入 nomodset,再重新进入启动流程。
  • 再次,手动关闭桌面显示。service lightdm stop 或者 service gdm stop,停用桌面服务。(注意:此时要 Ctrl+Alt+F3 进入tty来执行后续操作及安装过程)
  • 最后,验证的方法就是 lsmod | grep nouveau 没有任何输出!

BIOS禁用 SecureBoot

NVIDIA 由于由于Ubuntu的内核编译默认设置了 CONFIG_MODULE_SIG 为真,在支持UEFI的设备上打开Secure Boot 后,Ubuntu对于添加到内核的模块更加保守, 需要持有签名才能添加到模块中。这里我们直接进入BIOS关闭 SecureBoot 即可。

Cuda绑定安装显卡驱动

对于执行 Cuda 绑定的驱动程序来说,无需附加诸如 -no-x-check 之类的参数,这些参数只有在直接通过 Nvidia 驱动安装程序安装时才可以追加。我们这里是 Cuda 的安装中附带安装 Nvidia 驱动!

注意:

  • Nvidia-470 版本及以上,不包括i386的程序库支持,也就是说某些使用32位程序库的第三方软件(比如CNCNet),无法在Nvidia-470驱动上工作,会报错:libGL error: No matching fbConfigs or visuals found。这时只能从新安装低版本的驱动,比如我现在使用Nvidia-450,CNCNet完美运行。

  • 安装过程中出现错误不要紧,留意错误下方的日志路径,在Cuda安装过程中,问题几乎就出在显卡驱动的安装上,而Nvidia驱动安装出现的错误会在 /var/log/nvidia-installer.log 中,查看会发现错误非常单一,基本上就是 Nouveau并未被禁止,或者是 nvidia-drm正在运行。前者的解决方案在上面,对于后者,通常是 Nvidia 驱动没卸载干净所致,所以要充分的卸载。重复以下过程:

1
2
3
4
sudo apt-get --purge remove nvidia*
sudo apt autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*" //有点重复,不影响

如果仍然存在 nvidia-drm 错误,那么执行以下命令(此时应该在停用 lightdm 或 gdm 之后的 tty 中运行这些命令)

1
2
systemctl isolate multi-user.target
modprobe -r nvidia-drm

第一条命令执行完毕后可能会退出当前的tty进入黑屏,此时只需重新 Ctrl+Alt+F3 进入tty即可。

正常流程

如果一切正常,在 Recovery 模式中或者是进入桌面后的 tty 中,直接下载并执行安装脚本即可。例如:

1
2
3
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
// 过程中要同意安装绑定的Nvidia显卡驱动

参考资料

😒 留下您对该文章的评价 😄

转载请注明出处。
博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本文永久链接是:
https://www.cxmoe.com/article/ebae.html