GRUB è una componente molto semplice ma cruciale dei sistemi operativi GNU/Linux. È il primo programma che viene eseguito all’avvio del computer ed ha il compito di individuare i sistemi operativi installati e di avviarli. Nel momento in cui l’installazione di GRUB dovesse avere dei problemi diventerebbe impossibile avviare il PC. Vediamo quindi come risolvere una situazione del genere 👇
Chroot
Come prima cosa sarà necessario avviare il PC nell’ambiente live di una distro a vostro piacimento, idealmente la stessa che avete già installata. Una volta all’interno dell’ambiente live dovrete montare la partizione root del sistema installato all’interno della directory /mnt
del sistema live:
sudo mount <partizione-root> /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --rbind /sys /mnt/sys
sudo mount --make-rslave /mnt/sys
sudo mount --bind /run /mnt/run
💡 Potete usare il comando lsblk
per identificare le partizioni presenti sul vostro sistema.
Se è presente una partizione EFI, montate anch’essa:
sudo mount <partizione-efi> /mnt/boot/efi
Ora potrete accedere al sistema installato con il comando:
sudo chroot /mnt
Reinstallare GRUB
Il comando per reinstallare GRUB prende parametri diversi a seconda se il vostro PC utilizza un firmware Legacy BIOS o UEFI.
Legacy BIOS
grub-install --target=i386-pc /dev/<disco>
⚠️ Specificate il disco contenente la partizione root, non la partizione root stessa.
UEFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi
⚠️ Controllate che lo UUID della partizione EFI corrisponda con quello specificato nel file /etc/fstab
.
Ora dovrete rigenerare il file di configurazione di GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
Uscite dalla chroot digitando exit
; Smontate tutti i filesystem montati:
sudo umount -R /mnt
Riavvate il PC. A questo punto tutto dovrebbe funzionare come dovrebbe ✌️