Systemd-boot guida pratica per passare da GRUB su UEFI

byideaTech 27 Ottobre 2025
systemd-boot guida

Introduzione

Systemd-boot guida: in questa guida vedrai come passare da GRUB a systemd-boot su UEFI in modo sicuro, eseguendo il backup della ESP, creando le loader entry corrette e predisponendo procedure di rollback e aggiornamento kernel.

Prerequisiti e considerazioni

Requisiti essenziali

  • Prima di tutto, verifica che il sistema sia avviato in UEFI.
  • Partizione EFI montata su un mount point noto come /boot/efi o /efi.
  • Accesso root o sudo.
  • Backup della ESP e dei file di configurazione GRUB.
  • Familiarità con live USB e chroot per il ripristino.

Avvertenze

  • systemd-boot non è compatibile con BIOS legacy.
  • Configurazioni complesse come LUKS multilivello, RAID software o chainloading avanzato richiedono test in ambienti isolati prima della migrazione.

Panoramica della procedura

  1. Verificare UEFI e montaggi.
  2. Effettuare backup della ESP e delle configurazioni GRUB.
  3. Installare systemd-boot sulla ESP.
  4. Creare le loader entry per kernel, initramfs e altri OS.
  5. Configurare timeout e default.
  6. Testare il boot e predisporre rollback.

Verificare UEFI e montaggi prima di passare a systemd-boot

Controllare modalità di avvio

Esegui:

sudo ls /sys/firmware/efi/efivars

Se la directory esiste sei in UEFI.

Identificare la ESP

Elenca le partizioni:

lsblk -f
sudo fdisk -l

Cerca la partizione con tipo EFI System e formato FAT32. Prendi nota del dispositivo, es. /dev/sda1.

Montare la ESP se necessario

sudo mkdir -p /boot/efi
sudo mount /dev/sdXY /boot/efi

Sostituisci /dev/sdXY con la tua partizione EFI.

Backup della ESP prima di migrare da GRUB a systemd-boot

Backup rapido della ESP

sudo tar -czf ~/esp-backup-$(date +%F).tar.gz -C /boot/efi .

Salvare configurazioni GRUB

sudo cp /etc/default/grub ~/grub-backup/
sudo cp -r /etc/grub.d ~/grub-backup/

Salvare entry EFI e ordine di boot

Controlla boot entries e ordine:

sudo efibootmgr -v

Esporta l’output in un file per riferimento:

sudo efibootmgr -v > ~/efibootmgr-$(date +%F).txt

Installare systemd-boot e configurare loader entry (passare da GRUB)

Prerequisiti pacchetti

In molte distro systemd-boot è incluso in systemd; verifica la presenza di bootctl:

bootctl --version

Installazione su ESP montata

sudo bootctl --path=/boot/efi install

Questo copia il loader EFI e crea la directory /boot/efi/loader.

Verificare lo stato dell’installazione

bootctl --path=/boot/efi status

Dovresti vedere info su versione e stato.

Struttura loader e creare loader entry

systemd-boot guida diagramma

Struttura principale della ESP per systemd-boot

  • /boot/efi/loader/loader.conf
  • /boot/efi/loader/entries/*.conf

Esempio di loader.conf

Crea o modifica:

default linux.conf
timeout 5
console-mode max

Salva in:

/boot/efi/loader/loader.conf

Entry per kernel Linux

Esempio file /boot/efi/loader/entries/linux.conf:

title   My Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw quiet splash

Note:

  • Inoltre Verifica che i percorsi indicati siano accessibili dal firmware UEFI. Infine se necessario copia vmlinuz e initramfs nella ESP o riferiscili correttamente se la tua struttura consente l’accesso da /boot.

Entry per Windows

Esempio file /boot/efi/loader/entries/windows.conf:

title  Windows 10
loader /EFI/Microsoft/Boot/bootmgfw.efi

Gestione kernel dopo la migrazione a systemd-boot

Problema comune

Gli aggiornamenti kernel possono non aggiornare automaticamente le entry di systemd-boot.

Strategia consigliata

  • Creare uno script di post-install del kernel che copi vmlinuz e initramfs nella ESP e rigeneri la entry con l’UUID corretto.
  • Inoltre, versiona lo script con Git,ad esempio nella tua home o in /etc, così potrai ripristinarlo facilmente in caso di necessità.

Esempio di script bozza

Salva come /usr/local/sbin/update-systemd-boot.sh e rendilo eseguibile:

#!/bin/bash
ESP="/boot/efi"
KVER="$1"
if [ -z "$KVER" ]; then
  echo "Usage: $0 <kernel-version>"
  exit 1
fi
cp /boot/vmlinuz-$KVER $ESP/vmlinuz-$KVER
cp /boot/initramfs-$KVER.img $ESP/initramfs-$KVER.img
cat > $ESP/loader/entries/linux-$KVER.conf <<EOF
title Linux $KVER
linux /vmlinuz-$KVER
initrd /initramfs-$KVER.img
options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw quiet splash
EOF

Adatta UUID e percorsi alla tua configurazione.

Timeout default e opzioni di boot

Configurare timeout e default

Modifica /boot/efi/loader/loader.conf:

timeout 5
default linux.conf

Impostare default temporaneo o permanente

Default permanente:

sudo bootctl --path=/boot/efi set-default linux.conf

One-shot per il prossimo boot:

sudo bootctl --path=/boot/efi set-oneshot linux.conf

Debug e problemi comuni

Schermo nero o firmware non vede i file

  • Per prima cosa controlla che i file indicati nelle entry esistano effettivamente nella ESP.
  • Secondo verifica che il firmware UEFI abbia accesso ai file copiati.

Kernel panic dopo boot

  • Avvia una live USB, monta root e ESP, verifica che l’initramfs corrisponda al kernel e che root=UUID sia corretto.

GRUB rimane nella ESP

  • Mantieni i file di GRUB come fallback fino a quando non hai verificato completamente systemd-boot. Non rimuovere subito la directory EFI di GRUB.

Rollback sicuro: come tornare a GRUB se necessario

Conservare GRUB come fallback

  • Non cancellare i file di GRUB dalla ESP. Modifica l’ordine di boot ma mantieni GRUB come seconda voce.

Ripristino dalla live USB

  1. Avvia live USB.
  2. Monta ESP e root.
sudo mount /dev/sdXY /mnt/esp
sudo mount /dev/sdXZ /mnt/root
sudo tar -xzf ~/esp-backup-YYYY-MM-DD.tar.gz -C /mnt/esp
  1. Se necessario reinstalla GRUB con chroot.

Best practice e sicurezza

  • Effettua backup della ESP ad ogni modifica significativa.
  • Usa Git per versionare script di gestione boot se la ESP è montata in una directory gestibile.
  • Controlla permessi e non esporre la ESP a modifiche non autorizzate.
  • Verifica che initramfs includa driver necessari per LUKS/LVM se li usi.

Esempi avanzati

Multiboot con fallback kernel

Ad esempio crea due entry, es. linux.conf e linux-fallback.conf, puntando a kernel e initramfs differenti per poter scegliere al boot.

Setup LVM LUKS

In più assicurati che initramfs contenga moduli per decrypt e LVM e che l’opzione root= punti a /dev/mapper/ corretto o a UUID.

FAQ rapida

Posso usare systemd-boot su BIOS legacy
No, systemd-boot richiede UEFI.

Devo copiare kernel e initramfs nella ESP
Non obbligatorio se il firmware accede a /boot, perchè molti preferiscono copiare i file critici nella ESP per evitare problemi di visibilità.

Posso tornare a GRUB
Sì, mantenendo backup della ESP o reinstallando GRUB da live chroot puoi ripristinare il bootloader precedente.

Conclusione

In conclusione systemd-boot guida ha voluto spiegare come migrare da GRUB a systemd-boot. Questo può rendere il processo di avvio più rapido e la gestione delle entry più semplice. In sintesi esegui sempre un backup, è buona norma mantenere GRUB come fallback fino a test completi, e automatizza la gestione dei kernel per evitare rogne dopo aggiornamenti.