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.
If you want to see what’s happening during boot you should remove quiet from your kernel parameters
I did not make any accurate benchmarks but I think my boot time is faster with systemd-boot as opposed to grub.
Is tinkering with boot types something you would recommend to a beginner? Is it safe?
It is definitely not beginner-friendly. But not undoable.
Also worth mentioning that Windows technically cheats. When you shut down modern Windows (starting with 8 AFAIK), it doesn’t truly shut down, it logs you out to the login screen and then hibernates. So when you boot back up, it can quickly restore state which makes it come up much faster as it doesn’t have to start everything back up from scratch.
45 seconds is a bit on the long end for Linux though, both my desktop and netbook boot in around 10-15 seconds.
i am indeed aware of “fast startup”. that and hibernation are one of the first things i disable on every windows install.
after removing plymouth, i managed to reduce the boot time to my desired 20 seconds. seems fine for a desktop. cheers!
In addition to the aforementioned network wait service, on my laptop virtualbox.service adds 7 seconds of boot time.
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.