Ubuntu 17.10安装nVidia 384.90后,启动时卡在"Started NVIDIA Persistence Daemon"的信息上。

我已经进行了Ubuntu 17.10的全新安装(除了保留我的旧/home分区之外)。除了在“附加驱动程序”中安装(或实际上启用)nVidia 384.90驱动程序后,系统无法启动。我只是一直得到以下错误消息。

[ OK ] Started NVIDIA Persistence Daemon.
Stopping NVIDIA Persistence Daemon...
[ OK ] Stopped NVIDIA Persistence Daemon.
Starting NVIDIA Persistence Daemon...

这个问题一遍又一遍地发生,就像重复了一百次,然后突然停止。唯一的解决办法是在恢复模式下卸载nvidia-384。
我也尝试过其他版本的驱动程序,但结果都是一样的。在共享的Intel图形(Intel® Haswell Mobile)上一切正常运行。
我的配置:
Intel i7-4710MQ
nVidia GT 940M
5个回答

在BIOS上切换到独立显卡

联想P51,UEFI BIOS版本N1UE40W,NVIDIA Quadro M1200 Mobile,Ubuntu 17.10,从software-properties-gtk安装了nvidia-384:

  • 启动时按Enter键
  • 按F1进入BIOS设置
  • 配置
    • 图形设备
    • 选择独立显卡(默认是混合显卡)
  • 安全性
    • 安全启动
    • 安全启动
    • 选择禁用(默认启用)。如果我不这样做,NVIDIA驱动程序将被忽略(并且启动问题也不会发生)
  • 按F10保存设置并退出引导菜单

我认为这会缩短电池的使用时间,但我更喜欢台式机 :-)

我还注意到这个问题并非每次都能重现。如果我多次开关电源,还会出现以下情况:

  • 启动过程中立即重新启动
  • 有时一切正常工作
然后检查GPU是否真的在使用中:如何检查Ubuntu是否正在使用我的NVIDIA显卡? 这可能是一个与Launchpad相关的bug:https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1714881

1对于我在戴尔纬度上,这是在 BIOS 的图形菜单中,与启用 Optimus 有关,它只支持 Windows,但在 Ubuntu 18.04 中解决了问题,感谢给予正确指导的建议。 - shaunhusain
我有同样的笔记本电脑,只有混合图形似乎可以工作。这可能与prime-select处于哪种模式有关。 - qwr

$sudo apt-get purge nvidia*  

一切都会运行正常。 一旦系统启动,安装兼容的驱动程序。


我在执行这个命令后不得不运行sudo apt autoremove,以便移除cuda软件包,以便进行干净的安装。 - Butanium

我不知道这种行为的原因,但是我的ASUS笔记本电脑上也有同样的问题,使用的是GM108M [GeForce 840M]。我临时的解决方案是禁用自动登录。如果我手动登录,启动就正常。我使用的是专有驱动程序。

我把自动登录禁用了,但是它没有起作用。你和我一样,也遇到了Persistence Daemon的问题吗? - Juraj.Lorinc
是的,我之前有并且现在仍然存在这个问题。每次我启用自动登录时,我都会收到你发布的那条消息,然后几秒钟后我的电脑就会停止运行。所以我就重新启动,选择一个较旧的内核,自动登录就能正常进行了。然后我再切换回手动登录,再次默认重启,这样笔记本就能正常启动了。看来这可能与新的内核有关。 - MartinH

考虑将您的显示管理器更改为lightdm。根据我的经验,gdm3与nvidia驱动程序的兼容性不是很好。如果我使用modeset驱动程序,它根本无法工作(我已经尝试了几个月)。我没有找到任何解决办法。在我的两台Optimus Thinkpads上,Nvidia、gdm3和现代gnome都存在问题,您必须更改其中之一,而最简单的方法就是替换gdm3(如果您从gnome切换到其他桌面环境,您可能最终会使用lightdm)。
您没有尝试使用modeset,所以您不会遇到同样的问题,但是我对nvidia图形、gnome和gdm3这个三位一体产生了偏见。
我使用lightdm没有任何问题。
sudo apt install lightdm

如果有必要
sudo dpkg-reconfigure lightdm

并将其设置为默认值(安装lightdm时会询问您,但如果您已经安装了它,则不会询问)。

如果您无法登录,可能会感到有些困扰。希望您仍然拥有那个旧内核。否则,您将不得不尝试高级选项并进入恢复模式。我发现选择“启用网络”通常会让我进入读/写的根shell,从而可以执行apt get命令。如果这样还不起作用,就会变得更加困难;您可以重新安装或从livecd引导,并学习如何使用chroot来进行虚拟登录到主要安装中(这是非常有用的知识)。


这个答案对我真的起了作用。上面所有的解决方案都不适用于我。

关键是禁用nvidia持久性守护进程的默认启动,并编写一个自己的systemd服务,在启动时自动运行。