GRUB (GRand Unified Boot Loader) è il boot loader più comune sui sistemi Linux. È il primo software che viene eseguito all’avvio del computer dopo il BIOS o UEFI, e il suo compito è quello di caricare il sistema operativo. Sebbene GRUB sia generalmente molto affidabile, ci sono situazioni in cui potrebbe corrompersi o danneggiarsi, impedendo al sistema di avviarsi correttamente. Fortunatamente, ripristinare GRUB è un processo fattibile. Questo articolo ti guiderà attraverso i passaggi necessari per ripristinare GRUB e far tornare operativo il tuo sistema Linux.
Ripristinare Grub: Perché GRUB Potrebbe Danneggiarsi?
For another helpful perspective, this Ripristinare Grub highlights practical trade-offs for buyers. Prima di addentrarci nella procedura di ripristino, è utile capire quali eventi possono portare a un GRUB corrotto. In primo luogo, installazioni multiple di sistemi operativi (ad esempio, Windows e Linux) sulla stessa macchina possono causare conflitti, dove il processo di installazione di un sistema sovrascrive o danneggia la configurazione di GRUB. Inoltre, aggiornamenti di sistema obsoleti o interrotti, specialmente se riguardano componenti critici come il kernel o il boot loader stesso, possono causare problemi. Anche modifiche al disco rigido, come il ridimensionamento delle partizioni, la migrazione del sistema operativo su un nuovo disco, o la rimozione impropria di partizioni Linux, possono alterare la posizione o l’integrità di GRUB. In rari casi, una corruzione del file system principale dove GRUB è installato potrebbe renderlo inaccessibile. Infine, errori umani, come dimenticare di aggiornare GRUB dopo aver modificato la configurazione o aver installato un nuovo kernel, o eseguire comandi rischiosi senza una piena comprensione, possono portare a problemi.
Sintomi di un GRUB Corrotto
I segnali che indicano un problema con GRUB sono generalmente chiari e si manifestano all’avvio del computer. Potresti vedere una schermata nera con un prompt testuale come grub rescue> o grub>. Questo significa che GRUB è in esecuzione ma non riesce a trovare il file di configurazione o il sistema operativo da avviare. Inoltre, potresti incontrare messaggi di errore come “No bootable device found”, “GRUB loading stage 1.5 error”, “Error: file not found”, o altri errori relativi al caricamento del kernel. A volte, il sistema si blocca su una schermata nera o mostra messaggi di errore senza procedere al caricamento del sistema operativo. Infine, se normalmente vedi il menu di GRUB che ti permette di scegliere quale sistema operativo avviare, ma ora vedi solo una schermata nera o un messaggio di errore, GRUB è probabilmente danneggiato.
Preparazione: Cosa Ti Serve per Ripristinare GRUB
Prima di iniziare, assicurati di avere a portata di mano alcuni elementi essenziali. Innanzitutto, un supporto di avvio live per la tua distribuzione Linux è fondamentale. Questo può essere una chiavetta USB avviabile o un DVD contenente l’immagine ISO della stessa distribuzione Linux (o una compatibile) che hai installato sul tuo computer. È fondamentale che il supporto sia avviabile. In secondo luogo, una connessione Internet è opzionale ma molto utile. Se hai bisogno di scaricare pacchetti aggiuntivi o consultare documentazione, una connessione Internet durante la sessione live sarà di grande aiuto. Infine, è necessaria pazienza e attenzione, poiché la procedura richiede alcuni passaggi da terminale. Segui attentamente le istruzioni per un ripristino GRUB di successo.
Metodo Principale: Ripristinare GRUB da una Live USB/DVD
Questo è il metodo più comune e sicuro. Ti permette di avviare un ambiente Linux funzionante dal tuo supporto esterno per poi intervenire sul disco rigido del tuo sistema. Iniziamo con il ripristino di GRUB.
Passo 1: Avviare dal Supporto Live
- Inserisci la tua chiavetta USB o il DVD live nel computer.
- Riavvia il computer.
- Accedi al menu di boot (solitamente premendo un tasto come F2, F10, F12, Canc o Esc subito dopo l’accensione del computer – il tasto esatto dipende dal produttore del tuo PC o della tua scheda madre).
- Seleziona il tuo supporto USB/DVD come dispositivo di avvio.
- Una volta avviato dal supporto live, scegli l’opzione per provare o avviare la distribuzione Linux senza installarla.
Passo 2: Aprire un Terminale
Una volta che hai raggiunto il desktop dell’ambiente live, apri un’applicazione terminale. Di solito la trovi nel menu delle applicazioni sotto nomi come “Terminale”, “Konsole”, “xterm” o “GNOME Terminal”.
Passo 3: Identificare la Partizione di Root Linux
È fondamentale sapere su quale partizione è installato il tuo sistema Linux (la partizione “root” /). Possiamo farlo con il comando lsblk o fdisk. Digita nel terminale: sudo lsblk -f. Questo comando ti mostrerà una lista di tutti i dispositivi a blocchi e le loro partizioni, insieme ai loro file system e UUID. Cerca la partizione con un file system Linux (ad esempio, ext4) che corrisponde alla dimensione della tua installazione Linux. Potrebbe essere qualcosa come /dev/sda1, /dev/nvme0n1p2, ecc. Annota il nome di questa partizione (ad esempio, /dev/sda2). In alternativa, puoi usare sudo fdisk -l.
Passo 4: Montare la Partizione di Root Linux
Ora dobbiamo montare la partizione di root del tuo sistema Linux in una directory temporanea. Utilizzeremo /mnt come punto di mount temporaneo. Sostituisci /dev/sdXY con il nome effettivo della tua partizione root identificata nel passo precedente. Digita: sudo mount /dev/sdXY /mnt. Se hai una partizione /boot separata, dovrai montarla anch’essa. Ad esempio, se la tua partizione /boot è /dev/sda1, digita: sudo mount /dev/sda1 /mnt/boot. Se usi UEFI, potresti dover montare anche la partizione EFI System Partition (ESP). Questa è solitamente una partizione FAT32, spesso montata su /boot/efi. Identificala (con lsblk -f o fdisk -l) e montala: sudo mount /dev/sdXZ /mnt/boot/efi, dove /dev/sdXZ è la tua partizione ESP.
Passo 5: Preparare l’Ambiente per Chroot
Per poter reinstallare GRUB come se fossimo nel nostro sistema installato, dobbiamo utilizzare chroot. Questo comando ci permette di cambiare la directory root del sistema in /mnt, facendo credere al sistema che /mnt sia la directory principale. Prima di usare chroot, dobbiamo montare alcune directory virtuali necessarie. Esegui i seguenti comandi: sudo mount --bind /dev /mnt/dev, sudo mount --bind /proc /mnt/proc, sudo mount --bind /sys /mnt/sys, sudo mount --bind /run /mnt/run. Se stai usando un ambiente desktop come GNOME o KDE, potresti aver bisogno anche di montare /dev/pts: sudo mount -t devpts pts /mnt/dev/pts.
Passo 6: Entrare nell’Ambiente Chroot
Ora che tutto è preparato, possiamo entrare nell’ambiente chroot con il comando: sudo chroot /mnt. Dovresti notare che il prompt del tuo terminale cambia, indicando che ora stai operando all’interno del tuo sistema installato (anche se avviato da una live USB). Questo passaggio è cruciale per ripristinare GRUB correttamente.
Passo 7: Reinstallare GRUB
Ora siamo pronti per reinstallare GRUB. Il comando esatto dipende dall’architettura del tuo computer (BIOS o UEFI) e da dove vuoi installare GRUB (solitamente il Master Boot Record – MBR – del disco rigido). Per sistemi BIOS: Se stai installando GRUB sul Master Boot Record (MBR) del primo disco rigido (ad esempio, /dev/sda, non /dev/sda1), il comando è: grub-install /dev/sda. Assicurati di specificare il disco corretto (es. /dev/sda, /dev/nvme0n1) e non una partizione. Per sistemi UEFI: Per i sistemi UEFI, GRUB viene installato nella partizione EFI System Partition (ESP). Il comando è leggermente diverso e GRUB cercherà i file necessari dall’ESP che hai montato in precedenza. Se hai montato correttamente la partizione ESP su /boot/efi all’interno del chroot (cioè, /mnt/boot/efi era la tua ESP e ora è montata su /boot/efi dall’interno del chroot), il comando per installare GRUB UEFI è: grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu (o il nome della tua distribuzione). Il --bootloader-id è un identificatore per la directory che verrà creata nell’ESP (ad esempio, EFI/ubuntu o EFI/fedora). Scegli un nome appropriato per la tua distribuzione. Se hai problemi, potresti dover assicurarti che il pacchetto grub-efi-amd64 (o simile) sia installato nel tuo sistema chroot prima di eseguire grub-install.
Passo 8: Aggiornare la Configurazione di GRUB
Dopo aver reinstallato GRUB, è essenziale rigenerare il file di configurazione (grub.cfg) per assicurarsi che possa rilevare tutti i sistemi operativi installati e i kernel disponibili. Questo è un passaggio fondamentale per il corretto funzionamento dopo aver tentato di ripristinare GRUB. Esegui il comando: update-grub. Se questo comando non funziona, potrebbe essere necessario utilizzare grub-mkconfig -o /boot/grub/grub.cfg.
Passo 9: Uscire dal Chroot e Riavviare
Ora che hai completato i passaggi principali, è ora di uscire dall’ambiente chroot e riavviare il sistema. Prima esci dal chroot digitando: exit. Quindi smonta le directory che hai montato: sudo umount /mnt/dev/pts (se l’hai montato), sudo umount /mnt/run, sudo umount /mnt/sys, sudo umount /mnt/proc, sudo umount /mnt/dev, sudo umount /mnt/boot/efi (se l’hai montato), sudo umount /mnt/boot (se l’hai montato), sudo umount /mnt. Infine, riavvia il computer: sudo reboot. Ricorda di rimuovere il supporto USB/DVD live prima che il computer si riavvii, in modo che avvii dal disco rigido. Per una gestione più approfondita dei kernel, consulta la guida su Linux Mint: Gestione Semplificata dei Kernel Linux con Fallback Sicuro.
Metodo Alternativo: Utilizzo di Boot-Repair (GUI)
Per chi non ama lavorare con la riga di comando, esiste uno strumento grafico chiamato Boot-Repair che può automatizzare gran parte del processo. Questo strumento è particolarmente utile per chi è alle prime armi con Linux o preferisce un’interfaccia grafica per operazioni critiche come il ripristino del boot loader. Innanzitutto, avvia dal tuo supporto live USB/DVD come descritto nel Passo 1 del metodo precedente. Successivamente, apri un terminale. Poi, aggiungi il PPA di Boot-Repair e installalo eseguendo: sudo add-apt-repository ppa:yannubuntu/boot-repair, sudo apt-get update, sudo apt-get install -y boot-repair && boot-repair. (Questo funziona per distribuzioni basate su Ubuntu/Debian. Per altre distribuzioni, cerca le istruzioni specifiche per l’installazione di Boot-Repair). Infine, avvia Boot-Repair: l’ultima riga di comando dovrebbe avviarlo automaticamente. Altrimenti, cerca “Boot-Repair” nel menu delle applicazioni. Boot-Repair solitamente offre una modalità “Raccomandata” che risolve la maggior parte dei problemi comuni di GRUB. Clicca su “Recommende” o “Ripara”. Lo strumento eseguirà la scansione del tuo sistema, tenterà di ripristinare GRUB e ti fornirà un link a un log nel caso in cui i problemi persistano. Questo semplifica notevolmente il processo di ripristino GRUB. Al termine, segui le istruzioni per riavviare il computer.
Ripristino da GRUB Rescue Prompt
Se all’avvio ti trovi davanti a un prompt grub rescue>, significa che GRUB è partito ma non riesce a trovare i file di configurazione o il kernel. Puoi tentare un ripristino manuale per avviare il sistema e poi reinstallare GRUB correttamente. Per prima cosa, identifica le tue partizioni provando comandi come ls per vedere quali partizioni GRUB riconosce. Dovresti vedere qualcosa come (hd0), (hd0,msdos1), (hd0,gpt2), ecc. Successivamente, trova la partizione Linux: prova a caricare il modulo normal con insmod normal. Poi, prova a trovare la partizione che contiene il tuo sistema Linux, solitamente quella con il file /boot/grub/. Ad esempio: ls (hd0,msdos1)/boot/grub/, ls (hd0,gpt2)/boot/grub/. Quando trovi la partizione corretta (diciamo (hd0,gpt2)), dovresti essere in grado di vedere il contenuto della directory grub. Poi, carica i moduli necessari: insmod linux, insmod normal. Successivamente, carica il kernel e il file initrd. Una volta identificata la partizione corretta, devi specificare il percorso del kernel e del file initrd. I nomi possono variare a seconda della versione del kernel. Dovresti trovare i file in /boot/ della tua partizione Linux. Ad esempio: set root=(hd0,gpt2) (sostituisci con la tua partizione), linux /boot/vmlinuz-5.15.0-56-generic root=/dev/sda2 (sostituisci nome kernel e partizione root), initrd /boot/initrd.img-5.15.0-56-generic (sostituisci con il nome initrd corrispondente). Per trovare i nomi esatti dei kernel e initrd, potresti dover montare la partizione in un’altra macchina o usare un live CD. Dopo aver avviato con successo il sistema, apri un terminale e riesegui: sudo grub-install /dev/sda (o il disco appropriato) e sudo update-grub. Questo installerà GRUB nel MBR e creerà un file di configurazione corretto, evitando futuri problemi. Per una gestione più approfondita dei kernel, consulta la guida su Archinstall 3.0.7: l’installer di Arch Linux si aggiorna con snapshot Btrfs e nuove funzionalità.
Conclusione
Ripristinare GRUB può sembrare un compito arduo, ma seguendo questi passaggi, anche gli utenti meno esperti possono risolvere la situazione. Ricorda sempre di fare attenzione a quale disco o partizione stai modificando e di utilizzare un supporto live della stessa distribuzione (o una molto simile) per garantire la compatibilità. Con GRUB funzionante, il tuo sistema Linux tornerà ad avviarsi senza intoppi. Per chi desidera approfondire ulteriormente la gestione del boot loader o affrontare problemi specifici, esistono risorse aggiuntive come la guida su Ubuntu 26.10 riduce GRUB per la sicurezza o come installare Linux su Windows 11.

