Uno dei momenti più frustranti per un utente Linux è quando il sistema non si avvia correttamente e compare un prompt strano come grub> o un messaggio di errore. Questo di solito significa che c'è un problema con GRUB, il bootloader predefinito di molte distribuzioni Linux. In questa guida vediamo come diagnosticare e risolvere i problemi più comuni di avvio di GRUB, passo dopo passo, anche senza essere esperti.
1. Cos'è GRUB e cosa succede quando non si avvia correttamente?
GRUB (GRand Unified Bootloader) è il programma che si occupa di caricare il sistema operativo quando accendi il computer. Se GRUB non riesce a trovare il suo file di configurazione (grub.cfg) o se è corrotto, il sistema non sa cosa caricare e si ferma.
A seconda del problema, potresti vedere:
- Un prompt come
grub>. Questo è un ambiente interattivo di GRUB, ma senza il menu normale. - Messaggi di errore come
error: file not foundounknown filesystem. - Lo schermo rimane nero o si blocca prima ancora di vedere il menu.
2. Soluzione temporanea: Avviare manualmente da grub>
Se ti ritrovi con il prompt grub>, puoi provare a caricare manualmente il sistema operativo. Questo ti permette di accedere al tuo PC e applicare la soluzione definitiva.
Trova la partizione root del tuo sistema Linux:
- Digita
lse premi Invio. Vedrai un elenco di dispositivi e partizioni, ad esempio(hd0,1),(hd0,2), ecc. - Prova a elencare il contenuto di ogni partizione finché non trovi quella dove risiede
/(la root). Ad esempio:ls (hd0,2)/. Cerca cartelle comeboot,home,etc.
Imposta la partizione root:
Una volta trovata la partizione corretta (ad esempio (hd0,2)), digita:
Carica il kernel Linux:
Dovrai indicare il percorso del kernel. Di solito si trova in /boot/vmlinuz-[versione]. Prova ad elencare la cartella boot: ls (hd0,2)/boot/.
Supponendo che il kernel si chiami vmlinuz-5.15.0-48-generic, digita (assicurati che /dev/sda2 corrisponda alla partizione che hai impostato come root):
Carica l'initramfs (se richiesto):
Anche questo si trova in /boot e ha un nome simile al kernel, tipo initrd.img-[versione].
Avvia il sistema:
Se tutto va bene, il sistema si avvierà normalmente. Ora puoi procedere con la soluzione definitiva.
3. Soluzione definitiva: Rigenerare o reinstallare GRUB
Dopo aver avviato il sistema (anche manualmente da grub>), puoi riparare GRUB in modo permanente.
A. Rigenerare il file di configurazione (da dentro il sistema avviato)
Se sei riuscito ad avviare il tuo sistema Linux (anche manualmente da grub>), questa è la soluzione più semplice.
- Apri un terminale.
- Esegui il comando per rigenerare la configurazione di GRUB. Il comando principale è:
Su alcune distribuzioni come Fedora o Arch Linux, il comando equivalente è:
(Assicurati di aver installato i pacchetti GRUB, come grub-pc o grub2.)
Questo comando ricostruisce il file grub.cfg e di solito risolve i problemi causati da aggiornamenti del kernel o errori temporanei.
B. Reinstallare GRUB (da un ambiente Live USB)
Se non riesci proprio ad avviare il sistema, puoi reinstallare GRUB da una chiavetta USB avviabile con una distribuzione Linux (es. Ubuntu Live).
- Avvia il computer da una chiavetta Live Linux.
- Apri un terminale.
- Monta la partizione root del tuo sistema installato (es.
/dev/sda2) in una cartella temporanea, ad esempio/mnt:
- Se hai una partizione separata per
/boot(es./dev/sda1), montala in/mnt/boot:
- Monta anche le cartelle virtuali richieste per l'ambiente
chroot:
- Entra nell'ambiente del tuo sistema installato:
- Installa GRUB sul disco fisico (attenzione: NON sulla partizione!). Ad esempio, se il disco è
/dev/sda:
--target=x86_64-efi e --efi-directory=/boot/efi (o /boot se la ESP è montata lì).
- Rigenera la configurazione di GRUB:
- Esci dal chroot:
- Scollega tutti i dispositivi montati:
- Riavvia il sistema e rimuovi la chiavetta Live.
grub-install, assicurati di specificare il disco corretto (es. /dev/sda) e NON la partizione (es. /dev/sda2). Installare GRUB sulla partizione sbagliata potrebbe rendere il sistema non avviabile.
4. Consigli per evitare problemi futuri
- Fai attenzione agli aggiornamenti: A volte un aggiornamento del kernel o di GRUB stesso può causare problemi. Tieni d'occhio il terminale durante gli aggiornamenti.
- Usa un ambiente Live come riserva: Avere una chiavetta USB con una distribuzione Linux avviabile è sempre utile per risolvere problemi di avvio.
- Non modificare manualmente
/boot/grub/grub.cfg: Questo file è generato automaticamente. Modificarlo manualmente potrebbe causare errori. Le modifiche vanno fatte in/etc/default/grubo nei file in/etc/grub.d/, seguite dasudo update-grub.
Risolvere i problemi di avvio di GRUB può sembrare complicato all'inizio, ma seguendo questi passaggi è possibile ripristinare il normale funzionamento del sistema. Ricorda che GRUB è un componente cruciale e potente, e saperlo gestire è un'abilità molto utile per qualsiasi utente Linux.
Pc Facile !