Come riparare una distribuzione Linux che non avvia

Pubblicato il 5 Novembre 2025 • Categoria: Linux

Capita a volte che una distribuzione Linux smetta di avviarsi correttamente. Può trattarsi di un kernel difettoso, di un problema al bootloader (come GRUB), di errori nei file di sistema o di conflitti di pacchetti. Anche se sembra una situazione critica, nella maggior parte dei casi è possibile riparare la distribuzione senza dover reinstallare tutto da zero. In questa guida vediamo come fare, usando una chiavetta USB con un ambiente Linux live e lo strumento chroot.

1. Preparazione: Chiavetta Live

Per poter intervenire sul sistema non avviabile, hai bisogno di un ambiente Linux funzionante da cui operare. La soluzione più comune è una chiavetta USB avviabile con una distribuzione Linux live (come Ubuntu, Linux Mint o Fedora).

2. Identificare le partizioni del sistema installato

Una volta avviato da USB, devi capire quali sono le partizioni del tuo sistema Linux installato sul disco rigido.

Ad esempio, potresti vedere che la root è /dev/sda2 e la EFI System Partition (se UEFI) è /dev/sda1.

3. Montare le partizioni del sistema installato

Ora devi montare le partizioni del sistema installato in una cartella temporanea, solitamente /mnt.

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda3 /mnt/boot
sudo mount /dev/sda1 /mnt/boot/efi

4. Montare i filesystem virtuali

Perché il comando chroot funzioni correttamente, devi montare alcuni filesystem speciali che il kernel usa durante il normale funzionamento:

sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
💡 Spiegazione: /dev, /proc e /sys sono filesystem speciali che forniscono informazioni e interfacce verso il kernel e i dispositivi hardware. Senza di essi, molti comandi non funzioneranno correttamente all'interno del chroot.

5. Entrare nell'ambiente del sistema installato con chroot

Ora entra nell'ambiente del tuo sistema installato come se fossi al suo interno:

sudo chroot /mnt

Se tutto è andato bene, il prompt del terminale cambierà, mostrando ad esempio # invece di $, e tutti i comandi che eseguirai ora agiranno sul sistema installato, non sull'ambiente live.

6. Eseguire le operazioni di riparazione

Da qui puoi eseguire tutti i comandi necessari per riparare il sistema. Ecco alcuni esempi comuni:

a) Aggiornare o reinstallare il kernel

Se il problema è legato al kernel:

apt update apt install linux-image-generic linux-headers-generic

b) Rigenerare la configurazione di GRUB

Se il problema è legato al bootloader (vedi anche l'articolo "Guida a GRUB"):

update-grub

Oppure, se GRUB è corrotto o mancante:

grub-install /dev/sda # Sostituisci /dev/sda con il disco corretto!
⚠️ ATTENZIONE: Assicurati di specificare il disco corretto (es. /dev/sda) e NON la partizione (es. /dev/sda2) quando usi grub-install.
💡 Per sistemi UEFI: Il comando grub-install potrebbe richiedere opzioni specifiche come --target=x86_64-efi e --efi-directory=/boot/efi.

c) Risolvere problemi di pacchetti

Se un aggiornamento è andato storto:

apt --fix-broken install
dpkg --configure -a

d) Controllare e riparare il filesystem

Se sospetti errori sul disco:

exit
sudo umount /mnt/boot/efi /mnt/boot /mnt/dev /mnt/proc /mnt/sys /mnt/boot /mnt
sudo fsck -f /dev/sda2

7. Uscire dal chroot e riavviare

Una volta terminate le operazioni di riparazione:

exit
sudo umount /mnt/boot/efi /mnt/boot /mnt/dev /mnt/proc /mnt/sys /mnt
sudo reboot

Se tutto è andato bene, il tuo sistema Linux dovrebbe ora avviarsi normalmente. Il metodo del chroot è molto potente e permette di risolvere molti problemi comuni senza dover reinstallare l'intero sistema.

Prodotti Consigliati

Potrebbe interessarti anche...

Prodotti utili per ottimizzare e mantenere al meglio il tuo sistema.