Home
» LINUX
»
Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile
Riparazione di Ubuntu GRUB: Reinstallare GRUB da una chiavetta USB avviabile
Se Ubuntu non si avvia più perché GRUB è mancante, danneggiato o sostituito da un altro bootloader, di solito è possibile ripararlo da una chiavetta USB live di Ubuntu senza reinstallare il sistema operativo. Il metodo manuale più sicuro consiste nell'avviare una sessione live, montare il sistema installato, accedervi con chroot, reinstallare GRUB e rigenerare il menu di avvio.
Importante: i nomi dei dispositivi riportati di seguito sono solo esempi. Non copiare il nome di una partizione, ad esempio /dev/sda2, /dev/nvme0n1p3finché non hai verificato che appartenga alla tua installazione di Ubuntu. Selezionare il disco sbagliato può impedire l'avvio di un altro sistema operativo.
Prima di riparare GRUB
È necessaria una chiavetta USB avviabile con Ubuntu che possa essere utilizzata sul computer interessato. La documentazione attuale di Canonical per le chiavette USB avviabili raccomanda un'unità USB da 8 GB o superiore e avverte che la scrittura dell'immagine cancellerà il contenuto dell'unità. Se si dispone già di un supporto di installazione di Ubuntu funzionante, è possibile riutilizzarlo.
Questa guida è pensata per un'installazione standard di Ubuntu con partizioni Linux accessibili. La crittografia completa del disco, configurazioni LVM complesse, RAID software o layout Btrfs insoliti possono richiedere passaggi di sblocco o montaggio aggiuntivi prima della procedura chroot.
1. Avviare l'unità USB e scegliere Prova Ubuntu
Avvia il computer dalla chiavetta USB di Ubuntu e scegli "Prova Ubuntu" anziché "Installa". La guida all'installazione di Ubuntu Desktop di Canonical conferma che l'opzione "Prova Ubuntu" avvia un ambiente live senza installare il sistema operativo sull'unità interna.
Per i sistemi UEFI, avviare l'unità USB in modalità UEFI quando possibile. È possibile verificare la sessione live con:
La documentazione UEFI di Ubuntu spiega perché la modalità del firmware dovrebbe corrispondere al sistema installato, soprattutto sui PC con dual-boot.
Avvia il sistema dalla chiavetta USB live e accedi alla sessione "Prova Ubuntu" per poter riparare il sistema installato senza reinstallarlo.
2. Identificare le partizioni Ubuntu ed EFI
Apri il Terminale con Ctrl+Alt+T , quindi elenca i filesystem:
lsblk -f
Individua la partizione root di Linux che contiene l'installazione di Ubuntu. Solitamente è formattata come ext4. In un'installazione UEFI, identifica anche la partizione di sistema EFI, di solito una piccola vfatpartizione FAT32/. Se disponi di una /bootpartizione separata, annotala.
lsblk -fAiuta a distinguere il filesystem root di Ubuntu dalla partizione di sistema EFI e dalla chiavetta USB avviabile.
3. Monta Ubuntu ed entra in un ambiente chroot
Sostituisci i nomi dei dispositivi di esempio con le partizioni che hai identificato. Per prima cosa, monta il filesystem root di Ubuntu:
sudo mount /dev/ROOT_PARTITION /mnt
Se l'installazione ha una /bootpartizione separata, montala in /mnt/boot. Per UEFI, monta la partizione di sistema EFI:
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/EFI_PARTITION /mnt/boot/efi
Collega i filesystem di runtime del sistema attivo al sistema installato, quindi avvialo:
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind "$i" "/mnt$i"; done
sudo chroot /mnt
Il prompt dovrebbe cambiare per indicare che i comandi ora vengono eseguiti sul sistema Ubuntu installato.
Dopo aver montato i filesystem installati, chrootconsente agli strumenti GRUB di operare sull'installazione di Ubuntu anziché sulla chiavetta USB live.
4. Reinstallare GRUB e ricostruire il menu
Il comando differisce leggermente tra i sistemi UEFI e BIOS legacy:
Modalità di avvio
Comando di installazione di GRUB
UEFI
grub-install
BIOS legacy
grub-install /dev/DISK
Per il BIOS legacy, utilizzare l' intero disco , ad esempio /dev/sdao /dev/nvme0n1, non una partizione numerata. Per UEFI, la partizione di sistema EFI deve essere già montata in /boot/efi. Questo corrisponde al comportamento di installazione descritto nel manuale corrente di GNU GRUB .
Dopo aver installato GRUB correttamente, rigenera il menu di avvio di Ubuntu:
update-grub
Su Ubuntu, update-grubè un wrapper che genera /boot/grub/grub.cfg, come documentato nella pagina man di Ubuntu . Lascia che termini e verifica che trovi almeno un kernel Linux.
Una riparazione riuscita si conclude con l'installazione di GRUB e una configurazione appena generata contenente i kernel Linux installati.
5. Esci dal chroot e riavvia
Lascia il sistema installato, smonta l'ambiente di ripristino e riavvia:
exit
sudo umount -R /mnt
sudo reboot
Rimuovi la chiavetta USB avviabile al riavvio del computer. GRUB dovrebbe caricarsi nuovamente dall'unità interna.
Se GRUB non compare ancora
Verifica l'ordine di avvio del firmware: sui PC UEFI, assicurati che la voce Ubuntu o l'unità interna corretta sia prima delle altre voci di avvio.
Verifica la modalità di avvio della chiavetta USB live: se il sistema Ubuntu installato è in modalità UEFI ma la chiavetta USB di ripristino è stata avviata in modalità Legacy, riavvia esplicitamente la chiavetta USB in modalità UEFI e ripeti la procedura di ripristino.
Ricontrolla le partizioni: il montaggio della partizione root o EFI Linux errata è una delle cause più comuni per cui una riparazione sembra riuscita ma non si avvia.
Non disabilitare automaticamente Secure Boot: le versioni di Ubuntu supportate utilizzano componenti shim e GRUB firmati. Considera le modifiche a Secure Boot come una procedura di risoluzione dei problemi, non come il primo passo per la riparazione.
Presta attenzione agli errori del disco: errori di I/O ripetuti, partizioni mancanti o danneggiamento del filesystem indicano un problema di archiviazione piuttosto che un problema specifico di GRUB. Esegui un backup dei dati recuperabili prima di apportare ulteriori modifiche.
Se il sistema si avvia correttamente su Ubuntu dopo il riavvio, la riparazione di GRUB è completa; non è necessario reinstallare Ubuntu né mantenere installato software di terze parti per la riparazione dell'avvio.