2025-06-26

Come ripristinare un sistema Slackware dopo un aggiornamento del kernel senza aver eseguito lilo

Se utilizzi Slackware e hai aggiornato il kernel, c'è un passaggio fondamentale da non dimenticare: eseguire `lilo`. Questo comando aggiorna il bootloader con le informazioni del nuovo kernel. Dimenticarlo significa molto probabilmente ritrovarsi con un sistema che non si avvia più correttamente.

Cosa succede se dimentichi lilo

Slackware, a differenza di altre distribuzioni, non aggiorna automaticamente il bootloader dopo l'installazione di un nuovo kernel. Se dimentichi di eseguire `lilo`, potresti riscontrare:

  • errori all'avvio, come "kernel not found";
  • sistema che continua a caricare il vecchio kernel (se ancora presente);
  • blocco totale all'avvio, con la necessità di intervenire manualmente.

Niente panico: è possibile ripristinare il sistema con pochi passaggi, utilizzando il disco di installazione di Slackware o una live USB.

Guida passo passo al ripristino

Avvia Slackware da un supporto esterno

Inserisci il DVD o la chiavetta USB di Slackware ed avvia il sistema da lì. Apri il prompt dei comandi.

Monta il sistema ed accedi con `chroot`

># Monta la partizione root
mount /dev/sdXn /mnt

# ed eventuali altre partizioni
mount /dev/sdYn /mnt/boot

# Monta filesystem essenziali
mount -t proc /proc /mnt/proc
mount -t sysfs /sys /mnt/sys
mount --rbind /dev /mnt/dev

# Entra nel tuo sistema installato
chroot /mnt

Esegui lilo 

A questo punto, esegui il comando:

lilo

Dovresti vedere un messaggio di conferma come:
> Added linux

Riavvia il sistema

Quando hai finito:

exit
reboot

Se tutto è andato bene, il sistema ora dovrebbe avviarsi con il nuovo kernel. Slackware è una distribuzione che privilegia il controllo manuale, come ogni scelta ha i suoi pro ed i suoi contro.
 

Note aggiuntive per sistemi RAIDx

Qualche nota aggiuntiva è necessaria per chi usa un array RAID: questo non sempre viene riconosciuto automaticamente oppure può essere riconosciuto con un nome errato. È necessario, preliminarmente, assemblare l'array RAID con il nome corretto.
 
Nome array errato
Se, per esempio, l'array viene riconosciuto come `md127` anziché `md0` bisogna da prima fermarlo:
 
mdadm --stop /dev/md127

e quindi procedere come indicato sotto.
 
Array non riconosciuto / creato

mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
 
Dopo questo comando `md0` sarà l'array attivo (`md0`, `sda1`, `sdb1` vanno cambiati in base alla propria situazione) e si potrà procedere come inizialmente indicato.

 
Questo articolo è una rielaborazione di quello presente su SlackDocs.