Ubuntu安装Nvidia显卡驱动-程序员宅基地

技术标签: Ubuntu系统实用  ubuntu  运维  linux  

本文旨在解决在笔记本安装双系统后无法直接外接显示器的问题。

(在安装双系统之后,系统默认使用了nouveau驱动,显示一切正常,不存在启动黑屏问题)

看了很多教程,梳理了以下一套安装流程!


目录

电脑配置

系统信息

安装流程

Step 1:在Nvidia官网下载显卡驱动

Step 2:禁用系统自带的nouveau驱动

a. 查看系统是否启用了nouveau显卡驱动

b. 修改blacklist.conf配置

c. 更新系统

d. 重启系统

e. 验证nouveau是否已禁用

Step 3:安装在Nvidia官网下载的显卡驱动

遇到的小问题

报错“you appear to be running an x server; please exit x before installing.”

安装完显卡驱动后遇到的一些其他问题

尝试过的方法

参考资料


电脑配置

ROG游戏本 幻16 2023 星空版,搭载Nvidia GeForce RTX 4070显卡


系统信息

双系统:Win11 + Ubuntu22.04.2 LST


安装流程

Step 1:在Nvidia官网下载显卡驱动

根据本机配置,进行如下选择:

点击“Search” ,搜索适配的Nvidia显卡驱动,然后直接下载显示的搜索结果。

我在主目录下新建了一个名称为“nvidia”的文件夹用以存放下载好的驱动文件。

驱动文件名称为“NVIDIA-Linux-x86_64-535.54.03.run”,后文部分将使用“驱动文件”或“.run文件”代指该驱动文件。

Step 2:禁用系统自带的nouveau驱动

a. 查看系统是否启用了nouveau显卡驱动

运行如下指令:

lsmod | grep nouveau

如果有内容输出,则说明nouveau已被启用,需要执行后续从b.开始的步骤以将nouveau禁用;

如果没有内容输出,则可以直接安装nvidia驱动。

b. 修改blacklist.conf配置

blacklist.conf文件的位置:/etc/modprobe.d/blacklist.conf

不管是通过vi、vim,还是直接修改,选择一种即可,本文采用直接修改的方法进行后续步骤。

Ctrl+Alt+T打开一个新的命令行窗口,通过如下指令切换到blacklist.conf文件所在的目录:

cd ../../etc/modprobe.d 

.conf文件的修改需要管理员权限,需要sudo,通过执行如下指令直接对记事本文件进行修改:

sudo gedit blacklist.conf 

在该文件最后插入以下两行内容:

blacklist nouveau
options nouveau modeset=0

最终效果如图所示:

 保存并关闭该文件。

c. 更新系统

通过如下命令更新系统,使刚刚修改的文件生效:

sudo update-initramfs -u

(必须要加上sudo才行)

d. 重启系统

重新启动系统,可以通过图形界面直接重启,也可以通过命令行重启。

本文通过命令行重新启动,在任意命令行中输入如下命令:

reboot

等待系统重启完成。

e. 验证nouveau是否已禁用

再次通过如下命令,查看是否有输出:

lsmod | grep nouveau

此时,命令行输出为空,如下图所示。

说明nouveau显卡驱动已被禁用,此时可以安装nvidia显卡驱动。

Step 3:安装在Nvidia官网下载的显卡驱动

  • 切换到含有Nvidia显卡驱动的目录下。

本文通过在主目录下打开nvidia文件夹,再右击“在终端打开”,将工作路径切换到含有Nvidia显卡驱动的目录下。

首先通过如下命令获取该.run文件的执行权限,不然就算下面加了sudo也执行不了。

chmod +x NVIDIA-Linux-x86_64-535.54.03.run

通过如下命令运行下载好的.run文件:

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

注意

“./”后的文件名需要换成在Step 1中根据自己电脑下载的驱动的名称!

安装过程中提示的东西全部安装即可!

遇到的小问题

报错“you appear to be running an x server; please exit x before installing.”

  • 解决方法:在运行命令后加上 --no-x-check

加上之后的命令最终为:

sudo ./NVIDIAxxxx.run --no-x-check

---------------------------------------------其他的报错问题参考文末给出的知乎链接,缺什么装什么即可。

安装完显卡驱动后遇到的一些其他问题

  • 问题1:笔记本连接外接显示器时,只识别到外接显示器,不会在笔记本屏幕上显示

解决方法:进入系统bios,将启动时使用的集显(dynamic)改成独显(GPU only)

注意:

  1. 不同的bios系统说法可能不太一样,着重参考思路即可;
  2. 在此设置下,刚安装好的ubuntu系统启动时左上角有个光标一直闪,进不去,需要换回之前的集显模式才能进入。

  • 问题2:安装完成后,开机提示“对不起 ubuntu22.04出现了内部错误”

解决方法:如果有“以后忽略此类错误”选项,直接勾选,点击继续即可。

(我使用该方法后,并没有再出现过该问题)

其他方案(备用):通过指令完全移除Apport

sudo apt-get purge apport

  • 问题3:突然无法开机

解决方法:先进入系统,然后通过上述方法重装显卡驱动。


尝试过的方法

  • 使用系统自带的“软件更新器”

在“附加驱动”中将原先使用的最下面的nouveau驱动(开源)更改为上面的某一个“nvidia-driver-xxx(专有)”驱动,点击“应用更改”,等待驱动在此处安装完成。

(此图片在截图时系统中已经安装好了Nvidia显卡驱动)
  •  操作结果

 重启时,系统无法正常开机。

(在网上也见到了通过此方法成功安装的视频,可能是由于本人的不当操作,在前一两次关机时遇到卡住之后就直接用电源键关机了,导致系统无法正常启动,hhhhh这个纯属玄学猜测,但是装完显卡驱动之后似乎确实关机会慢一些,可以先耐心等等看)

  • 暂时处理方法

如果在ubuntu系统下有重要文件的小伙伴可以在启动时更改系统内核从而进入系统。

这是大佬@Cloudy_to_sunny亲授的方法,非常感谢!

  • 永久处理方法

在尝试了很多我已经完全忘记的方法之后,我还是选择了重装系统。


参考资料

本文参考的资料包括但不局限于以下链接:

B站up主@机器人工匠阿杰的视频:NVIDIA显卡的Ubuntu驱动程序安装方法(核心参考教程)

知乎:NVIDIA驱动安装 - 从问题到解决(Linux/Ubuntu)

CSDN:ubuntu安装nvidia显卡驱动

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Kevin__47/article/details/131564415

智能推荐

【Git】Git中 tag 与 branch 的关系与使用_git tag和branch-程序员宅基地

文章浏览阅读1.9k次,点赞4次,收藏3次。标签是用于标记特定提交的静态引用。它是一个有意义的名称,用于表示项目的里程碑、版本发布或重要的提交。标签是不可变的,一旦创建就不会随着新的提交而移动。标签可以是轻量标签(lightweight tag),只是一个指向特定提交的引用也可以是注释标签(annotated tag),它包含了额外的信息(如标签的作者、日期、注释等)分支是代码开发过程中的不同线路或方向。每个分支都是从主分支(一般是master)派生出来的,开发者可以在分支上进行独立的工作,而不会影响主分支或其他分支。_git tag和branch

matlab进行fft变换,画出频谱图_matlab傅里叶变换后画频谱图-程序员宅基地

文章浏览阅读3.2w次,点赞19次,收藏133次。一、fft()函数matlab提供了快速傅里叶变换的函数fft(),fft函数能够进行指定点数的快速傅里叶变换。调用格式如下:resfft = fft(data1,1000); %resfft,fft 变换结果, data1--进行变换的数据,1000--指定1000点fft变换二、画出频谱图N = 1000; %点数n = 0:N-1; fs = 1000; %采样频率figureplot(n/N*fs,abs(resfft));..._matlab傅里叶变换后画频谱图

STM32输入上拉下拉 寄存器怎么设置实现_上拉输入怎么写-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏13次。STM32输入上拉下拉 寄存器怎么设置实现在输出模式下:ODR是数据输出寄存器,但是在 输入模式下,同时也用来配置上拉下拉设置。在Alientek的源码中的按键输入实验中有如下一段初始化代码:void KEY_Init(void){ RCC->APB2ENR|=1 GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入_上拉输入怎么写

Oracle数据库中instr()与substr()函数详解_oracle instr substr-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏12次。instr()函数(俗称:字符查找函数)格式1:instr( string1, string2 ) 格式1解释 :instr(源字符串, 目标字符串)格式2:instr( string1, string2, start_position, nth_appearance) 格式2解释:instr(源字符串, 目标字符串, 起始位置, 匹配序号)实例格式1实例select instr('helloworld','l') from table--返回结果:3 默认第..._oracle instr substr

第五章 相似矩阵及二次型_相似矩阵及二次型总结-程序员宅基地

文章浏览阅读798次。线性代数同济版 第五章 相似矩阵及二次型 易错题和总结_相似矩阵及二次型总结

c# OpenCvSharp 检测(斑点检测、边缘检测、轮廓检测)(五)-程序员宅基地

文章浏览阅读4k次,点赞28次,收藏53次。在C#中使用OpenCV进行图像处理时,可以使用不同的算法和函数来实现斑点检测、边缘检测和轮廓检测。_c# opencv

随便推点

JAVA Hashset求集合的交集并集差集_hashset求交集-程序员宅基地

文章浏览阅读4k次,点赞13次,收藏40次。JAVA Hashset求集合的交集并集差集Hashset是Set接口较为常见的一个子类,该子类的最大特点是不允许保存重复的元素,并且所有的内容都采用散列(无序)的方式进行存储。package com.company;//集合的交集并集差集,首先建立三个集合,有两个集合从来输入保存数字,一个用来保存结果输出。import java.util.HashSet;import java.util.Scanner;import java.util.Set;public class Main ..._hashset求交集

6.2---将服务端端封装为class_如何将代码封装成类-程序员宅基地

文章浏览阅读92次。一、概述在前面的文章中,服务端的代码都是以面向过程的形式展现,本文将之前服务端的代码封装为一个class二、代码如下MessageHeader.hpp这个头文件包含所有的数据包的格式定义#ifndef _MessageHeader_hpp_#define _MessageHeader_hpp_ //消息的类型enum CMD{ CMD_LOGIN, //登录 CMD_LOGIN_RESULT, //登录结果 CMD_LOGOUT, //退出 CMD_如何将代码封装成类

SpringBoot_为什么java spring 要安装很多东西-程序员宅基地

文章浏览阅读950次。第一章 JavaConfig为什么要使用 Spring Boot因为Spring, SpringMVC 需要使用的大量的配置文件 (xml文件,还需要配置各种对象,把使用的对象放入到spring容器中才能使用对象,需要了解其他框架配置规则。SpringBoot 就相当于 不需要配置文件的Spring+SpringMVC。 常用的框架和第三方库都已经配置好了。拿来就可以使用了。SpringBoot开发效率高,使用方便多了1.1 JavaConfigJavaConfig: 使用java类作为x_为什么java spring 要安装很多东西

Go 开发关键技术指南 | 带着服务器编程金刚经走进 2020 年(内含超全知识大图)_so major version must be compatible-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏4次。作者 |杨成立(忘篱) 阿里巴巴高级技术专家导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 3 篇。Go 开发指南InterfacesGo 在类型和接口上的思考是:Go 类型系统..._so major version must be compatible

关于Blender模型导入Unity的一些问题总结_blender导入unity-程序员宅基地

文章浏览阅读2.1w次,点赞26次,收藏180次。一、材质丢失Q:Blender的fbx格式文件导入Unity后材质球材质丢失 **啥呀**_blender导入unity

流式细胞术荧光染料PE-CY5,CY5.5-COOH的应用重庆新维创生物-程序员宅基地

文章浏览阅读240次,点赞5次,收藏3次。通过与特异性抗体结合,PE-CY5染料能够标记出细胞表面的特定分子,从而提供关于细胞类型、激活状态和功能的信息。例如,在免疫学研究中,PE-CY5染料可用于检测T细胞、B细胞、巨噬细胞等免疫细胞的表面标记。2.细胞内分子检测:除了检测细胞表面分子外,PE-CY5染料还可以用于检测细胞内的分子。通过细胞通透化处理,PE-CY5染料能够进入细胞内部,与特定分子结合,从而提供关于细胞信号转导、基因表达等信息。通过与凋亡相关蛋白的抗体结合,PE-CY5染料能够标记出凋亡细胞,从而实现对细胞凋亡的定量分析。