Guida a GRUB: Il Bootloader di Linux

Pubblicato il 18 Ottobre 2025 • Categoria: Linux

Quando accendi il tuo computer, prima ancora che venga caricato il sistema operativo, entra in gioco un programma fondamentale chiamato bootloader. In moltissime distribuzioni Linux, il bootloader predefinito è GRUB (GRand Unified Bootloader). GRUB è responsabile del processo di avvio, permettendoti di scegliere quale sistema operativo (se hai un sistema dual-boot) o quale kernel avviare. In questa guida, esploreremo cosa è GRUB, come funziona, come personalizzare il suo aspetto e come risolvere i problemi comuni di avvio.

1. Cos'è GRUB e a cosa serve?

Un bootloader è il primo software che viene eseguito quando si accende un computer. Il suo compito principale è caricare e trasferire il controllo del sistema a un sistema operativo (OS). GRUB è il bootloader più diffuso in Linux ed è noto per la sua flessibilità e potenza. Le sue funzionalità principali includono:

2. Come funziona GRUB?

Il processo di avvio con GRUB avviene tipicamente in tre fasi:

  1. Stage 1: Il BIOS o UEFI carica il primo settore del disco (MBR o EFI System Partition), dove risiede la prima parte di GRUB. Questa parte è molto piccola e non può leggere filesystem complessi.
  2. Stage 1.5: Carica una seconda parte intermedia di GRUB (spesso core.img) che può leggere il filesystem dove risiede il file principale di GRUB.
  3. Stage 2: Carica il file principale di configurazione di GRUB (grub.cfg) e mostra il menu di avvio. In base alla scelta dell'utente, carica il kernel e l'initramfs appropriati e trasferisce il controllo al sistema operativo.

Il file di configurazione principale è solitamente situato in /boot/grub/grub.cfg (o /boot/efi/EFI/nome_distribuzione/grub.cfg in sistemi UEFI).

3. Personalizzare il menu di GRUB

Il menu di GRUB può essere personalizzato modificando i file di configurazione e le impostazioni predefinite.

File principali di configurazione

Modificare le impostazioni principali

Per modificare le impostazioni principali, come il tempo di attesa del menu o il sistema predefinito, modifica il file /etc/default/grub:

sudo nano /etc/default/grub

Alcune opzioni comuni sono:

Aggiornare la configurazione

Dopo aver modificato /etc/default/grub o i file in /etc/grub.d/, devi rigenerare il file grub.cfg affinché le modifiche abbiano effetto. Il comando per farlo varia leggermente a seconda della distribuzione:

sudo update-grub

Su alcune distribuzioni come Fedora o Arch Linux, il comando equivalente è:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
⚠️ ATTENZIONE: Non modificare mai direttamente il file /boot/grub/grub.cfg. Le modifiche verranno sovrascritte al prossimo aggiornamento del sistema o al prossimo utilizzo di update-grub.

Personalizzare l'aspetto (Temi)

GRUB supporta anche temi personalizzati per cambiare colore, font e layout del menu. I temi sono file di configurazione e immagini posizionati in /boot/grub/themes/. Puoi trovare molti temi già pronti online o crearne uno tuo. Per applicare un tema, aggiungi o modifica la riga in /etc/default/grub:

GRUB_THEME="/boot/grub/themes/nome_del_tema/theme.txt"

Ricordati di eseguire sudo update-grub dopo aver impostato il tema.

4. Risoluzione dei problemi comuni di GRUB

A volte GRUB può non funzionare correttamente, ad esempio dopo un aggiornamento del sistema o l'installazione di un altro OS. Ecco alcuni problemi comuni e come risolverli.

GRUB non si avvia (solo riga di comando)

Se vedi un prompt come grub> significa che GRUB non riesce a trovare il file di configurazione grub.cfg. Puoi provare a caricare manualmente un sistema:

  1. Usa ls per vedere quali dispositivi e partizioni sono disponibili (es. (hd0,1), (hd0,2)).
  2. Trova la partizione dove risiede /boot (spesso la root /).
  3. Usa ls (hd0,2)/ (sostituendo con la partizione trovata) per vedere se contiene la cartella boot.
  4. Se sì, prova a caricare un kernel. Ad esempio:
grub> linux (hd0,2)/boot/vmlinuz-[versione] root=/dev/sda2 grub> initrd (hd0,2)/boot/initrd.img-[versione] grub> boot

Una volta entrato nel sistema, dovresti reinstallare o rigenerare GRUB correttamente.

Reinstallare GRUB

Se GRUB è corrotto o sovrascritto da un altro bootloader (come quello di Windows), puoi reinstallarlo. Questo richiede solitamente un ambiente live (es. una chiavetta USB di Ubuntu).

  1. Avvia da una distribuzione Linux live.
  2. Apri un terminale.
  3. Identifica la partizione root del tuo sistema installato (es. /dev/sda2).
  4. Montala in una directory temporanea:
sudo mount /dev/sda2 /mnt
  1. Monta anche la partizione /boot (se separata) e /dev, /proc, /sys per l'ambiente chroot:
sudo mount /dev/sda1 /mnt/boot # se /boot è su una partizione separata sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
  1. Entra nell'ambiente del tuo sistema installato:
sudo chroot /mnt
  1. Installa GRUB sul dispositivo del disco (non sulla partizione!):
grub-install /dev/sda
  1. Rigenera la configurazione:
update-grub
  1. Esci dal chroot, smonta tutto e riavvia:
exit sudo umount /mnt/dev /mnt/proc /mnt/sys /mnt/boot /mnt sudo reboot
💡 Suggerimento: Se hai un sistema UEFI, assicurati che il disco sia partizionato in GPT e che GRUB venga installato nella EFI System Partition (ESP). Il comando potrebbe richiedere opzioni specifiche come --target=x86_64-efi e --efi-directory=/boot/efi (o /boot se la ESP è montata lì).

5. Consigli e best practice

GRUB è un componente cruciale e potente del sistema Linux. Comprenderne il funzionamento e sapere come gestirlo e risolverne i problemi è essenziale per qualsiasi utente Linux, soprattutto chi ha sistemi complessi o dual-boot.

Prodotti Consigliati

Potrebbe interessarti anche...

Prodotti utili per ottimizzare e mantenere al meglio il tuo sistema.