2.2. GRUB

GNU GRand Unified Bootloader (GRUB) è un programma che consente di selezionare quale sistema operativo o kernel è da caricare al momento dell'avvio del sistema. Consente inoltre di passare argomenti al kernel.

2.2.1. Processo di avvio di GRUB e x86

Questa sezione riporta in dettaglio il ruolo specifico di GRUB quando si effettua l'avvio di un sistema x86. Per rivedere il processo di avvio, consultare la Sezione 1.2.

Il processo di caricamento di GRUB avviene in diverse fasi:

  1. Caricamento del boot loader primario dal BIOS nell'MBR - Fase 1 [1].Il boot loader è posizionato nel piccolissimo spazio assegnato all'MBR, inferiore a 512byte ed è capace di caricare la fase 1.5 o 2 del boot loader.

  2. Il boot loader della fase 1.5 è caricato in memoria da quello della fase 1, se necessario. Alcuni elementi hardware richiedono una fase intermedia per giungere al boot loader della fase 2. Questo avviene quando la partizione /boot/ è superiore ai 1024 cilindri della testina del disco fisso o quando si utilizza la modalità LBA. Il boot loader della fase intermedia è disponibile nella partizione /boot/ o in una piccola sezione dell'MBR e della partizione /boot/.

  3. La fase 2 o boot loader secondario, viene caricata nella memoria. Il boot loader secondario visualizza il menu di GRUB e l'ambiente dei comandi. Questa interfaccia vi consente di selezionare il sistema operativo o il kernel da avviare, il passaggio degli argomenti al kernel o di osservare i parametri del sistema.

  4. Il boot loader secondario oltre a leggere il sistema operativo o il kernel, è in grado di leggere i contenuti di /boot/sysroot/ all'interno della memoria. Dopo che GRUB ha determinato il sistema operativo o kernel da avviare, lo carica in memoria e cede il controllo della macchina al sistema operativo.

Il metodo utilizzato per avviare Red Hat Enterprise Linux è chiamato caricamento diretto, in quanto il boot loader carica direttamente il sistema operativo. Non esiste alcuna fase intermedia tra il boot loader ed il kernel.

Il processo d'avvio utilizzato da altri sistemi operativi può variare leggermente. Per esempio iI sistema operativo Microsoft® Windows®, oltre a numerosi altri sistemi operativi,vengono caricati mediante il metodo di caricamento a catena. Con questo metodo l'MBR fa semplicemente riferimento al primo settore della partizione contenente il sistema operativo, dove trova i file necessari per avviare il sistema.

GRUB supporta entrambi i metodi di avvio di caricamento, consentendovi di utilizzarli con qualsiasi sistema operativo.

AttenzioneAvvertenza
 

Durante l'installazione, il programma di installazione DOS e Windows di Microsoft, sovrascrive completamente l'MBR, eliminando qualsiasi boot loader esistente. Se create un sistema dual-boot, è preferibile installare prima il sistema operativo Microsoft.

2.2.2. Caratteristiche di GRUB

GRUB vanta una serie di caratteristiche che lo rendono preferibile ad altri boot loader disponibili per l'architettura x86. Ecco alcune delle peculiarità più importanti:

Note

[1]

Per ulteriori informazioni sul BIOS del sistema e sull'MBR, consultate la Sezione 1.2.1.