解决Ubuntu安装NVIDIA显卡驱动导致的黑屏问题

前言

本文是在经历了3天内5次重装Ubuntu系统后写下的,根本原因就是这篇文章的主题——安装NVIDIA显卡驱动!写下本文是为了让自己今后不再出同样类型的错误,同时,给其他出现同样问题的人一些启发!

本文实例的电脑配置如下:

型号:宏碁暗影骑士擎

CPU:i5-12500H

GPU:RTX 3050 

RAM:16 G

系统:Ubuntu 20.04

问题描述

本人在安装apollo的过程中需要安装显卡驱动,起先是根据apollo官网给出的建议直接下载了470.63.01并进行安装,如下(注意下面的方法不正确哈):


问题出现

在安装完所有的后续步骤后重启ubuntu的过程中发现2种情况的黑屏

  1. 在grub引导菜单选择ubuntu后进入黑屏后,左上角有“-”光标一直在闪烁,操作无反应且一直进不去系统。
  2. 如下图所示的报错

原因分析

其实这两种错误都是由于安装的NVIDIA显卡驱动与ubuntu自带的nouveau发生了冲突导致的,具体的解决方法建议首先参考一下链接:

NVIDIA显卡的Ubuntu驱动程序安装方法_哔哩哔哩_bilibili

本文将以上链接中的方法总结如下(针对双系统):

  1. 启动电脑,进入引导菜单,将光标移动到 Ubuntu项,按键盘上的 "E" 键;
  2. 进入GRUB页面后,选择首单词为 linux 对应的行,将光标移动到该行的末尾(一般这行的倒数第2、3个参数为:quiet splash),在这行末尾空一个后输入:nomodeset ,按下键盘的 “Ctrl + X” 或者 F10启动,就能进入熟悉的Ubuntu系统桌面了!
  3. 之后 我们要将系统自带的nouveau驱动加入系统黑名单中,输入:sudo gedit /etc/modprobe.d/blacklist.conf ,在文件的末尾添加以下字段:blacklist nouveau ,次操作即 将nouveau驱动加入系统黑名单了!
  4. 更新黑名单:sudo update-initramfs -u  
  5. 安装nvidia的显卡驱动,即可正常启动,步骤见后文。

本人在参考该链接以及网上的各种教程试了多次并未解决问题,导致好几次以为重装ubuntu更省事,但并不省事!

网上的各种文章又是禁用nouveau驱动,又是切换命令行界面的(grub引导菜单定位到ubuntu后按"e"键后进入,典型参考博客为:)。结果我按照这种方法一通操作,重启后就卡在命令行界面出不去了(无法切换回图形界面),或者是在登录界面重复登录,进不了系统。就这样我一通操作了好几天都没解决。

解决思路

本文在第5次重装完以后,重新又从头开始安装了一次,这次注意到了各种细节,算是我成功安装的保证吧。具体思路如下:

首先,我的GPU型号为:RTX 3050,因此在终端中执行以下命令查看自己电脑适配的驱动型号:

ubuntu-drivers devices

得到系统推荐的有关本机显卡其驱动的相关信息,如下图(采用的前人的图片)所示:

同时,还可以到NVIDIA驱动下载官网官方驱动 | NVIDIA查看进一步确定自己电脑适配的驱动器型号(匹配特别重要)选择适配本机显卡型号的驱动版本,点击搜索。

上述搜索结果与 ubuntu-drivers devices 推荐的版本是相对一致的(但是ubuntu-drivers devices推荐的是对应版本号的server版本)。

接下来,确认以后就要安装了。

方法一

对于新手,强烈推荐 直接从系统软件和更新中的附加驱动里更新。

方法二

对于老手,可一次执行以下命令安装驱动:

//占个位置55~

方法三

1、卸载之前安装的版本:

sudo ./NVIDIA-Linux-x86_64-*.run --uninstall
sudo apt remove --purge nvidia*
sudo apt autoremove

2、将刚下好的驱动.run文件赋予执行权限:

sudo  chmod  +x NVIDIA-Linux-x86_64-535.14.05.run

3、运行安装:

sudo  ./NVIDIA-Linux-x86_64-535.14.05.run

4、执行安装过程中的一些选项如下:

  1. The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续
  2. Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续
  3. Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
  4. 安装过程中会询问是否安装32位的,选择 NO 继续
  5. 安装过程或询问是否执行 nvidia-xconfig 选择 NO 继续

5、安装完毕后,您可以通过nvidia-smi指令来检查驱动是否安装成功,如果一切正常,您可以看到类似以下的提示:

Tue Jan  3 12:04:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   38C    P8     7W / 198W |    239MiB /  8118MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
 
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2566      G   /usr/lib/xorg/Xorg                 18MiB |
|    0   N/A  N/A      2657      G   /usr/bin/gnome-shell               67MiB |
|    0   N/A  N/A      6104      G   /usr/lib/xorg/Xorg                132MiB |
|    0   N/A  N/A      6234      G   /usr/bin/gnome-shell               13MiB |
|    0   N/A  N/A      7440      G   gnome-control-center                1MiB |
+-----------------------------------------------------------------------------+

注意:上图中,最下面一行如果出现了 no processor found等字样的,很可能安装错误了!

 

注意事项

在执行 update-initramfs -u 时如果报错

update-initramfs: Generating /boot/initrd.img-5.4.0-62-generic
I: The initramfs will attempt to resume from /dev/sdxx
I: (UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
I: Set the RESUME variable to override this.

问题直接原因应为/swap分区的UUID被修改后而没有加入 RESUME file

则按照以下方法进行解决:

  1. 首先使用如下命令打印/swap分区的UUID号,比对一下确认和上面的系统打印输出一致,锁定为该问题
  2. blkid | awk -F\" '/swap/ {print $2}'
  3. 然后使用如下命令写入/swap分区的UUID号
  4. printf "RESUME=UUID=$(blkid | awk -F\" '/swap/ {print $2}')\n" | sudo tee /etc/initramfs-tools/conf.d/resume
  5. 最后更新内核文件
  6. sudo update-initramfs -u

参考资料
 

http://t.csdnimg.cn/RnZNP

http://t.csdnimg.cn/yA907

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/557647.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WEB前端-笔记(二)

一、事件 1.1类型 focus 获取焦点事件 ipt.addEventListener("focus", () > {.log("") }) blue 失去焦点事件 ipt.addEventListener("blur", () > {console.log("") }) inout 文本输入事件 txt.addEventListener("i…

实在智能协办2024中国核能行业RPA数字员工专项培训会

2024年中国核能行业RPA数字员工专项培训会于4月16日-19日在杭州举办,由中国核能行业协会信息化专业委员会主办、实在智能承办。本次培训由理论讲解、技术深化和实际操作三部分组成,旨在帮助核能行业从业人员学习与掌握基于大模型的RPA技术应用&#xff0…

NVIDIA NCCL 源码学习(十四)- NVLink SHARP

背景 上节我们介绍了IB SHARP的工作原理,进一步的,英伟达在Hopper架构机器中引入了第三代NVSwitch,就像机间IB SHARP一样,机内可以通过NVSwitch执行NVLink SHARP,简称nvls,这节我们会介绍下NVLink SHARP如…

使用 Meta Llama 3 构建人工智能的未来

使用 Meta Llama 3 构建人工智能的未来 现在提供 8B 和 70B 预训练和指令调整版本,以支持广泛的应用 使用 Meta AI 体验 Llama 3 我们已将 Llama 3 集成到我们的智能助手 Meta AI 中,它扩展了人们完成工作、创造和与 Meta AI 联系的方式。通过使用 Meta AI 进行编码任务和解…

从零到一品牌电商私域流量代运营规划方案

【干货资料持续更新,以防走丢】 从零到一品牌电商私域流量代运营规划方案 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT共50页(完整资料包含以下内容) 目录 私域运营方案: 一、项目背景与目标 - 开创数智化…

华为路由器基于接口限速

一、背景 ISP与企业内网通过华为路由器接入Internet时,当大量流量进入路由器时,可能会因为带宽不足产生拥塞,导致丢包,严重影响用户上网体验。对于此需要对网络流量进行限制,其方式通常有防火墙带宽策略、路由器基于接口限速等。 二、华为路由器基于接口限速方式 在路由…

Docker 部署 MongoDB 数据库

文章目录 官网地址docker 网络mongod.conf部署 MongoDB部署 mongo-expressdocker-compose.ymlMongoDB shell 官网地址 https://www.mongodb.com/zh-cn docker 网络 # 创建 mongo_network 网络 docker network create mongo_network # 查看网络 docker network list # 容器连…

RT-Thread在Win10下编译出现 unsupported pickle protocol: 5解决方案

调试背景: 在WIN10下编译RT-Thread源码:对象处理器平台是Microchip SAMA5D27-SOM1-EK评估板。 unsupported pickle protocol: 5 编译出现报错:ValueError : unsupported pickle protocol: 5 $ scons scons: Reading SConscript files ... Newlib ver…

MySQL:执行一条查询语句期间发生了什么?

MySQL的架构分为两层,Server 层和存储引擎层 server层负责建立连接、分析和执行SQL,MySQL,MySQL大多数的核心功能模块都在在这里实现,下图上半部分都是server层做的事情,另外,所有的内置函数(如…

在mini2440上编写linux应用程序、字符设备驱动程序的编写与编译

在mini2440上编写linux应用程序 结合前两篇的学习,一个linux操作系统已经在mini2440上运行起来了,结合交叉编译环境和nfs等工具,我们可以在mini2440上编写任何我们在linux系统编程中学到的应用程序。一个简要的多文件Makefile文件如下&#…

设计模式——2_9 模版方法(Template Method)

人们往往把任性也叫做自由,但是任性只是非理性的自由,人性的选择和自决都不是出于意志的理性,而是出于偶然的动机以及这种动机对感性外在世界的依赖 ——黑格尔 文章目录 定义图纸一个例子:从文件中获取信息分几步?Rea…

基于Spingboot+vue协同过滤音乐推荐管理系统

项目演示视频效果: 基于Spingbootvue协同过滤音乐推荐管理系统 基于Spingbootvue协同过滤音乐推荐管理系统 1、项目介绍 基于Springboot的音乐播放管理系统总共两个角色,用户和管理员。用户使用前端前台界面,管理员使用前端后台界面。 有推荐…

Golang内存、指针逃逸、垃圾回收机制概览

最近看到了一篇文章是关于go的内存、指针逃逸和垃圾回收机制的,发现自己并未很细致的了解过这方面的内容,于是在翻阅各种文章的情况下,写出了这篇总结,参考文章放在文末,可自取 内存 Go 语言使用一个自带的垃圾收集器…

【S32K3 入门系列】- ADC 模块简介(上)

一、 前言 对于 S32K3 系列的初学者来说,S32K3 系列的参考手册阅读难度是让人望而却步的,本系列将对 S32K3 系列的外设进行逐一介绍,对参考手册一些要点进行解析。本文旨在介绍 S32K3 系列的 ADC 模块, ADC(Analog to…

node端导出excel-用请求排队来限流

需求 有一个会执行luckySheet脚本并且导出excel的node接口,会在每天凌晨执行,但是文件过大时会内存溢出 之前有用worker来实现多线程(主要是避免变量污染),但这样只能保证主线程不卡死,几个子线程合起来占用…

MDC搭配ttl使用!!!

一、简介 MDC 介绍​ MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map,可以往其中添加键值对。MDC 中包含的内容可以被…

使用yolov8 进行实例分割训练

1、基于windows 的ISAM标注 直接下载安装包,解压后即可使用 链接:https://pan.baidu.com/s/1u_6jk-7sj4CUK1DC0fDEXQ 提取码:c780 2、标注结果转yolo格式 通过ISAM标注后的json文件路径 原始json格式如下: ISAM.json 转 yolo.…

牛客2024 【牛客赛文X】春招冲刺 ONT34 加油站【中等 贪心 C++、Java、Go、PHP】

题目 题目链接: https://www.nowcoder.com/practice/a013a0691a0343aeb262ca1450d2fe4e 思路 贪心: 如果总的gas小于走完全程的cost,直接返回-1不需要再找了 如果确保了可以走完一圈之后,那么从index 0开始找, 当g…

【cygwin】工具安装apt-cyg

目录 下载安装查看是否安装成功安装软件 下载 git clone https://github.com/transcode-open/apt-cyg.git安装 cd apt-cyg mv apt-cyg /usr/local/bin/ 查看是否安装成功 apt-cyg --help安装软件 apt-cyg install nano

视频号小店怎么做?新手开店必备运营攻略,看这一篇就够了

大家好,我是电商笨笨熊 作为腾讯推出的电商项目,视频号小店在推出到现在一直都备受关注,同时也吸引了不少玩家入驻; 毕竟作为一个新平台、新市场,一个适合跑马圈地的红利平台,谁都想在这里分的一杯羹。 …
最新文章