前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)

ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)

作者头像
Enterprise_
发布2019-03-11 11:25:14
3.3K0
发布2019-03-11 11:25:14
举报
文章被收录于专栏:小L的魔法馆小L的魔法馆

前言回顾

代码语言:javascript
复制
Ubuntu 16.04 LTS + Windows 10双系统(notebook)
显卡:GeForce GTX 950M
集显+独显

所有不说环境的教程都是耍流氓啊QWQ,

本来想了解一下X-Window,所以打算去tt1,结果ctrl+alt+f1出现的居然是图形界面,搜了一下是显卡驱动版本的问题,此时我用的是Xorg开源驱动,于是根据教程,准备安装一个最新版的NVIDIA驱动,然后噩梦就开始了QWQ 先回顾一下我的过程:

  • 1.先去nvidia官网找个支持显卡的最新版的NVIDIA
  • 2.结果为NVIDIA-Linux-x86_64-418.43.run
  • 3.然后卸载所有N卡驱动sudo apt-get remove --purge nvidia*
  • 4.禁用nouveau驱动
代码语言:javascript
复制
sudo vi /etc/modprobe.d/blacklist.conf
文末加入
blacklist mouveau
更新
sudo update-initramfs -u
lsmod |grep nouveau
无输出
  • 5.禁用x-windowsudo /etc/init.d/lightdm stop
  • 6.然后按照命令行安装驱动,即先给权限sudo chmod a+xNVIDIA-Linux-x86_64-418.43.run,然后加参数sudo ./NVIDIA-Linux-x86_64-418.43.run -no-opengl-files
  • 7.重启x-window服务sudo /etc/init.d/lightdm start
  • 8.reboot

但是这样进入系统之后发现分辨率变成了1024*768,并且不能修改,使用xrandr修改失败,Additional Drivers中变成了Continue using a manually installed driver

在这里插入图片描述
在这里插入图片描述

details中显示如下,LLVMpipe 是一个基于 LLVM 的 Gallium3D 驱动,这个我在用virtual box的时候出现过,是利用 CPU 的实现 OpenGL ,同时可以在不具备 3D 加速的设备(虚拟机或者显卡驱动有问题)上提供 GNOME Shell 体验。 所以综上,我装了驱动,但是安装有问题,或者没有被识别

在这里插入图片描述
在这里插入图片描述

到这里为止,我就开始放飞自我(zuo si) 我尝试重新调低版本,所以直接去software centre找了个384版本,也就是上上图中灰色的那个版本 ,安装重启,然后就黑屏了0.0 但是tt1又可以进去了,所以我又在tt1重装下了那个最新版本,进入之后分辨率依然出错,所以我有回tt1下换回了384版本,然后就login loop了,然后这个过程开始循环…期间查找各路大神博客,一篇篇尝试,但是没什么用,进去不是黑屏,就是login loop,还有分辨率问题

最终解决:

在ubuntu论坛上查找 https://ubuntuforums.org/showthread.php?t=1613132 其中提到一个问题,安装专有驱动后nomodset不再需要,这个内核选项我是在安装双系统的时候加上去的,目的是告诉内核不加载驱动程序,而是使用BIOS模式,等到加载X服务,也就是调用集显来进入tt7(x-window),因为刚安装的系统还没有安装过驱动。 原文: Note that this option is sometimes needed for nVidia cards when using the default “nouveau” drivers. Installing proprietary nvidia drivers usually makes this option no longer necessary, so it may not be needed to make this option permanent, just for one boot until you installed the nvidia drivers. 在nvidia论坛上找了相关问题 解决: https://devtalk.nvidia.com/default/topic/1031213/linux/problem-installing-nvidia-390-42-driver-on-ubuntu-16-04/ 也就是用从ubuntu’s graphics ppa中进行安装,而不是run的文件 此时我已经进不去tt7了,所以往下都是在tt1下进行的操作 综上开始以下操作:

0.关闭x服务

代码语言:javascript
复制
sudo service lightdm stop

1.禁用nouveau

代码语言:javascript
复制
sudo vi /etc/modprobe.d/blacklist.conf
#文末加入
blacklist mouveau
sudo update-initramfs -u

lsmod |grep nouveau 无输出

2.加入

代码语言:javascript
复制
sudo add-apt-repository ppa:graphics-drivers/ppa

3.更新

代码语言:javascript
复制
sudo apt-get update

4.查找匹配驱动

代码语言:javascript
复制
sudo ubuntu-drivers devices

输出

在这里插入图片描述
在这里插入图片描述

5.选择推荐版本

代码语言:javascript
复制
sudo apt-get install nvidia-415

6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | grep nvidia,成功结果如下

在这里插入图片描述
在这里插入图片描述

7.重启x服务

代码语言:javascript
复制
sudo device lightdm start

8.此时还不能进入图形界面,因为nomodeset还在,所以重启,在grub界面,此时按下`E’键

在这里插入图片描述
在这里插入图片描述

9.删除 nomodeset参数,在GRUB_CMDLINE_LINUX_DEFAULT="quiet splash之后,删除它,然后留一个空格

10.按f10进入

一般此时已经成功了,所以修改grub,删除 nomodeset参数

代码语言:javascript
复制
sudo vi /etc/default/grub

更新grub

代码语言:javascript
复制
sudo update-grub

11.重启,结束

12.option

如果在第8仍然不能进去,可以尝试在删除后空一格,然后加入acpi_osi=linux,来将内核伪装为linux进行执行,从而执行相应例程,如下图所示。这样进入系统之后,仍然需要修改grub,即先删除nomodeset,然后加入acpi_osi=linux,更新grub,重启,结束

在这里插入图片描述
在这里插入图片描述

13.最后结果,显示正常,tt1~tt7都没有问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年02月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言回顾
  • 最终解决:
    • 0.关闭x服务
      • 1.禁用nouveau
        • 2.加入
          • 3.更新
            • 4.查找匹配驱动
              • 5.选择推荐版本
                • 6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | grep nvidia,成功结果如下
                  • 7.重启x服务
                    • 8.此时还不能进入图形界面,因为nomodeset还在,所以重启,在grub界面,此时按下`E’键
                      • 9.删除 nomodeset参数,在GRUB_CMDLINE_LINUX_DEFAULT="quiet splash之后,删除它,然后留一个空格
                        • 10.按f10进入
                          • 11.重启,结束
                            • 12.option
                              • 13.最后结果,显示正常,tt1~tt7都没有问题
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档