Ubuntu 16安装Nvidia 364驱动后陷入登录循环。

这不是从登录循环开始的问题。我试图进行Ubuntu 16的清洁安装,并使用新功能来检测专有驱动程序。
我从这个问题开始。
当我尝试使用推荐的Nvidia驱动程序时,它导致笔记本电脑变得不稳定并冻结。
我尝试了那篇帖子中的解决方法,结果导致了登录循环。
我已经尝试了这个
sudo mv ~/.config/dconf/user ~/.config/dconf/user.old

尝试了一下this
sudo mv ~/.Xauthority ~/.Xauthority.backup
sudo service lightdm restart

我已经尝试过查找和禁用安全启动,但在BIOS中没有安全启动选项。这是一台HP DV2000系列的笔记本电脑。
没有任何帮助。 当我尝试登录时出现的情况,有人可以帮忙吗?
编辑:
访客会话也出现相同的循环。 /var/log/Xorg.0.log显示了很多内容,但我拍了一张似乎相关的照片在这里
问题是,我最初尝试的驱动程序是304版,而根据其他帖子,364版应该是解决方案。
进一步编辑:
我清除了NVIDIA文件,桌面恢复为空白,没有界面,所以我右键点击并恢复了备份... 侧边栏回来了,运行的是gallium。我重新启动后又变成了空白的紫色屏幕。
我在考虑重新安装系统,不使用NVIDIA驱动程序。软件中心告诉我我的电脑是Presario型号,应该使用304版本的驱动程序。但实际上它并不是Presario型号,这让我有点失望。好在软件中心提供了协处理器驱动程序的建议,这还算不错。

访客会话允许登录工作吗?/var/log/Xorg.0.log中有哪些错误(标记为(EE))?/.xsession-errors中有哪些错误?您尝试删除/重命名/.ICEauthority了吗? - ubfan1
我也有相同的问题。http://askubuntu.com/questions/761819/nvidi-361-login-loop-ubuntu-16-04-lts/762823#762823 - shiv garg
我已经解决了这个问题。请参考我的问题以获取答案。 - shiv garg
进入UEFI/BIOS设置,禁用安全启动。然后安装NVIDIA驱动程序。这样就可以正常运行了。 - pradyot
如果你认为问题出在用户设置上,那么尝试使用新创建的用户账户登录,看是否会出现相同的问题。这比更改配置要快得多,也不会造成太大的干扰。 - Amias
我能够通过在安装之前手动禁用BIOS上的安全启动功能来解决问题。除此之外,我按照这个指南guide进行了安装。 - Duy Nguyen
最终你会看到"--no-opengl-files"或类似的内容。再次执行"sudo bash *.run --no-opengl-files"。完成后,执行"sudo service lightdm restart"。 - Dinesh
你可以尝试按下Ctrl + Alt + F7以进入文本模式登录:chown username:username .Xauthorit,然后按下Ctrl + Alt + F1再次登录。 - Dũng IT
10个回答

如果你之前成功地在16.04上使用了你的视频驱动程序,但是在最新的软件更新后出现了登录循环问题,那么请尝试以下方法,这个方法在我尝试了其他所有方法之后才起作用。这相当于搜索"附加驱动程序":
sudo ubuntu-drivers list

然后使用:
sudo ubuntu-drivers autoinstall

对我来说,这种更新了我的NVIDIA QuadroFx 3800驱动程序的方式是使用“sudo apt-get install nvidia-current”无法实现的。
自动安装后,调用另一个tty(例如ctrl+alt+f1)并执行以下操作:
sudo service lightdm restart

2这对我来说有效果,安装CUDA 8.0后,在Ubuntu 16.04上引起了登录循环。虽然还没有验证CUDA是否正常工作。 - John Prior
1我正在使用nvidia-304驱动程序,几乎每次升级都会遇到登录循环的问题。这是我找到的最简单的解决方案。 - Italo Borssatto
2我知道我们在这里不应该说“谢谢”,但是你真的帮了我大忙。 - Cokes
2这也是上个周末发生在我身上的事情;在安装更新后,我遇到了登录循环的问题。运行sudo ubuntu-drivers autoinstall解决了我的问题。(Ubuntu 16.04.2 LTS) - AnthonyK
1只是想创建一个账户并说声非常感谢,这个问题真是太奇怪了,尤其是因为我只是在Ubuntu系统设置中选择了我认为是正常选项,然后突然崩溃了,但这个解决方法完美地修复了一切,非常非常感谢您的帖子。此外,这类问题让我在解决Linux问题方面获得了更多经验。 - Cacoon
1谢谢!这对我有用。但是你能否解释一下为什么会发生无限循环,以及为什么这个程序可以解决它呢?再次感谢。 - Microos
1我本来打算把这个帖子转发到一个类似的问题上,但是想着你可能想要得到点赞的积分:https://askubuntu.com/questions/223501/ubuntu-gets-stuck-in-a-login-loop。 - Nick
2这对我也起作用。似乎 sudo ubuntu-drivers list 显示与您的设备完全兼容的驱动程序。我一直在安装最新的驱动程序版本,但没有一个能工作,直到我尝试了您的解决方案。谢谢! - Amir
非常感谢你。我不在乎这里的规则,我会在评论中表示感谢。此外,还给你应得的点赞。 - ComputerScientist
这就是最终对我有效的方法。Thinkpad T61配备Quadro NVS 140M显卡。使用Ubuntu 17.10 x64和nvidia-340驱动程序。不确定是否必要,但我还确保通过sudo apt-mark hold nvidia-340命令来锁定驱动程序版本。 - nitro2k01
我只在一个月前升级到了16.04版本,并安装了nvidia-current驱动程序,但今天遇到了登录循环的问题。我尝试了一些之前曾经尝试过但失败的方法。这个方法解决了我的问题。 - eshwar
这个咒语真是强大!我尝试安装CUDA 9.0用于tensorflow-gpu,但安装后我陷入了登录循环。你的方法帮助我恢复了桌面!(顺便说一句,tensorflow-gpu崩溃了,但至少我没有浪费时间重新安装Ubuntu) - Maksym Ganenko
+1 对于你的好用户名DontLoseHope(还有很棒的回答)。谢谢! - salocinx
完成后,我收到了“系统正在以低图形模式运行”的提示,然后出现了几个选项,“您想要做什么”。 - Nathan B
有没有办法使用这种方法安装旧版的NVIDIA驱动程序?我想使用Steam,但是版本为390及更高的NVIDIA驱动似乎不支持它。 - exAres

如果你真的想使用Nvidia官网提供的驱动程序(他们解决了我的NVIDIA GTX980M上的cublas错误CUBLAS_STATUS_NOT_INITIALIZED),唯一有效的方法是:
按下CTRL-ALT-F1 卸载任何先前的驱动程序:
sudo apt-get remove nvidia-*
sudo apt-get autoremove

从 .run 文件中卸载驱动程序:

sudo nvidia-uninstall

这样应该可以解决登录循环的问题,现在重新启动并正常登录。
只适用于使用lightdm的情况, 再次按下CTRL-ALT-F1并执行以下操作:
sudo service lightdm stop
sudo bash Your-Nvidia-Drivers-File.run

我使用了所有默认选项,除了opengl,我选择了不安装。虽然我不知道这是否重要。

而且这里是重要的部分:请勿重新启动。只需执行以下操作:

sudo service lightdm restart

按下 CTRL-ALT-F7 键立即登录安装完成后。这样我再也没有遇到登录循环的问题了。

1不确定背后到底发生了什么,但是这篇帖子的前半部分成功地帮我解决了无限循环登录的问题,现在我已经回到了Ubuntu的图形界面! :) - Atlas7
1第一部分解决了我的登录循环问题。谢谢! 但是当我尝试安装新的CUDA包时,登录循环问题又出现了。 然后我意识到我的原始Ubuntu默认Nvidia驱动程序比CUDA包的Nvidia驱动程序更新。 因此,当我重新安装CUDA包时,我选择了"不安装新的Nvidia驱动程序",然后按照默认选项继续(顺便说一下,我选择了安装opengl并没有引起任何问题)。最后它成功了! - Geeocode
我需要执行remove --purge命令。 - Ciro Santilli OurBigBook.com

我在Ubuntu 14.04和NVIDIA-304驱动程序上遇到了同样的问题。
这个驱动程序在系统更新期间从版本304.131升级到了304.132。这个新的驱动程序版本是我的问题的根源。
重新安装旧的驱动程序版本(304.131)解决了这个问题。现在一切都正常工作。
更多信息请参见此Launchpad错误页面
在这里你可以找到304.1驱动程序: https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/304.131-0ubuntu0.14.04.1 在页面的右侧选择你的构建(amd64或i386),这将打开下载页面,你可以选择你的下载(我的是nvidia-304_304.131-0ubuntu0.14.04.1_i386.deb)。 下载并复制到USB闪存驱动器。 打开遇到登录循环问题的计算机,打开终端,停止lightdm服务。
sudo service lightdm stop

清除NVIDIA驱动程序:
sudo apt-get purge nvidia*

插入带有下载文件的USB闪存驱动器,在计算机上运行fdisk以识别您的USB闪存驱动器:
sudo fdisk -l

(我的是/dev/sdb1)
将USB存储设备挂载上去之前,先创建一个挂载点:
sudo mkdir /media/usb

挂载USB。
sudo mount /dev/sdb1 /media/usb

检查下载的文件是否存在:
ls /media/usb

安装NVIDIA驱动程序:
sudo dpkg -i /media/usb/nvidia-304_304.131-0ubuntu0.14.04.2_i386.deb

(请将文件名替换为您下载的文件名)

卸载USB闪存驱动器:

sudo umount /media/usb

重启系统
sudo reboot

希望这可以帮助。

1你能否详细解释一下?对于提问者以及其他遇到类似问题的人来说,解释如何重新安装驱动程序将非常有帮助。 :) - AnotherKiwiGuy


我在通过Nvidia控制面板的xorg.conf中调整屏幕配置后遇到了类似的问题。之前,我一直在1080上使用最新的驱动程序(当时是381.09版本),连接3个屏幕没有任何问题。但是一旦重新启动,我就陷入了登录循环。
为了修复这个问题,我简单地执行了以下步骤:
- 打开终端(按下ctrl-alt-f1) - 重命名我的xorg.conf文件(执行命令sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf~) - 然后重新启动,让系统自行重新配置。
这是一个非常快速的解决方法,无需重新安装驱动程序等。我很想避免破坏各种依赖项,比如CUDA。

打电话给客服终于解决了问题。我在我的SuperMicro工作站上有两个显卡(Geforce 1080和1080Ti)。在正确安装了显卡驱动程序后,需要进入tty模式并停止lightdm服务,然后你需要拔掉主板上的VGA/DVI连接线,将显示器的连接线插到显卡接口上。在我的情况下,将连接线插到1080Ti显卡的DVI接口上,登录循环的问题解决了。

我在升级到16.04后,在几台电脑上遇到了类似的问题。首先,请确保计算机的BIOS中已禁用安全启动。旧的计算机可能没有这个选项。
你能通过按下Ctrl-Alt-F4来进入命令提示符吗?如果可以,请输入你的用户名和密码进行登录。然后尝试输入以下内容:
sudo lspci|grep VGA

当被要求时,输入密码。

如果您的系统显示您拥有NVIDIA图形,则输入以下内容:

sudo apt-get purge nvidia

等到这个完成后再输入:
sudo apt-get install nvidia-current

完成后,键入sudo shutdown -r now以重新启动计算机。您应该能够进入一个正常工作的桌面。
这也可以解决16.04版本的登录循环问题或黑屏带光标的问题。

nividia-current安装一个(旧的)稳定和LTS版本的驱动程序,不适用于更新的芯片组。这 不应该 是默认推荐。 - user589808

另外一个解决方案是不使用NVIDIA驱动程序,因为它们经常会造成很多麻烦,而且用户并不总是意识到这是NVIDIA驱动程序导致的。
我更推荐使用Nouveau驱动程序。在安装了Nouveau驱动程序之后,我从未遇到过任何问题。
1 - 清除NVIDIA软件包:
sudo apt purge nvidia*

2 - 安装Nouveau驱动程序。对于Ubuntu 16.04,我建议使用xserver-xorg-video-nouveau-lts-xenial
sudo apt install xserver-xorg-video-nouveau-lts-xenial

3- 然后重新启动
sudo reboot

现在问题应该已经解决了!对于某些图形设备可能仍然存在另一个问题:被困在800 x 600的丑陋低分辨率中。
以下是一些额外的步骤,以克服这个问题并设置您想要的分辨率:
4- 进入您的grub配置文件(这里我将使用nano):
sudo nano /etc/default/grub

5- 在文件中查找以 #GRUB_GFXMODE= 开头的行(可能会看到写着#GRUB_GFXMODE=800x600
6- 取消注释该行(删除 #),并将当前分辨率替换为您选择的分辨率。这里我使用 1920x1200 来获得此效果:

GRUB_GFXMODE=1920x1200

7- 保存更改并关闭文件。 8- 更新您的 grub 参数:
sudo update-grub

9- 最后再重新启动一次:
sudo reboot

现在一切应该正常工作:您可以登录,并且显示的分辨率是您选择的那个。
登录后可能会出现一个关于xrandr的错误消息:这还不是一个完全的修复,但也不应该是太大的问题。只需点击“确定”即可。

选择Nouveau驱动程序将减轻您很多负担,因为您将不会遇到可能破坏您安装的NVIDIA驱动程序更新。


我在2012年购买的MacBook Pro Retina上运行Ubuntu 16.04时遇到了登录循环问题。 多年来,我一直在使用来自xorg-edgers的nvidia-304驱动程序,情况一直不错,也基本上是唯一可用的选项(与uefi引导一起使用)。 在最新更新(2016年11月4日在Ubuntu 16.04上)中,此驱动程序停止工作,我花了很长时间试图找出问题(在整个引导选项中都有nomodeset)。

我的解决方案最终要么是 1)使用nouveau(出人意料,因为以前从未成功过),将nouveau放置在/etc/modules中,并使用xorg.conf将nouveau作为设备(但即使在普通桌面活动中,此驱动程序的性能也不理想),要么 2)实际上是最新的nvidia驱动程序nvidia-367,无需xorg.conf。


Nuance: 在我的情况下,我有一张相当旧的显卡 - GTX280 我所做的是:
- 在nvidia.com上查看支持我的显卡的驱动程序版本,对我来说是nvidia-340 - 停止服务lightdm - 卸载lightdm - 卸载nvidia* - 安装nvidia-340 - 安装lightdm - 重新启动系统
我注意到nvidia-367会安装gdm,因此在安装nvidia驱动程序后,您将同时拥有lightdm和gdm,这可能是问题的关键。