admin管理员组文章数量:1625795
由于各种原因,在通过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 或者
- 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密码,重新设置密码
版权声明:本文标题:Ubuntu 16.04安装NVIDIA驱动后导致的循环登录问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728934649a1180557.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论