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

【Ubuntu】Ubuntu18.04通过重装系统成功安装显卡驱动的更多相关文章

  1. nvidia gtx1050在kali linux系统下安装显卡驱动,且可以使用x-setting切换显卡

    转自:https://www.zzhsec.com/255.html 1.更换源[使用中科大或者官方源都可以] 下面使用中科大的源 root@Andy:/home/dnt# vi /etc/apt/s ...

  2. 在ubuntu 14.04 64位系统上安装32位库

    转自:http://www.enjoydiy.com/2937.html 有些软件还是依赖32位的库,但是64位的系统已经成为现在的主流.以前的ubuntu可以通过下面的命令安装:           ...

  3. 从零到一,利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernetes v1.10.0

    说明 初步接触kubernets,记录学习过程 本教程目的利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernets v1.10.0 环境信息 节点IP地址 角色 ...

  4. ubuntu18.04 lts重装VMware Tools实现主机文件共享等功能

    ubuntu18.04 lts重装VMware Tools实现主机文件共享等功能 在VMWare 14.x上安装ubunuu18.04 lts后发现,可以实现全屏显示,但是没有与主机共享文件的功能,然 ...

  5. 在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件

    在Ubuntu18.04.2LTS上使用wine安装qq,微信,迅雷,百度网盘,网易云音乐等软件 一.前言 在Linux上办公有一点一直是大家的痛,那就是这些系统上没有我们常用的一些软件,比如QQ,微 ...

  6. Ubuntu 16.04 + GTX970 + cuda8.0.44安装配置等问题(转)

    参考:https://blog.csdn.net/u010094199/article/details/54380086 参考:https://blog.csdn.net/jonms/article/ ...

  7. Ubuntu18.04+windows10双系统时间同步教程

    前言: 系统安装windows10和Ubuntu18.04双系统后会出现时间不同步的情况,往往windows系统的时间会有错误,一般会有8个小时的误差. 原因: 主要因为本地时间与硬件时间的时差: 本 ...

  8. 在 Ubuntu 12.04 上通过源码安装 Open vSwitch (OVS)

    安装 Ubuntu 12.04, 而且更新系统 apt-getupdate; apt-getupgrade; 安装所需的package apt-get install automake autocon ...

  9. Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】

    本文转载自:http://www.linuxdiyf.com/linux/24086.html Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用 发布时间:2016-09 ...

随机推荐

  1. .NET Core 反编译dll源码查看

    一.可以通过JetBrains dotPeek进行反编译 二.可以通过.NET Reflector和VS自带的反编译工具查看

  2. 题目分享N

    题意:有辆车,有r行,s*2列,在第s列和第s+1列之间有个过道,出口在第r+1行的过道处,现在给出每个人的位置(行号和列号),每人每次只能动一格,问最少耗费多长时间全员才能逃出去 分析:假如车上只有 ...

  3. 初识Java和JDK下载安装

    故事:Java帝国的诞生 对手: C&C++ ◆1972年C诞生 ◆贴近硬件,运行极快,效率极高. ◆操作系统,编译器,数据库,网络系统等 ◆指针和内存管理 ◆1982年C++诞生 ◆面向对象 ...

  4. 多表同步 ES 的问题

    原始需求 对跨业务域数据提供联查搜索能力. 比如:对退款单提供根据退款单.退款状态.发货状态的联查,其中退款状态和发货状态是跨业务域. 比如:对订单提供根据订单号.订单状态.退款状态的联查,其中订单状 ...

  5. 【HBase】底层原理

    目录 系统架构 表数据模型 物理存储 系统架构 在文章[HBase]基本介绍和基础架构中已经有简单介绍 Client -- 包含访问hbase的接口,client维护着一些cache来加快对hbase ...

  6. pyltp安装教程及简单使用

    1.pyltp简介 pyltp 是哈工大自然语言工作组推出的一款基于Python 封装的自然语言处理工具(轮子),提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能. 2.pyltp ...

  7. docker-compose安装rabbitmq集群(主从集群---》镜像集群)

    docker-compose安装rabbitmq集群(主从集群--->镜像集群) yls 2020/5/11 创建docker-compose.yml 文件 version: '3' servi ...

  8. ASP.Net Core中使用Swagger

    我们先简单介绍下什么是Swagger,主要是用来干嘛?? 在Swagger诞生之前,我们通常在开发接口的过程中,需要前后端共同维护一个接口文档,然后大家按照接口文档的规范进行对接.接口文档俨然成了接口 ...

  9. python语法学习第十一天--迭代器

    迭代:类似循环,这一次的值作为下一次迭代的开始值 BIF:iter():将某个可以作为迭代器的容器变为迭代器   next():做下一次迭代 当next()到最后一个时,抛出StopIteration ...

  10. [poj1741 Tree]树上点分治

    题意:给一个N个节点的带权树,求长度小于等于K的路径条数 思路:选取一个点作为根root,假设f(root)是当前树的答案,那么答案来源于两部分: (1)路径不经过root,那么就是完全在子树内,这部 ...