慢启动,内核加载时间过长,由于恢复设备错误

有一段时间,我的启动过程耗时太长(差不多1分钟)。

systemd-analyse time 

表明内核占用35.765秒

看看dmesg ,问题似乎是安装文件系统:

 ... [ 2.186084] sdb: sdb1 sdb9 [ 2.186919] sd 2:0:0:0: [sdb] supports TCG Opal [ 2.186922] sd 2:0:0:0: [sdb] Attached SCSI disk [ 2.499795] ata5: SATA link down (SStatus 0 SControl 300) [ 2.844320] clocksource: Switched to clocksource tsc [ 35.670493] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null) [ 35.782128] ip_tables: (C) 2000-2006 Netfilter Core Team [ 35.803610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) ... 

我的/etc/fstab看起来像这样:

 #       /dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=3996-2381 /boot/efi vfat umask=0077 0 1 #/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0 /dev/mapper/cryptswap1 none swap sw 0 0 

我该如何解决这个问题?

编辑:仔细查看启动消息(删除grub中的安静选项后),我发现了一条可疑行:

 gave up waiting for suspend/resume device 

我认为我的交换是加密的,我也认为/etc/initramfs/conf.d/resume中的UUID与任何设备都不对应。

我应该禁用恢复/暂停吗? 以及如何做到这一点?

好的,我找到了解决方案,感谢Sudhanshu的评论。

问题是由于我的交换被加密。 所以initramfs中的local-premount脚本正在等待一个不可用的交换设备,直到它超时。 相关消息被gave up waiting for suspend/resume device

要禁用此function(因为无法通过加密交换从交换中恢复,并且我不使用hibernate),我修改了此文件: /etc/initramfs-tools/conf.d/resume 。 在此文件中, RESUME=none (而不是此处的UUID)的行将禁用等待恢复设备。

运行sudo update-initramfs -u以应用更改。

系统现在正常启动。