Оглавление

История про мой старичок с AliExpress, который стал грузиться дольше, чем я завариваю чай.
Огорчился, измерил, подчистил — и слон снова бегает 🐘⚡️


До и после

До:

Startup finished in
  14.8s (firmware) +
   5.5s (loader)   +
  30.0s (kernel)   +
  12.8s (userspace)
= 1min 03s

После:

Startup finished in
   8.37s (firmware) +
   5.56s (loader)   +
   7.57s (kernel)   +
   4.72s (userspace)
= 26.2s

Почему так тормозило (по-человечески)

  • Служба ожидания сети на старте — для десктопа лишнее.
  • Apport (краш-репортер) копался в логах.
  • Docker запускался всегда, даже когда не нужен.
  • Ломался snap-юнит bluetooth-autostart.
  • Postfix пытался быть почтовым сервером.
  • В initramfs торчал лишний resume (ищем swap при загрузке).
  • Мелочи: smartd, VirtualBox-драйвер и т. п.

3 команды диагностики, которые спасают 80% кейсов

  • systemd-analyze time — сколько едет каждая стадия.
  • systemd-analyze blame | head -n 25 — кто съедает секунды.
  • systemd-analyze critical-chain — где именно ждём.

Дополнительно: journalctl -b -p err --no-pager | tail -n +1 — ошибки текущей загрузки.


Что я сделал (пошагово)

1) Не ждём сеть на старте

sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl stop    NetworkManager-wait-online.service
sudo systemctl mask    NetworkManager-wait-online.service

2) Выключаем краш-репортер Apport

sudo systemctl disable --now apport-autoreport.service apport.service
sudo apt purge -y apport

3) Docker — запуск по сокету (когда реально нужен)

sudo systemctl enable docker.socket
sudo systemctl disable --now docker.service

4) Postfix — в отставку (на десктопе не нужен)

sudo systemctl disable --now postfix@-.service postfix 2>/dev/null || true
sudo apt purge -y postfix

5) Чиним Bluetooth и битый снап

Удаляю проблемный снап и оставляю пакетный BlueZ. Отключаю устаревший SAP-плагин.

sudo snap remove bluetooth-autostart
sudo apt install -y bluez bluez-obexd
echo -e '\n[General]\nDisablePlugins=sap\n' | sudo tee -a /etc/bluetooth/main.conf
sudo systemctl restart bluetooth

На Plasma логичнее оставить Bluedevil. Если ставили Blueman и он не нужен:
sudo apt purge blueman

6) Smartmontools: минимальный конфиг или выключить

echo 'DEVICESCAN -n standby,q' | sudo tee /etc/smartd.conf
sudo systemctl enable --now smartmontools
# либо так:
# sudo systemctl disable --now smartmontools

7) Убираем лишний resume из initramfs

echo "RESUME=none" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo update-initramfs -u

8) Обновления snap — ночью

sudo snap set system refresh.timer=mon,02:00

9) Опционально: VirtualBox-драйвер не на каждом буте

sudo systemctl disable --now vboxdrv.service

Частный случай: NVIDIA + Secure Boot

Если в dmesg видите nvidia: module verification failed — это Secure Boot.
Проще всего выключить Secure Boot в BIOS и переустановить драйвер (подставьте свою ветку):

sudo apt install --reinstall nvidia-driver-535 nvidia-dkms-535 nvidia-utils-535
sudo update-initramfs -u
sudo reboot

Чек-лист на будущее

  • Раз в месяц: systemd-analyze time → если стало дольше — смотрим blame.
  • Внешние/сетевые диски в /etc/fstab монтируем с nofail,x-systemd.device-timeout=5s и/или x-systemd.automount.
  • Гигиена: sudo apt autoremove --purge, journalctl --vacuum-time=14d.
  • Снапы — проблемные меняем на пакетные, обновления — в ночи.

Итог

Старичок с AliExpress снова бодрый: ~26 секунд до рабочего стола, без апгрейда железа.
Если помогло — поделись постом с другом, у кого Ubuntu «просыпается до обеда».
Обнимаю хоботом, ваш Слон 🐘