2.2. GRUB

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

2.2.1. Il 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 il boot loader della prima o seconda fase.

  2. Il boot loader della fase intermedia è caricato in memoria da quello della fase 1 solo se necessario. Alcuni elementi hardware richiedono una fase intermedia per giungere al boot loader secondario. 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 parte dell'MBR e della partizione /boot.

  3. Caricamento del boot loader secondario - Fase 2. Il boot loader secondario visualizza il menu e l'ambiente dei comandi di GRUB. Questa interfaccia vi consente di selezionare il sistema operativo o il kernel da avviare, di passare gli argomenti al kernel o di osservare i parametri di sistema, come la RAM disponibile.

  4. Caricamento del sistema operativo o del kernel e di initrd. Dopo che GRUB è ha determinato il sistema operativo da avviare, lo carica in memoria e cede il controllo del calcolatore al sistema operativo.

Il metodo utilizzato per avviare Red Hat Linux è denominato caricamento diretto perché il boot loader carica direttamente il sistema operativo. Non esiste alcun intermediario tra il boot loader e il kernel.

Il processo di avvio utilizzato da altri sistemi operativi può variare leggermente. I sistemi operativi DOS e Windows di Microsoft, per esempio, oltre a numerosi altri sistemi operativi proprietari, 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 operativo.

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

AttenzioneAvvertenza
 

Durante l'installazione, il programma di installazione di DOS e Windows di Microsoft sovrascrive completamente l'MBR, eliminando qualsiasi boot loader esistente. Se create un sistema a doppio avvio, è preferibile installare prima il sistema operativo Microsoft. Per istruzioni su come effettuare questa operazione, consultate l'appendice Installing Red Hat Linux in a Dual-Boot Environment nella Red Hat Linux Installation Guide.

2.2.2. Caratteristiche di GRUB

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

Note

[1]

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