Guida alla personalizzazione di Grub 2

Grub

 

Eccoci qua oggi a parlare del famoso Grub2. Non sai cosa è? Vieni, che te lo spieghiamo.

Una volta vi era il Grub, oggi c'è il Grub 2. Vediamo un po' meglio questo piccolo, grande software che permette a tutti noi di lavorare ogni giorno con i sistemi Linux e non solo.

 

 

CHE COSA È IL GRUB 2

In poche parole è il bootloader di Linux. E' quindi il programma che si occupa dell'avvio dei sistemi operativi Linux presenti sulla macchina.

E' la versione numero 2 del vecchio Grub. E' Grub 2 il ritorno, Grub 2 la vendetta, riscritto da capo, migliorato e ripensato in modularmente.

Si perché, a differenza del predecessore, questo bootloader permette di caricare numerosi moduli, permettendo una profonda personalizzazione.

 

 

COME AVVIENE L'AVVIO DEL COMPUTER

Questo paragrafo lo dedichiamo a illustrarvi come avviene l'accensione di un computer, perché è inutile spiegarvi cosa è il Grub 2 se non sapete dove agisce.

Cominciamo!

Gli antichi lo chiamano anche fase di bootstrap, o più semplicemente fase di boot.

Il bootstrap è una catena di processi che viene lanciata nel momento in cui premiamo sul tasto di accensione sul case del nostro pc. Questi processi sono scritti sulla memoria ROM (Read Only Memory) e il loro compito è quello di leggere la posizione e lo stato delle varie periferiche - o device - che sono collegati.

L'ultimo di questa catena lancia il famigerato Bios.

Il Bios è un programma che è scritto sulla memoria EEPROM - Electronic Erasable Programmable Read Only Memory. Esso si collega a tutti i programmi che sono responsabili di lanciare i vari sistemi operativi installati sulla macchina, tra cui il nostro caro Grub2.

Una volta lanciato il Grub2, ci viene sottoposta la scelta di quale sistema operativo lanciare. Arrivati a questo punto il bootloader carica in RAM le prime istruzioni del sistema operativo scelto e poi cede il passo allo stesso.

 

 

STRUTTURA DEL GRUB 2

Arrivati qua, abbiamo capito cosa è il Grub2, come avviene la fase di boot e come si comporta. Adesso impariamo come è fatto il bootloader di Linux.

Tutti i file che interessano il Grub2 sono racchiusi nella cartella /boot/grub. Al suo interno troviamo il file grub.cfg che è il “manifesto” del bootloader, cioè è il file su cui scrive ogni cosa. E' un file che non va modificato, - anche se qualche volta si fa per quieto vivere (ve lo abbiamo mostrato qua) – in quanto è il risultato del comando grub2-mkconfig.

Un altro che riveste particolare importanza è /etc/default/grub. Questo è il file di configurazione di Grub 2. Infatti, quando lanciamo grub2-mkconfig, a seconda del suo contenuto verrà generato il file grub.cfg.

Le principali voci che possiamo trovare sono:

  • GRUB_DEFAULT=0 : Indica la posizione del sistema operativo da lanciare di default, dove 0 è il numero della voce del suddetto sistema operativo. Possiamo anche utilizzarlo con GRUB_DEFAULT=saved e in questo modo il bootloader ricorderà l'ultimo sistema operativo caricato.
  • GRUB_TIMEOUT=3 : Indica il numero di secondi per cui deve attendere prima di avviare la scelta di default. -1 per farlo attendere ad oltranza, cioè fino a un nostro intervento.
  • GRUB_DISABLE_LINUX_RECOVERY=true : Se impostato a true, disabilita la visione delle scritte di recovery. False altrimenti.
  • GRUB_CMDLINE_LINUX : Se presente, indica le modalità di apertura della linea di comando del grub2. Non si deve modificare.

Per ultimo vediamo la directory /etc/grub.d/ in cui sono presenti tutti gli script che permettono al comando grub2-mkconfig, di raccogliere tutte le informazioni che gli sono necessarie per creare il file grub.cfg.

Troviamo vari script tra cui:

  • 00_* : Sono gli script riservati agli header.
  • 10_* : Rappresentano le boot entries generate automatiamente.
  • 20_* : Sono script creati da applicazioni di terze parti. Ad esempio memtest86+ ecc.
  • 30_* : Sono gli script che vanno alla ricerca dei vati sistemi operativi installati.
  • 4* : Sono modelli personalizzabili o che sono generati dall'utente.

 

 

AGGIORNARE GRUB2

Ogni volta che andremo a fare qualche modifica al Grub 2, dovremo aggiornarlo manualmente.Per farlo, quando saremo soddisfatti delle modifiche, daremo il comando:

su

per lavorare con i privilegi di super utente, e poi:

grub2-mkconfig -o /boot/grub2/grub.cfg

Per chi ha però la partizione di boot separata, o chi ha l'EFI con sistemi in dual boot come me, dovremo copiare il file sulla partizione giusta.

La partizione la dovreste sapere. Se però così non fosse, diamo il comando:

fdisk -l

 

fdisk

 

Per me, come da immagine, è sda2. Una volta individuata, la montiamo con il comando:

mount/dev/sdaX /mnt

 

Dove, ovviamente, al posto di X inseriamo il numero della nostra partizione di boot. Successivamente copiamo il file grub.cfg nella stessa, con il comando:

cp -v /boot/grub2/grub.cfg /mnt/EFI/fedora/grub.cfg

 

Dove l'opzione -v, che sta per verboose, serve per stampare a video le informazioni di copiatura.

Se ce lo chiede digitiamo:

y

Per sovrascrivere il file. Una volta fatto ciò riavviamo il sistema con:

reboot

 

 

PROBLEMI PIÙ FREQUENTI

Adesso che abbiamo capito come è fatto il Grub e come facciamo ad aggiornarlo, è ora di affrontare alcuni dei problemi che ci affliggono più di frequente.

 

 

IMPOSTARE UNA VOCE DI DEFAULT

Per svariate ragioni, di praticità o di funzionamento, può essere importante impostare una voce in particolare di default. Molto utile in sistemi di dual boot.

Per fare ciò apriamo con i privilegi di root il file /etc/default/grub e cerchiamo la linea:

GRUB_DEFAULT=0

E al posto del numero preimpostato, inseriamo il numero della voce del menu di grub da lanciare di default.

 

scelta

 

Attenzione: uno dei vizi dei programmatori è quello di iniziare a contare da zero. Qui infatti si deve fare così. La prima riga è la numero zero, e le successive in progressione.

Usando l'immagine da esempio, se volessimo impostare Ubuntu come voce di default, dovremmo scrivere:

GRUB_DEFAULT=4

Proprio perché Ubuntu è la quarta scelta disponibile (Non la quinta!).

Una volta soddisfatti facciamo la procedura di aggiornamento del Grub 2.

 

 

ELIMINARE I VECCHI KERNEL

Il modo più sicuro è certamente quello di disinstallare i kernel vecchi, o comunque quelli che non ci interessano più. Al riavvio successivo, infatti, non li troveremo più nel listato.

 

 

ELIMINARE LE VOCI LINUX RESCURE

Per eliminare quelle fastidiosissime scritte di Linux Rescure ci basta aprire il file /etc/default/grub e, se non presente, inserire la riga:

GRUB_DISABLE_LINUX_RECOVERY=true

Salviamo e chiudiamo. Ovviamente dobbiamo rifare la procedura di aggiornamento del Grub 2.

 

 

CONCLUSIONE

Siamo giunti alla fine di questo post. E' stata dura. Ma ce l'abbiamo fatta. Con questo post abbiamo capito meglio cosa è il Grub 2, come funziona e come fa partire il sistema operativo.

 

FONTI:

Dottore in Informatica. Appassionato di computer fin dal primo PC Olivetti con Windows 95 e la bellezza di 8 MB di RAM.
Utilizzatore Linux da 5 anni, credo profondamente nella filosofia open source.
Dopo tante distro provate sul mio fidato Toshiba, uso Fedora per lo studio e il divertimento.

Lascia un commento