Boot Stages
A UEFI system goes through several distinct phases during the boot process.
- Platform Initialization. This early-boot phase is mostly outside
the scope of
uefi-rs
. It is described by the UEFI Platform Initialization Specification, which is separate from the main UEFI Specification. - Boot Services. This is when UEFI drivers and applications are
loaded. Both the
BootServices
andRuntimeServices
tables are accessible. This stage typically culminates in running a bootloader that loads an operating system. The stage ends whenSystemTable::exit_boot_services
is called, putting the system in Runtime mode. - Runtime. This stage is typically active when running an operating
system such as Linux or Windows. UEFI functionality is much more
limited in the Runtime mode. The
BootServices
table is no longer accessible, but theRuntimeServices
table is still available. Once the system is in Runtime mode, it cannot return to the Boot Services stage until after a system reset.