Ubuntu 18.04 修复显卡驱动

硬核警告,仅限救急使用,帮助你找回自我(特指小傲娇:Ubuntu 🙃)

背景介绍


本人因为电池膨胀需要更换,更换完成后进入Ubuntu便出现分辨率固定在800*640无法更改,且无更改选项,(其实是因为断电重置了BIOS,导致安全启动被开启,安全启动又称secure boot,要让他变成禁用或者disable才行,有可能disable之后就可以了但我没试过,下次你们遇到可以先试试)网上的博客有几种方法解决:

1、修改内核(这个千万别碰),碰了的话,第一,得先找回当初装驱动所对应的内核版本(如果你平时一直是通过电脑开机的启动界面里的Ubuntu进入就不用怕,要重装的驱动对应的内核版本就是你默认通道进入Ubuntu的那个版本)内核版本可以用过以下方法来查看:

uname -r

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/49b5883b-5010-4868-814d-31de2b623a5b/1.jpg

2、降低内核版本,通过修改grub文件里面的参数进行版本选择(不用管他,重装驱动就行,不然后越整越坏)

为了排除问题

查看nvidia-smi会发现以下字样:

nvidia-smi has failed because it couldn't communicate with the nvidia driver. make sure that the latest nvidia driver is installed and running.

去查看驱动是否存在(查看的方法我没找回抱歉),发现是存在的,说明驱动出了问题,得重装

解决方法


网上说的重装方法有三种:(本人用的是第三种,前面两种不可取就不详细介绍了)

  1. 直接在软件与更新里面安装(最简单、最常用)安装步骤
  2. 利用ppa安装
  3. 通过Nvidia官网进行驱动下载(文件是.run后缀),然后进行手动安装,详细操作步骤如下:

1、检查显卡驱动型号

有两种情况:想换新的驱动\重装原来的驱动先说换新的,可以通过如下方法查看自己显卡驱动型号以及他推荐的版本

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f11f3ba1-12e5-4809-a6f4-33f7dea8f5db/2.jpg

后面带distro non-free代表专用的意思,这些一般都是推荐的,

2、上官网下载相应驱动包

知道想装的型号之后就在nvidia官网进行搜索:

Download The Latest Official GeForce Drivers

本人为例,我是1060的

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a267ffdb-714c-438e-a9b5-a8f221550f08/3.jpg

语言随意,其他的比较浅显易懂,操作系统查看设置里面的关于就行,一般是64位的然后进行搜索,有如下版本,(下面还有很多)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e2b4d82e-0c77-4e8a-9f03-2d85316e5f24/4.jpg

下载相应版本后,在下载找到xxx.run文件,将其放置在任意英文路径下,后面安装的时候方便查找和使用,本人是放置到了home的目录下

如果想下载快点,可以去国内的 nvidia 官网下载

官方 NVIDIA 驱动

3、禁用 nouveau

然后我们去把那个第三方驱动给拉入黑名单,先编辑文件,禁用nouveau

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文档中添加:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

然后更新下配置

sudo update-initramfs -u

更新结束后重启电脑(必须)

重启后检查是否禁用成功

lsmod | grep nouveau

如果没有输出则禁用成功,下面将进入安装阶段

4、关闭用户图形界面

(网上有的会说关闭xserver,或者是sudo telinit3,其实都是一样,都关闭图形话界面来让显卡进行空置)

sudo systemctl set-default multi-user.target 
sudo reboot

重启后桌面会消失,只有一个终端显示,需要先按ctrl+alt+F1,然后输入账户和密码登录

5、卸载所有原来的显卡驱动文件

sudo apt-get remove --purge nvidia*                                          #(删除主体)
sudo apt-get autoremove                                                                #(删除残留)
sudo /usr/bin/nvidia-uninstall                                                       #(这个进入后会显示一些选项,全部yes就行)
sudo apt-get --purge remove "*nvidia*"

6、 更新一下一些依赖,以防万一

(其实大部分电脑已经有了的)

sudo apt-get update 
sudo apt-get install dkms build-essential linux-headers-generic
sudo apt-get install gcc-multilib xorg-dev
sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

7、 授予权限

在驱动程序路径下,将驱动程序赋予最高权限

sudo chmod 777 驱动文件名                                                          #(记得是全称,带后缀的记得)

8、 安装驱动

sudo ./驱动文件名 -no-x-check -no-nouveau-check -no-opengl-files

进入后先continual install,

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 继续
# 选项是:install without signing
Nvidia's 32-bit compatibility libraries? 
# 选择 No 继续
然后会进入一个buliding kernel modules,如果在这个界面一直卡进度条,则跳回第五步重新来即可
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  继续

9、 重启

重启一下(也可以省略)

10、 开启用户图形界面

然后开启用户图形界面

sudo systemctl set-default graphical.target
sudo reboot

11、 大功告成 💫

开机后查看

sudo nvidia-smi

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2ab0d100-4874-4d56-bd64-767d7450fca0/5.jpg

大功告成

参考链接


如果你也是一个Ubuntu下的NVIDIA受害者,可能你在找的就是这篇文章・for-given

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

Ubuntu16.04 安装NVIDIA英伟达驱动教程 及常见几种报错Error的解决方案_beizhengren的博客-CSDN博客

Ubuntu下安装最新NVIDIA 510.47.03显卡驱动教程