慢启动,内核加载时间过长,由于恢复设备错误
有一段时间,我的启动过程耗时太长(差不多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
以应用更改。
系统现在正常启动。