UEFI
Unified Extensible Firmware Interface
- Replaces the basic input/output system (BIOS)
- Developed by Intel (ca. 1998)
UEFI Advantages
- Can boot from large disks (over 2TB)
- Now uses GPT instead of MBR
- CPU independent
- Flexible pre-OS environment (including networking)
UEFI Booting
Unlike BIOS, UEFI does not rely on a boot sector, defining instead a boot manager as part of the UEFI specification. When a computer is powered on, the boot manager checks the boot configuration and, based on its settings, loads and executes the specified operating system loader or operating system kernel. The boot configuration is a set of global-scope variables stored in NVRAM, including the boot variables that indicate the paths to operating system loaders or kernels, which as a component class of UEFI applications are stored as files on the firmware-accessible EFI system partition (Wikipedia)
UEFI CSM
Compatability support module supports legacy bios.
UEFI Can do things BIOS cannot
- Can read a partition table
- Can access files in some specific filesystems
- Can execute code in a particular format
UEFI Firmware
- Your UEFI firmware contains something very like what you think of as a boot menu.
- You can query its configuration with efibootmgr -v, from any UEFI-native boot of a Linux OS, and also change its configuration with efibootmgr (see the man page for details).
UEFI Firmware
- This ‘boot menu’ can contain entries that say ‘boot this disk in BIOS compatibility mode’, ‘boot this disk in UEFI native mode via the fallback path’ (which will use the ‘look for BOOT(something).EFI’ method described above), or ‘boot the specific EFI format executable at this specific location (almost always on an EFI system partition)’.
- The nice, clean design that the UEFI spec is trying to imply is that all operating systems should install a bootloader of their own to an EFI system partition, add entries to this ‘boot menu’ that point to themselves, and butt out from trying to take control of booting anything else.
UEFI Boot Notes
- If you boot the installation medium in ‘UEFI native’ mode, it will do a UEFI native install of the operating system: it will try to write an EFI-format bootloader to an EFI system partition, and attempt to add an entry to the UEFI boot manager ‘boot menu’ which loads that bootloader.
- If you boot the installation medium in ‘BIOS compatibility’ mode, it will do a BIOS compatible install of the operating system: it will try to write an MBR-type bootloader to the magic MBR space on a disk.
Disk Format Notes
- If you want to do a ‘BIOS compatibility’ type installation, you probably want to install to an MBR formatted disk.
- If you want to do a UEFI native installation, you probably want to install to a GPT formatted disk.
Am I using GPT or DOS
UEFI Secure boot
- optional (may not be available in all UEFI implementations)
- will enhance security
- helps to prevent malicious boot code from running?
GPT
- Supports 128 partitions
- Supports Zettabyte hard disks
- Required for UEFI (64 bit)
- Can be used on BIOS
GPT
GPT is a standard for the layout of the partition table on a physical storage device used in a desktop or server PC, such as a hard disk drive or solid-state drive, using globally unique identifiers (GUID)