UEFI (Unified Extensible Firmware Interface) is an interface between operating systems and the hardware
platform’s firmware. It is the successor of BIOS.
UEFI provides a standard environment for running UEFI apps, UEFI apps include (but
are not limited to):
- the UEFI shell.
- UKIs – OS kernels that are Unified Kernel Images. An UKI can be booted from UEFI without any boot manager.
- boot managers for booting operating systems.
UEFI is not platform specific and runs on different platforms like AMD’s and Intels X86-64, Intel Itanium
(ia64) and ARM.
UEFI allows for the OS to interact with a set of UEFI firmware variables, exposed to the OS by file system.
the origins of UEFI and its current development
UEFI’s predecessor EFI was developed and published by Intel. The UEFI specification is developed and managed
by the UEFI Forum. The list of the UEFI Forum membership includes AMD, Intel, Apple,
Microsoft, IBM, chip manufactures like NVIDIA, BIOS and firmware vendors like AMI and Phoenix, operating system
vendors like RedHat (which is now part of IBM) or SUSE, quite a few OEMs, and a few other companies like Google and
organizations like the Linux Foundation. So, UEFI is a very broad consensus.
Officially supported platform include:
- x86 (IA-32, x86-64)
- Itanium (IA-64)
- ARM (AArch32, AArch64)
- RISC-V (32-bit, 64-bit, 128-bit)
- LoongArch (32-bit, 64-bit)
UEFI vs BIOS
Both BIOS and UEFI are types of firmware for computers. BIOS firmware is found only on older IBM PCs and IBM PC compatible
computers. BIOS originated as proprietary firmware in IBM PCs and was adopted by Manufacturers of IBM PC compatibles.
In 1996, the BIOS specification was written by Compaq, Phoenix Technologies and Intel.
Occasionally, you might see the term “UEFI BIOS” in blog posts or whatever. Do not use this term.
It is utter nonsense. The correct term is UEFI firmware as opposed to BIOS firmware.
the coreboot opensource firmware
There is an open source firmware framework named coreboot, whose architecture is close to UEFI.
The project’s site is on coreboot.org.
I’ve seen coreboot being written as Coreboot with an upper case ‘C’ in Articles, YouTube videos and so on.
The correct spelling is coreboot with all letters in lower case, no dash and no space between core and boot.
reference
additional resources
articles
| created on | November 13, 2025 |
The UEFI specification is no fun read and for some topics, I found it hard to understand. This document describes the boot process on UEFI platform from the moment a machine is powered up until the moment the OS takes control over the machine. I put this document together from information from the UEFI spec and some other sources. Running Intel CPU’s, I focus on the Intel platform here. Intel and AMD do take slightly different approaches during the early boot sequence, but the overall picture is the same....
| created on | January 7, 2026 |
UEFI Images are a class of files that contain executable code, aka EFI applications. UEFI images can be loaded and executed by an UEFI firmware. The first set of bytes in the UEFI Image file contains an image header that defines the encoding of the executable image.
...
| created on | January 14, 2026 |
A Unified Kernel Image (UKI) is a combination of an UEFI boot stub, a Linux kernel, and further (optional) resources like an initrd, all combined into a single UEFI image. This file can either be directly invoked by the UEFI firmware bootloader or by a bootloader like rEFInd or an OS’ bootloader.
...
| created on | November 23, 2025 |
Various information on working with UEFI in Linux, i.e., access to UEFI firmware variables, security considerations for accessing UEFI firmware variables, UEFI features in Linux, etc.....
| created on | November 23, 2025 |
Information on some Linux userspace tools for working with UEFI firmware, i.e. how to register a Linux kernel with the UEFI firmware boot manager, reading and manipulating UEFI firmware variables, building an UKI, etc.....
| created on | January 14, 2026 |
The dracut man page describes dracut as a ’low-level tool for generating an initramfs/initrd image’, but with ‘uefi=yes’ in dracut’s config, dracut builds an UEFI image that is executable by an UEFI firmware. This is perfect for building an Unified Kernel Image....
| created on | January 7, 2026 |
Terms used in the domain of UEFI and related domains, and their abbreviation...