9.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.

9.2.1. Processo di avvio di GRUB e x86

This section discusses the specific role GRUB plays when booting an x86 system. For a look at the overall boot process, refer to Sezione 30.2, «Esame dettagliato del processo di avvio».
Il processo di caricamento di GRUB avviene in diverse fasi:
  1. The Stage 1 or primary boot loader is read into memory by the BIOS from the MBR[4]. The primary boot loader exists on less than 512 bytes of disk space within the MBR and is capable of loading either the Stage 1.5 or Stage 2 boot loader.
  2. Se necessario il boot loader della fase 1.5 viene letto nella memoria dal boot loader della fase 1. Alcuni hardware richiedono una fase intermedia per poter avanzare al boot loader della fase 2. Tale tendenza risulta essere vera se la partizione /boot/ si trova oltre il cilindro 1024 avanti al disco fisso, oppure quando si utilizza la modalità LBA. Il boot loader della fase 1.5 si può trovare sia sulla partizione /boot/ oppure su di una parte molto piccola dell'MBR e sulla 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 legge il sistema operativo o il kernel, insieme ai contenuti di /boot/sysroot/, nella memoria. Una volta che GRUB determina quale sistema operativo o kernel deve avviare, lo carica all'interno della memoria, e trasferisce il controllo della macchina al sistema operativo in questione.
Il metodo utilizzato per avviare Red Hat Enterprise Linux viene chiamato direct loading, poichè il boot loader carica il sistema operativo in modo diretto. Non è presente alcun intermediario 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.

Avvertimento

During installation, Microsoft's DOS and Windows installation programs completely overwrite the MBR, destroying any existing boot loaders. If creating a dual-boot system, it is best to install the Microsoft operating system first.


[4] For more on the system BIOS and the MBR, refer to Sezione 30.2.1, «Il BIOS».