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 ✌️