my windows install used to boot in 20 seconds - from power button press to desktop. my manjaro install takes over twice as much at about 45 seconds. what are the typical ways to reduce boot times on linux? where should i start?
systemd-analyze plot > plot.svg gives you a picture to look at what takes so long. Read here: https://wiki.archlinux.org/title/Improving_performance/Boot_process
I’m, too, more happy with systemd boot than i was with grub lately but mostly because of the cool looks.
thanks, the pic is very clear and easily digestible. it seems that plymouth-quit-wait.service takes the longest (~23s). if i understand correctly, plymouth is essentially just some boot animation. is it a good idea to remove/disable/skip it?
edit: curiosity got the better of me. after following the steps described here, i have managed to remove the fancy plymouth boot animation and went from 40-ish seconds to 20-ish. good enough for me. cheers!
I’m happy it worked out well!
Yes, Plymoith is just the splash screen, you can try disabling it and seeing if it helps
This article might help:
https://itsfoss.com/check-boot-time-linux/
specifically, the command :
systemd-analyze blame
This will show a list of processes that run during boot, and exactly how long each one takes, which can help identify any specific bottlenecks.
The article goes into a bit more detail, I recommend it as a starting point.
My guess is something is hanging or not configured correctly. Like a mount or a networking device or something. It will sit there and retry a bunch before moving on.
PopOS lets me hit escape during the boot process and see a live view of whats happening. I don’t know if that exists on Manjaro. Otherwise, you can look at /var/log/boot.log to see if something’s failed (it also might save in boot.log.1, boot.log.2, etc).
@Kruemel@Kruemel@feddit.de 's advice seems cool but I’ve never tried that before.
One thing that was making the boot taking too long on my LXC containers systemd-networkd-wait-online.service, a service that waits for every link to be up. After I figured this, I added that service to the list of stuff I turn off, even on bare-metal installs.
In addition to the aforementioned network wait service, on my laptop virtualbox.service adds 7 seconds of boot time.