E.2.2. Il processo d'avvio e GRUB nei sistemi x86 basati su UEFI

Questa sezione descrive il ruolo specifico che GRUB esercita durante l'avvio di un sistema x86 basato su UEFI. Per una panoramica generale del processo d'avvio consultare Sezione F.2, «Esame dettagliato del processo di avvio».
Il processo di caricamento di GRUB avviene in diverse fasi:
  1. La piattaforma basata su UEFI legge la tabella delle partizioni sullo storage del sistema e monta EFI System Partition (ESP), una partizione VFAT etichettata con un globally unique identifier (GUID) particolare. ESP contiene applicazioni EFI come il bootloaders ed il software dell'utilità, entrambi archiviati in directory specifiche ai rivenditori software. Da un punto di vista interno al file system di Red Hat Enterprise Linux 6, ESP risulta essere in /boot/efi/ ed il software EFI fornito da Red Hat in /boot/efi/EFI/redhat/.
  2. La directory /boot/efi/EFI/redhat/ contiene grub.efi, una versione di GRUB compilata per l'architettura del firmware di EFI come applicazione EFI. In casi più semplici l'EFI boot manager seleziona grub.efi come bootloader predefinito leggendolo all'interno della memoria.
    Se ESP contiene altre applicazioni, l'EFI boot manager potrebbe richiedere la selezione di una applicazione da eseguire al posto di caricare automaticamente grub.efi.
  3. 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.
Poichè ogni riveditore mantiene la propria directory di applicazioni in ESP, il caricamento a catena non è normalmente necessario su sistemi basati su UEFI. L'EFI boot manager è in grado di caricare qualsiasi bootloader del sistema operativo presenti in ESP.