如何在Ubuntu 18.04上诊断/修复非常慢的启动

SSD没有做任何事情很长一段时间。

  • 我如何找到故障并修复它?
  • 已经检查/etc/fstab ,没有交换或有任何错误(32GB的RAM,没有交换)

 [ 2.173492] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.173497] usb 2-1.6: Product: DW375 Bluetooth Module [ 2.173501] usb 2-1.6: Manufacturer: Dell Computer Corp [ 2.173511] usb 2-1.6: SerialNumber: 7CE9D3C0713B [ 2.323728] ata4: SATA link down (SStatus 0 SControl 300) [ 2.441062] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input6 [ 2.640309] ata5: SATA link down (SStatus 0 SControl 300) [ 2.954947] ata6: SATA link down (SStatus 0 SControl 300) [ 3.068090] clocksource: Switched to clocksource tsc [ 36.584826] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) [ 36.726117] ip_tables: (C) 2000-2006 Netfilter Core Team [ 36.732610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +AC L +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) [ 36.751996] systemd[1]: Detected architecture x86-64. [ 36.753867] systemd[1]: Set hostname to . [ 36.868561] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [ 36.868594] systemd[1]: Reached target Remote File Systems. [ 36.868751] systemd[1]: Created slice User and Session Slice. [ 36.868869] systemd[1]: Created slice System Slice. [ 36.868948] systemd[1]: Listening on udev Control Socket. [ 36.868957] systemd[1]: Reached target Slices. [ 36.868996] systemd[1]: Listening on udev Kernel Socket. [ 36.895156] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro [ 36.898185] lp: driver loaded but no devices found [ 36.903941] ppdev: user-space parallel port driver 

我今天升级到18.04并遇到了同样的问题。 我能够通过使用noresume参数启动内核来修复它。

和你一样,我也没有交换空间。 在升级期间的某个时刻,修改了initramfs配置,添加了指向不存在的交换分区的行。 慢启动是因为它正在寻找这个分区,然后在30秒后超时。

更新GRUB以便在引导时自动将此选项传递给内核:

  1. 编辑文件/etc/default/grub文件,以便字符串noresume包含在GRUB_CMDLINE_LINUX_DEFAULT行中,例如:

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noresume" 
  2. 运行此命令以更新GRUB:

     sudo update-grub 
  3. 重新启动计算机

 $ systemd-analyze blame 

查看哪些进程占用了启动过程的大部分时间。

对我sudo rm /etc/initramfs-tools/conf.d/resume是运行sudo rm /etc/initramfs-tools/conf.d/resume然后运行sudo update-initramfs -u 。 这似乎是升级的回归(参见https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861151 )。

我从16.04升级到18.04。 开机时间超过10分钟。
尝试从“无启动屏幕到内核”找到哪些进程占用最多的时间进行引导。

 A start job is running for Raise network interfaces (1min 26s / 5min 24s) 

因此,我们需要缩短此过程的时间以节省启动时间。 为此,

你必须编辑,

 sudo nano /etc/systemd/system/network-online.target.wants/networking.service 

 TimeoutStartSec=5min 

改成

 TimeoutStartSec=5s 

并重新启动