UEFI short overview
The UEFI firmware is the successor of the BIOS. Similar to the BIOS the UEFI firmware is stored in a chip
and therefore the UEFI firmware is available immediately after switching on the computer.
UEFI is used since around 2010. Since around 2020 booting by UEFI has largely replaced booting by BIOS.
Contrary to BIOS there exist detailed specifications of the UEFI functions and interfaces.
CSM (Compatibility Support Module):
CSM is a component of UEFI which provides BIOS functions.
By activating CSM an UEFI machine boots identically to a BIOS machine.
EFI System Partition and efi files:
The EFI System partition (ESP) is a special partition on a GPT disk.
The UEFI specification defines that the ESP is formated as FAT32.
The ESP contains efi files. Additionally it may contain other files (e.g. configuration data).
The UEFI firmware contains all required functions to load an efi file from FAT32 and start this file.
Efi files are files containing the boot loader code for starting an operating system.
When you install an operating system on an UEFI machine,
the installation program creates GPT partitions incl. the ESP and stores the appropriate efi file there.
The actual operating system is stored on a separate GPT partition.
UEFI boot variables:
The UEFI variables are stored in the NVRAM. They can be read and written by the UEFI firmware and by operating systems (Windows, Linux, ...).
The following screenshot shows the UEFI variables relevant for booting:
This variable contains the order of the boot options. The UEFI firmware first tries to boot the first entry (Boot0017). If that fails it tries the second entry (Boot0013).
These tries are continued until a working boot option is met.
The individual boot options are stored as UEFI variables with the names Boot####. Here #### is a four digit hex number beginning with 0000.
The corresponding variable (e.g. Boot0017) contains a short description and the name of an efi file together
with an indication about the partition where this file lies.