在干净的SSD安装上进行常规dist-upgrade后,Ubuntu加载/启动屏幕上的长启动延迟(18.04)

自从正式发布当天安装了干净的SSD以来,我一直在运行18.04,没有任何问题。
登录电源是秒(最多10)

然后, 今天早上定期升级

$ sudo apt update && sudo apt dist-upgrade 

安装/升级的软件包包括

 Install: linux-headers-4.15.0-24:amd64 (4.15.0-24.26, automatic), linux-headers-4.15.0-24-generic:amd64 (4.15.0-24.26, automatic), linux-modules-extra-4.15.0-24-generic:amd64 (4.15.0-24.26, automatic), linux-modules-4.15.0-24-generic:amd64 (4.15.0-24.26, automatic), linux-image-4.15.0-24-generic:amd64 (4.15.0-24.26, automatic) Upgrade: gnome-control-center-data:amd64 (1:3.28.1-0ubuntu1.18.04.1, 1:3.28.1-0ubuntu1.18.04.2), linux-headers-generic:amd64 (4.15.0.23.25, 4.15.0.24.26), gnome-control-center:amd64 (1:3.28.1-0ubuntu1.18.04.1, 1:3.28.1-0ubuntu1.18.04.2), linux-image-generic:amd64 (4.15.0.23.25, 4.15.0.24.26), linux-signed-generic:amd64 (4.15.0.23.25, 4.15.0.24.26), gnome-control-center-faces:amd64 (1:3.28.1-0ubuntu1.18.04.1, 1:3.28.1-0ubuntu1.18.04.2), linux-generic:amd64 (4.15.0.23.25, 4.15.0.24.26) 

升级完成后我重新启动,并注意到Ubuntu加载/启动屏幕上有2-3分钟的延迟(登录前)(点上没有任何进度/活动)。

我关机并尝试再次启动,但现在我一直在延迟。 关闭也要慢得多。

更新#1 (2018-07-03):
对systemd的分析:

 $ sudo systemd-analyze blame 3min 53.073s plymouth-quit-wait.service 2min 20.699s snapd.seeded.service 49.949s snapd.service 6.186s NetworkManager-wait-online.service 1.148s dev-sda2.device 1.098s plymouth-start.service 

显示plymouth-quit-wait.service (我现在认为它与Ubuntu加载/启动屏幕有关)和snapd.seeded.service是迄今为止启动时运行时间最长的服务。 所以我比较了dist-upgrade之前和之后的时间:

 $ journalctl -u plymouth-quit-wait.service --since today -- Logs begin at Fri 2018-04-27 13:01:30 BST, end at Tue 2018-07-03 12:38:05 BST. -- Jul 03 04:15:43 user-laptop systemd[1]: Starting Hold until boot process finishes up... Jul 03 04:15:46 user-laptop systemd[1]: Started Hold until boot process finishes up. -- Reboot -- Jul 03 04:21:17 user-laptop systemd[1]: Starting Hold until boot process finishes up... Jul 03 04:24:52 user-laptop systemd[1]: Started Hold until boot process finishes up. 

升级之前plymouth-quit-wait.service花了3秒钟 。 升级后需要3分 35秒

 $ journalctl -u snapd.seeded.service --since today -- Logs begin at Fri 2018-04-27 13:01:30 BST, end at Tue 2018-07-03 12:42:14 BST. -- Jul 03 04:15:43 user-laptop systemd[1]: Starting Wait until snapd is fully seeded... Jul 03 04:15:43 user-laptop systemd[1]: Started Wait until snapd is fully seeded. -- Reboot -- Jul 03 04:22:47 user-laptop systemd[1]: Starting Wait until snapd is fully seeded... Jul 03 04:24:49 user-laptop systemd[1]: Started Wait until snapd is fully seeded. 

升级之前snapd.seeded.service花了0秒 。 升级后花了2分 2秒。

更新#2 (2018-07-06):
今天早上的开机看到了延迟回归
所以我想我们还在等待kernel / plymouth / snapd更新

更新#3 (2018-07-12):
这个问题好像已经解决了 ,但是我没有看到snap或plymouth有任何更新,而且我还在运行4.15.0-24内核。 所以我不确定哪个软件包更新修复了问题,或者它是否只是以某种方式解决了问题。 阅读启动板上的错误更新,我不清楚对什么包做了什么(或者正在做什么)。 如果有人能澄清那将是非常有用的。

这是一个与内核相关的回归,启动板错误是: https : //bugs.launchpad.net/ubuntu/+bug/1779827

作为解决方法,按下键和/或在启动时移动鼠标。

简而言之,使用/ dev / urandom或getrandom()的服务现在会阻塞,直到有足够的熵可用。 在过去,/ dev / urandom需要更少的熵。

来自https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1779961/comments/5的最新状态是:

元数据包已经回滚,修复程序正在应用和上传。

snapd团队也调查了这个并与bson上游合作,以确保启动时不需要/ dev / unrandom( https://github.com/snapcore/snapd/pull/5464

所以这个问题应该通过内核或快照更新来修复。

您可以在系统中移动鼠标或增加熵。

 sudo apt install haveged 

疯狂的网站

适用于默认内核和ukuu。 这允许系统在内核4.17.4上正确启动。

我对4.15.0-24-generic #26-Ubuntu SMP也有同样的问题

 user@nb:~$ systemd-analyze blame |head 4min 2s plymouth-quit-wait.service 1.440s systemd-udev-settle.service 562ms dev-sda1.device 313ms udisks2.service 240ms systemd-rfkill.service 231ms NetworkManager.service 194ms networkd-dispatcher.service 180ms systemd-backlight@backlight:acpi_video0.service 179ms systemd-journal-flush.service 147ms systemd-logind.service 

对于临时解决方法 ,您只需在启动时移动鼠标/触摸板 ,从而实现“正常”启动时间; 在我的情况下:

 user@nb:~$ systemd-analyze blame |head 1.440s systemd-udev-settle.service 882ms plymouth-quit-wait.service 562ms dev-sda1.device 313ms udisks2.service 240ms systemd-rfkill.service 231ms NetworkManager.service 194ms networkd-dispatcher.service 180ms systemd-backlight@backlight:acpi_video0.service 179ms systemd-journal-flush.service 147ms systemd-logind.service 

修复源: https : //ubuntuforums.org/showthread.php?t = 2395451&p = 13780509#post13780509

我在我管理的两个桌面上看到了这个清单。 运行以下命令来安装rng-tools为我解决了这个问题:

 sudo apt install rng-tools 

来自Arch wiki: rng-tools是一组与内核中随机数生成相关的实用程序。 这主要用于增加内核中的熵数以使/ dev / random更快。