【Ubuntu】Ubuntu18.04通过重装系统成功安装显卡驱动

0. 前言

前面用了一天的时间来解决Ubuntu安装显卡驱动出现的用户输入密码登录后出现的紫屏、循环登录的问题,过程可阅读“【Ubuntu】Ubuntu系统启动过程中,输入用户名与密码后登录一直卡在紫色界面问题”,由于是公用机子,不明白出现问题的原因。最后还是放弃了,通过重装系统来解决这个问题。本文写于成功安装之后,所以可能没几张图供参考,请谅解。本文大部分参考[1].

基本环境:  Ubuntu18.04,内核是5.0;显卡:英伟达RTX2080, 8G;主板:华硕(具体型号搞忘了)

1. 安装之前

在主板BIOS中BOOT选项中关闭Security Boot,这点很重要。设置U盘为第一启动项等等,跟安装Windows类似,不懂的朋友可自行百度。当然还得制作U盘启动盘,使用UltraISO,打开镜像后,选择写入硬盘映像。

2.安装

(1)按下电源键后,进入Ubuntu安装界面,在Install Ubuntu选项上,按e,进入命令行模式,然后在quiet slash -- 后面(也可能没有 – ),添加以下内容,然后按F10重新引导。

acpi_osi=linux nomodeset

  其实这条命令是暂时禁用nouveau开源显卡驱动程序,这一步在很多博客中没有提到。根据大多博客所述,出现紫屏或循环登录的原因是Ubuntu自带的开源显卡驱动nouveau与N卡驱动之间相互竞争“显示”的权力,故卸载N卡驱动后,能正常进入系统,一装上,又紫屏、循环登录等。

重新引导之后,你可能会发现,安装的窗口有一部分屏幕下方,导致部分按钮无法点击。此时,按下Alt+F7,鼠标会变成手指图标,即将窗口向上拖动即可。安装完成,重启。

(2)正常进入安装好的系统。刚只是暂时禁用nouveau,[1] 并没有使用 sudo vi /etc/default/grub 修改引导,很多博客提及需要修改里面一些东西,[1]直接在使用系统提供的‘软件和更新’进行驱动的安装,我的做法参考了[2]:

<1> ubuntu-drivers devices    # 检测你的NVIDIA显卡型号和推荐的驱动程序的模型
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor  : NVIDIA Corporation
model    : GK104 [GeForce GTX 680]
driver  : nvidia-304 - distro non-free
driver  : nvidia-340 - distro non-free
driver  : nvidia-384 - distro non-free recommended
driver  : xserver-xorg-video-nouveau - distro free builtin

== cpu-microcode.py ==
driver  : intel-microcode - distro free
<2> sudo ubuntu-drivers autoinstall1    # 忘了后面有没有1了

上述命令安装完之后,重启即安装成功。最后安装的是440的驱动。在这个过程中学到了一些知识:

sudo vi /etc/default/grub      # 打开引导界面,可以更改引导的设置,因为该文件是只读,所以退出方式为:esc后,输入:wq!,!表示强制的意思。
sudo vi /etc/default/grub.cfg  #grub.cfg直接对引导产生影响, 由命令 sudo update-cfg 可自动生成grub.cfg,如果只修改grub.cfg,不改grub,但是不update-grub的话,也可影响引导
sudo update-grub           # 自动生成grub.cfg

参考

[1] https://www.linuxidc.com/Linux/2019-02/157171.htm 

[2] https://www.linuxidc.com/Linux/2019-02/157170.htm