Ubuntu16.04 安装nvidia驱动之后无法登陆,在lightdm登陆界面循环的问题以及ubuntu下驱动的正确安装方法

时间:2024-03-08 18:26:10

Ubuntu更新完NVIDIA驱动后,重启电脑进入不了系统,一直处于登录界面.后来重启电脑时发现我进入不了系统了,输入我的登录密码会发现屏幕一闪,然后又重新跳回到登录界面,就是进入了login loop的状态,我一开始在网上查,很多人说是什么.Xauthority的问题,我尝试了几乎所有办法都不行,所幸最后找到了问题所在,将Ubuntu NVIDIA驱动卸载再重新安装即可。造成这种问题的与原因是:ubuntu有系统自带的驱动,但是新安装的NVIDIA驱动与其冲突,如果要安装NVIDIA驱动,必须关闭图形界面的系统自带驱动。

先介绍tty1-7的几种模式,在图形登陆界面Ctrl+Shift+F1-7
init 0:关机

init 1:单用户模式  Ctrl+Shift+F1

init 3:完全多用户模式,标准的运行级 Ctrl+Shift+F3 

init 5:启动可进入X-window系统 Ctrl+Shift+F5 

init 6:重启

Ctrl+Shift+F7:lightdm登陆界面

 

解决上诉问题的方法:

1、在你的用户登录界面按ctrl+alt+F1进入tty模式
2、输入你的账户名和密码
3、依次运行如下语句:

 

1、打开tty1,先删除旧的驱动:

sudo apt-get purge nvidia-*

2禁用自带的 nouveau nvidia驱动 (important!!!!!!!!!!)

 

创建一个文件(通过命令):

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

并添加如下内容:

blacklist nouveau

options nouveau modeset=0

再更新一下

sudo update-initramfs -u

 

修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau

如果没有结果,说明已经禁掉了

 

3重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,再安装下载的驱动就无问题,(

Ctrl+Shift+F3   或者

  1. sudo init 3  

)

首先我们需要结束x-window的服务,否则驱动将无法正常安装

关闭X-Window,很简单:sudo service lightdm stop,然后切换到tty1控制台:Ctrl+Alt+F1即可

 

4接下来就是最关键的一步了:sudo ./NVIDIA-Linux-x86_64-367.57.run开始安装,安装过程比较快,根据提示选择即可

这里利用的是自己下载编译的驱动,而非由系统下载的安装。需要提前下载匹配GPU的驱动。

我的GPU是Nvidia GeForce GT 550M,选择的是NVIDIA-Linux-x86_64-367.57.run

下载驱动

Nvidia中文官网是 http://www.nvidia.cn/page/home.html

Nvidia4.png

点“驱动下载”,转到这里。

Nvidia2.jpg

点“搜索”查找到 185.18驱动。

Nvidia1.jpg

Nvidia3.jpg

Nvidia4.jpg

下载下来NVIDIA-Linux-x86-185.18.14-pkg1.run驱动文件,放到 /home/用户名/ 目录下面。

最后安装完毕后,重新启动X-Windowsudo service lightdm start,然后Ctrl+Alt+F7进入图形界面;

 

如果安装后驱动程序工作不正常,使用下面的命令进行卸载:

sudo sh ~/NVIDIA-Linux-x86_64-367.57.run --uninstall

 

5

sudo apt-get install nvidia-settings

 

 

这里补充安装驱动的几种常用方法及命令

http://wiki.ubuntu.org.cn/NVIDIA

目录

ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open

1. ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等

出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。

解决方法:输入以下命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

之后再安装想装的包,即可解决。

2. Linux中带锁的文件夹图标,表示您没有权限访问该文件夹。

当然,你可以使用如下方法解除限制。

sudo chmod +777 路径(文件夹或文件) (以Ubuntu为例)

 

补充: +777和+755的区别

在linux终端先输入ll,可以看到如:   
-rwx-r--r-- (一共10个参数)
表示文件所属组和用户的对应权限。
第一个跟参数属于管理员,跟chmod无关,先不管.
2-4参数:属于user
5-7参数:属于group
8-10参数:属于others
接下来就简单了:r==>可读 w==>可写 x==>可执行
r=4 w=2 x=1
所以755代表 rwxr-xr-x
777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行。

3. You do not appear to have an NVIDIA GPU supported by the 1.0-8776  NVIDIA Linux graphics driver installed in this system. 

--安装出错

WARNING: You do not appear to have an NVIDIA GPU supported by the 1.0-8776
         NVIDIA Linux graphics driver installed in this system.  For further
         details, please see the appendix SUPPORTED NVIDIA GRAPHICS CHIPS in
         the README available on the Linux driver download page at
         www.nvidia.com.
License accepted.
-> A precompiled kernel interface for kernel \'Red Hat Linux 9 updated to kernel
   2.4.20-8 Athlon\' has been found here:
   ./usr/src/nv/precompiled/nv-linux.o-1.0-8776.rh9up_2.4.20-8_athlon.
   executing: \'cd ./usr/src/nv; /usr/bin/ld -d -r -o nvidia.o precompiled-nv-li
   nux.o nv-kernel.o\'...
-> Kernel module linked successfully.
ERROR: Unable to load the kernel module \'nvidia.o\'.  This happens most
       frequently when this kernel module was built against the wrong or
       improperly configured kernel sources, with a version of gcc that differs
       from the one used to build the target kernel, or if a driver such as
       rivafb/nvidiafb is present and prevents the NVIDIA kernel module from
       obtaining ownership of the NVIDIA graphics device(s).
      
       Please see the log entries \'Kernel module load error\' and \'Kernel
       messages\' at the end of the file \'/var/log/nvidia-installer.log\' for
       more information.
--安装时出错原因


目前nvidia 驱动主持2.4和2.6 内核,debian/fedora 用户安装驱动时注意安装 kernel-headers。

sudo ./NVIDIA-Linux-x86-1.0-4496-pkg2.run --add-this-kernel

4 如何使U盘直接和linux相连接,如何查看U盘内容

挂载u盘: 1.在mnt文件夹下创建一个挂载u盘用的文件夹 mkdir /mnt/usb 
2.插上u盘查看u盘被识别成什么 fdisk -l
3.比如u盘识别成了sdb1,开始挂载u盘 mount /dev/sdb1 /mnt/usb
4.打开/mnt/usb文件夹就是u盘文件里
5.卸载u盘 unmount /dev/sdb1

拷贝: cp -i xxxx.xx拷贝目标文件  /xxx/xxx/xxx/拷贝目的目录 

参考文献

1. ubuntu16.04 NVIDIA显卡驱动安装 http://blog.csdn.net/u012581999/article/details/52433609

2. ubuntu安装nvidia驱动的指导手册及命令 http://wiki.ubuntu.org.cn/NVIDIA

3. ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open http://blog.sina.com.cn/s/blog_4fd984420100y6or.html

4 rethat下安装nvidia 显卡驱动问题解决方法 http://blog.csdn.net/cyco008/article/details/2281537

5. 两种Ubuntu安装N卡官方驱动的方法 http://cryolite.iteye.com/blog/657951

6. 如何使U盘直接和linux相连接,如何查看U盘内容 https://zhidao.baidu.com/question/311865507.html?skiptype=2

7.Linux chmod +755和chmod +777  https://zhidao.baidu.com/question/168415347.html?skiptype=2