Skip to main content

GRUB

GRUB - GRand Unified Bootloader

It's unified because

  1. Supports multiple operating systems.
  2. Supports different Linux kernels.
  3. can load kernel from different file system types.

UEFI Runtime

UEFI - Unified Extensible Firmware Interface

The UEFI runtime is the software that reads a specific file format. GRUB is such an application. The UEFI runtime can parse and run it.

UEFI can work with any bootloader

UEFI can work with any bootloader that provides an .efi bootloader implementation.

uefi-exeuction-process
comparison to other runtimes

The JRE understands .class files. The kernel understands .ELF native files.

The runtime then schedules the app for the CPU to run. This is exactly what UEFI does. It takes GRUB, a UEFI based app, and runs it.

Configuration

The GRUB config is the grub.cfg file. It lists the options to show on the boot UI. This file is passed to GRUB's UEFI app.

Application storage

The GRUB app is stored in a special FAT filesystem under /boot/efi. Its location is in the boot order, stored in a non-volatile area in RAM.

Execution process

uefi-exeuction-process