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:
- Menu di avvio: Presenta un menu (anche nascosto) che permette all'utente di scegliere quale sistema operativo o quale versione del kernel avviare.
- Supporto a sistemi multipli: Ideale per sistemi dual-boot (ad es. Linux e Windows).
- Personalizzazione: L'aspetto e il comportamento del menu possono essere modificati.
- Ripristino: Include opzioni per avviare sistemi in modalità recovery o con kernel personalizzati.
2. Come funziona GRUB?
Il processo di avvio con GRUB avviene tipicamente in tre fasi:
- 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.
- 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. - 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
/etc/default/grub: Contiene le opzioni di configurazione di base, come il timeout del menu, se mostrare il menu o meno, e opzioni predefinite del kernel./etc/grub.d/: Contiene script che generano le voci del menu. Ad esempio,10_linuxgenera le voci per i kernel Linux installati./boot/grub/grub.cfg: Questo file non va modificato manualmente! È generato automaticamente dal comandoupdate-grub(vedi sotto).
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:
Alcune opzioni comuni sono:
GRUB_TIMEOUT=5: Imposta il tempo (in secondi) che il menu rimane visibile prima di avviare automaticamente la voce predefinita.GRUB_DEFAULT=saved: Imposta la voce predefinita.savedsignifica che verrà ricordata l'ultima voce selezionata. Puoi anche specificare un numero (es.0per la prima voce) o il nome esatto della voce.GRUB_CMDLINE_LINUX_DEFAULT="quiet splash": Opzioni aggiuntive da passare al kernel Linux.quietriduce i messaggi di avvio,splashabilita uno splash screen grafico.
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:
Su alcune distribuzioni come Fedora o Arch Linux, il comando equivalente è:
/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:
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:
- Usa
lsper vedere quali dispositivi e partizioni sono disponibili (es.(hd0,1),(hd0,2)). - Trova la partizione dove risiede
/boot(spesso la root/). - Usa
ls (hd0,2)/(sostituendo con la partizione trovata) per vedere se contiene la cartellaboot. - Se sì, prova a caricare un kernel. Ad esempio:
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).
- Avvia da una distribuzione Linux live.
- Apri un terminale.
- Identifica la partizione root del tuo sistema installato (es.
/dev/sda2). - Montala in una directory temporanea:
- Monta anche la partizione
/boot(se separata) e/dev,/proc,/sysper l'ambiente chroot:
- Entra nell'ambiente del tuo sistema installato:
- Installa GRUB sul dispositivo del disco (non sulla partizione!):
- Rigenera la configurazione:
- Esci dal chroot, smonta tutto e riavvia:
--target=x86_64-efi e --efi-directory=/boot/efi (o /boot se la ESP è montata lì).
5. Consigli e best practice
- Fai sempre un backup: Prima di apportare modifiche importanti a GRUB, considera di fare un backup del disco o almeno del settore MBR/ESP.
- Usa
update-grub: Ricorda sempre di eseguire questo comando dopo aver modificato/etc/default/grub. - Conosci i comandi base: Sapere come usare
ls,set root,linux,initrdebootnel prompt di GRUB può salvarti da un crash di sistema. - Leggi attentamente: Gli errori di sintassi nei file di configurazione possono rendere il sistema non avviabile.
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.
Pc Facile !