1. Debian 笔记
1.1. 加速启动
REMOVE BOOTLOADER DELAY
Between UEFI and the OS, you will get the bootloader, which will wait for 5 seconds by default to see if you want to select a different item. Start by switching the grub timeout from 5 seconds to 0.
sudo nano /etc/default/grub
Set GRUB_TIMEOUT=0
.
Run:
sudo update-grub2
LOOK AT SYSTEMD
Use the tool systemd-analyze
to draw a picture:
systemd-analyze plot > plot.svg
In my case, it was clear that 9 seconds of the boot was an optional “waiting for network” step.
2.So, (thank you askubuntu), I disabled that service and rebooted:
$ sudo systemctl disable NetworkManager-wait-online.service
Removed /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
systemd-analyze plot > plot2.svg
The boot was still taking 4.4 seconds, so, more analysis was in order:
The systemd-timesyncd
service was holding things up.
This service runs early in the boot process, reads an old time from a file, and tries to update time over the network. Since I have a working RTC, this is all unnecessary for me, so I removed it and replaced it with chronyd, which is happy to operate in the background.
sudo systemctl disable systemd-timesyncd.service
sudo apt-get install chronyd
sudo systemctl enable chrony
After another reboot:
systemd-analyze plot > plot4.svg
There we go, down to 4.096 seconds with a few minutes of effort. I think that’s acceptable.
The systemd developers are quite certain that you can boot in under 2 seconds, but I wasn’t willing to customise my system to that extent.