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 /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
# 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
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.