admin管理员组

文章数量:1625825

由于各种原因,在通过CUDA安装显卡驱动或者直接通过NVIDIA驱动程序安装显卡驱动后,有时会出现显卡驱动崩溃的情况,而这种情况的表现形式就是循环登陆(或附带屏幕分辨率异常),这时就需要进行显卡驱动程序的卸载重装。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

关于nvidia显卡驱动的卸载重装,不少博客中介绍的方法中都是将 'nvidia-*' 相关的东西全部卸载,这样虽然可行,但如果安装了CUDA,则CUDA相关的程序也会被卸载,因此不建议这样操作。因为在NVIDIA公司的显卡驱动程序中,已经附上了一键卸载驱动程序的指令。因此有如下操作步骤:

1.开机进入到登录界面,此时虽然循环登录,但这只是桌面模式的循环登录,文本模式依然可用,因此进入文本模式,登录root用户(登录一般用户也行,后面操作记得升级权限就行);

 

sudo -s

然后输入密码就可以切到root

2.直接输入卸载命令:

nvidia-uninstall 

3.重启

reboot

 

补充:

 

先介绍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的驱动。

 

 

 

补充2:

如果后期登录系统出现"The system is running in low-graphics mode..",解决办法如下:

1.ctrl+alt +F1进入文本模式

2.输入用户名和密码进入系统

3.执行如下 命令A

cd /etc/X11
sudo cp xorg.conf.failsafe  xorg.conf

sudo reboot

如果还是不行,那么需要回上面步骤卸载NVIDIA驱动,并且重装。

步骤如下:

1.先卸载nvidia驱动:

sudo apt-get purge nvidia-*

2.暂停X server

sudo  service lightdm stop

如果没有事先停止x-server,安装驱动过程中会出现“You appear to be running an X Server...."

解决:

sudo init 3 
rm  /tmp/.X*

init 3也关不掉X -server,那么请执行3.中命令A 

 

3.安装*.run

sudo ./NVIDIA-Linux-x86_64-384.130.run

完毕后记得恢复图形界面:

sudo  service lightdm start

然后ctrl+ alt+ F7进入登录界面。

至此,完美解决。

 

其他情况,可以参考这里

------------------------------------------------分--------------------------------割---------------------------------线------------------------------------

2019.07.29更新

电脑重启后,分辨率异常

执行:nvidia-smi,报错如下:

Ubuntu16.04的系统

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.找到根源,解决问题

我先大概讲解下,具体方法参考这里

原因是内核版本太高的问题,然后修改默认开机启动的内核版本;或者进入 grub菜单 ,选择advance option for Ubuntu查看子菜单  选择要进入的内核版;

操作

1.开机进入grub引导界面,选择Advanced options for Ubuntu;

2.选择比当前内核版本低的内核版本,查看当前内核版本的命令为:

uname -r

 

注意,在此之前我进入系统异常的内核版本其实是4.15.0-55-generic,于是我选择了低版本的0.54就正常进入了。

 

当然上述办法并不能一劳永逸,只是暂时解决,如果需要从根源解决,那还是得更新Ubuntu默认开机启动的内核版本

办法如下:

 

终端执行:

sudo gedit /etc/default/grub


GRUB_DEFAULT=0

修改为:

GRUB_DEFAULT="1> 3"

(注:1 代表主菜单的第二项Advanced options for Ubuntu;3代表1项目下面对应的子菜单里面的第4项;)

修改后保存退出,执行:

sudo update-grub


重新启动,现在应该默认启动旧的内核版本。

 

------------------------------------------------分--------------------------------割---------------------------------线------------------------------------

2019.09.28 无root权限问题

1.开机时,按住shift或者esc,进入grub菜单。

2.进入Advanced options for Ubuntu 。

3.光标移至...(recovery mode)选项,按 e 键。

4.将出现的文字中的"ro recovery nomodeset"改为 “rw single init=/bin/bash”。

5.按ctrl+x进入单用户模式,当前用户即为root。

root到手,天下我有。

接下来,如果仅仅是想给当前用户root权限,则:
将用户加入admin组,获取sudo权限。

usermod -a -G admin username
eg:usermod -a -G sudo gavin

若admin组没有了,可以先添加。
groupadd admin

之后就reboot -f重启即可获取root权限了。

如果本来忘记了root密码,则输入命令passwd,如下

按下"Enter"键,即可设置新密码了,输入两次,然后重启!

 

参考文献:

忘记root密码?失去sudo权限?进入单用户模式!

忘记超级用户root密码,重新设置密码

 

 

 

本文标签: UbuntuNVIDIA