我的电脑(Ubuntu Mate 20.04)启动需要一分钟多的时间,我不知道为什么。这似乎与此特定硬盘上的启动过程有关。
来自 dmesg:
...
[ 1.922970] async_tx: api initialized (async)
[ 2.328482] psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3
[ 2.530339] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input7
[ 3.256967] Btrfs loaded, crc32c=crc32c-intel
[ 34.601941] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
...
那里似乎有 30 秒,我没有 Btrfs,我不确定它为什么要检查它,或者它在做什么。
然后我有这个:
[ 38.739280] USB Video Class driver (1.1.1)
[ 125.248857] Process accounting resumed
我不知道流程会计是什么。
我拍摄了这张启动过程的照片: 这张照片中的最后一行是我想要找到并修复的,每次启动计算机时,它都需要一分半钟才能运行。它发生在安全模式和正常启动时。有没有一个可以列出启动过程的工具?我不想重新安装。我试过检查磁盘文件系统,问题仍然存在。我已经做了 SMART 磁盘分析,硬盘没问题。
命令systemd-analyze critical-chain
$ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @1min 38.388s
└─multi-user.target @1min 38.388s
└─lxc.service @1min 38.330s +57ms
└─lxc-net.service @1min 38.184s +143ms
└─network-online.target @1min 38.179s
└─NetworkManager-wait-online.service @1min 30.737s +7.440s
└─NetworkManager.service @1min 30.360s +374ms
└─dbus.service @1min 30.355s
└─basic.target @1min 30.316s
└─sockets.target @1min 30.315s
└─snapd.socket @1min 30.310s +4ms
└─sysinit.target @1min 30.280s
└─systemd-backlight@leds:tpacpi::kbd_backlight.service @2>
└─system-systemd\x2dbacklight.slice @1.538s
└─system.slice @251ms
└─-.slice @251ms
和命令systemd-analyze time
$ systemd-analyze time
Startup finished in 34.552s (kernel) + 2min 7.682s (userspace) = 2min 42.235s
graphical.target reached after 1min 38.388s in userspace
答案1
好吧,我仍然想知道在启动过程中的最佳实践,或者更有效的方法来解决此类无稽之谈。
当我看到W: initramfs-tools configuration sets RESUME=UUID=66f2ea6d-cfab-4410-933b-763fb6c6bc83: but no matching swap device is available
……我检查了 gparted,发现我没有交换空间分区。(这应该没问题,我有很多 RAM)但这个设置似乎是我可能曾经有过一个,为什么我现在没有,那部分是一个谜。我打开了 /etc/fstab,并注释掉了交换分区(它与启动时需要很长时间检查的磁盘具有相同的 UUID。)
# swap was on /dev/sda5 during installation
#UUID=66f2ea6d-cfab-4410-933b-763fb6c6bc83 none swap sw 0 0
为什么它在 /dev/sda5 上?好问题,我不知道。
因此我转而注释掉了sudo vim /etc/initramfs-tools/conf.d/resume
对具有有问题的 UUID 的交换分区的引用。
#RESUME=UUID=66f2ea6d-cfab-4410-933b-763fb6c6bc83
然后,我更新了 initramfs
$ sudo update-initramfs -u -k all
然后重新启动,看看会发生什么。我在几秒钟内就启动了。
所以我的启动时间问题解决了……但如果有更好的方法来解决此类错误,我很想知道。我阅读了各种各样的资料,看到很多用户遇到类似的问题。我尝试了该boot-repair
实用程序,但它没有解决这个问题。几个月后,我才从尝试更新 Mate 时看到的错误中得到线索,当时我认为某个用户空间应用程序可能是问题所在。