UEFI Booting Process
sequenceDiagram
participant Machine as Machine
participant UEFI as UEFI Firmware
participant BootLoader as Boot Loader (GRUB2)
participant Kernel as Kernel
participant Systemd as Systemd Unit
Machine->>UEFI: Power On
UEFI->>Machine: Power On Self Test (POST)
UEFI->>Machine: Press F2 for UEFI config
UEFI->>Machine: Initialize RAM
UEFI->>BootLoader: Search for bootable device and MBR
UEFI->>BootLoader: Hand over control
BootLoader->>Machine: Load grubx64.efi (UEFI)
BootLoader->>Machine: Load configuration from /boot/efi/EFI/redhat/grub.cfg
BootLoader->>Kernel: Load kernel & initramfs from disk
BootLoader->>Kernel: Hand over control
Kernel->>Machine: Load initramfs into RAM
Kernel->>Machine: Initialize hardware & drivers
Kernel->>Systemd: Execute /sbin/init script
Systemd->>Machine: Execute units for initrd.target
Kernel->>Machine: Switch root file system
Systemd->>Machine: Re-execute using disk copy
Systemd->>Machine: Start/Stop units & solve dependencies
loop Hardware Initialization
Machine-->>UEFI: Callbacks & Hardware Initialization
end