Recommended resources
The freely available resources this lesson will direct you to.
Hello! This course begins with the boot process because security decisions made before the operating system starts can affect everything that follows. Over the coming lessons, you will build from platform initialization to Secure Boot and other security mechanisms, then connect that knowledge to testing, documentation, and interview scenarios.
Today’s distinction is foundational: firmware is software, but it is not the operating system; UEFI is a modern firmware interface, not simply a new name for legacy BIOS. By the end, you should be able to explain both distinctions accurately without needing to know the detailed UEFI boot phases yet. Allow about 35–40 minutes, including the video and readings.
Firmware and operating-system software
When you power on a computer, its operating system cannot be the first code to run: something must initialize enough of the machine to find and start the OS. On a typical PC, platform firmware performs that early work. It is software—program instructions—but it is normally stored in non-volatile flash memory associated with the platform, rather than as an ordinary OS installation on the main drive.
Start with a short visual explanation:
What Makes ALL Your Electronics Work - Firmware Explained
Watch “What Makes ALL Your Electronics Work - Firmware Explained” from Techquickie for an introduction to firmware’s storage and hardware-facing role.
Watch the definition, then the PC example. Focus on what runs before the OS. Treat the description of firmware as “between hardware and software” as shorthand: firmware is itself software.
A useful distinction is what the code is responsible for, not merely what language it was written in or whether it is “low level.” Platform firmware prepares hardware and provides a way to start an OS. The OS kernel then manages processes, memory, files, and devices for the running system. Your Python program or a Linux service runs in an environment the OS provides; the platform firmware has to begin its work before that environment exists.
Storage is another useful clue, though not a complete definition. A Linux kernel and most applications are normally stored on a drive. The PC’s platform firmware is normally stored in flash on the system board, where it remains available even if you replace that drive. Other components, such as network adapters and storage devices, can have their own firmware. “Firmware” therefore does not mean one single program inside a computer.
Read NIST’s account of what system firmware does and how conventional BIOS starts a machine:
NIST SP 800-147, BIOS Protection Guidelines
Read the relevant parts of NIST’s “BIOS Protection Guidelines” to connect the firmware definition to a concrete PC startup process.
In Section 2.1, “System BIOS” (around printed p. 2-1), read the opening account. Note its responsibilities, its flash storage, and why manufacturers issue updates. Then, in Section 2.2.1, “Conventional BIOS Boot Process” (printed pp. 2-1–2-2), read the operating-mode comparison and the passage from boot-device selection. You can leave the intervening details of boot blocks and peripheral firmware for later.
Two qualifications prevent a common misunderstanding. First, firmware can be updated; “firm” does not mean physically unchangeable. A firmware update may fix a vulnerability or support new hardware, but it changes code in a different place from a routine OS package update. Second, firmware does not necessarily disappear when the OS starts. Some firmware functions remain relevant while the computer is running. For now, the key timing distinction is that platform firmware begins the boot, while the OS takes over normal system operation afterward.
What “legacy BIOS” means
BIOS stands for Basic Input/Output System. In technical comparisons, legacy BIOS or conventional BIOS means the older PC firmware approach rooted in the original x86 PC design. NIST also uses “BIOS” more broadly to mean system boot firmware, including UEFI-based firmware. That broader usage is why you may see the phrase “UEFI BIOS” or a setup screen labelled “BIOS” on a modern machine. In an interview, saying legacy BIOS when you mean the older approach removes the ambiguity.
At a high level, legacy BIOS initializes essential hardware, selects a boot device, reads its initial boot code, and gives that code control. A conventional example uses the device’s master boot record (MBR): the first sector contains initial boot code, which can continue the process of loading an OS. You do not need to memorize the full boot sequence yet. The important observation is that firmware must establish a route from power-on to an OS loader.
Legacy BIOS is associated with older x86 conventions, including execution often in 16-bit real mode. “Often” matters: as NIST notes, not every conventional BIOS implementation executes entirely that way. Nor does “legacy” mean the firmware was impossible to update or extend. The distinction is its inherited architecture and boot interface, not an absolute claim that every old PC worked identically.
What UEFI changes—and what it does not
UEFI stands for Unified Extensible Firmware Interface. Strictly speaking, UEFI is a specification for an interface between platform firmware and software such as an OS loader. A machine has a firmware implementation of that specification. Like legacy BIOS firmware, that implementation still has to prepare the platform and arrange for an OS to start; UEFI does not replace firmware with an operating system.
The UEFI Forum explains both the interface and the terminology:
UEFI FAQs | Unified Extensible Firmware Interface Forum
Read the UEFI Forum’s FAQ for the standard’s own explanation of UEFI, then compare its precise terminology with everyday uses of “BIOS.”
Under “What is UEFI?”, read the definition. Focus on the interface’s data tables and service calls, rather than trying to memorize them. Under “How do UEFI specifications differ from BIOS?”, read the comparison. Finally, under “Do UEFI specifications completely replace the BIOS?”, read the terminology clarification. Notice the distinction between a specification and the firmware that implements it.
UEFI offers a standardized, extensible environment in which firmware, drivers, and OS loaders can interact. On a typical UEFI installation, firmware can load a UEFI executable—often an OS bootloader—from a file on an EFI System Partition. Compare that with the conventional BIOS example, where firmware executes initial boot code from a selected device’s MBR. This is a comparison of typical boot approaches, not a claim that every UEFI machine requires one particular disk-partition scheme. A later lesson will examine partitions and boot entries precisely.
UEFI is also designed across processor architectures, rather than being tied to the older x86 PC design. That does not mean every firmware image works on every processor: a particular implementation must still be built for its platform. Likewise, an attractive graphical setup screen is not the definition of UEFI. The difference lies in the specified firmware interfaces and boot environment, not in how the settings menu looks.
For a security interview, one more boundary matters: UEFI does not automatically mean Secure Boot is enabled. UEFI provides the setting in which mechanisms such as Secure Boot can operate, but whether they are supported, configured, and active is a separate question. We will examine that distinction later.
A reliable way to compare them
These labels describe different things, so first ask which distinction is being made:
| Comparison | The distinction |
|---|---|
| Firmware vs. OS software | Platform firmware prepares the machine and starts the boot path; the OS manages the normally running computer. Both are software. |
| Legacy BIOS vs. UEFI | Two approaches to PC platform firmware and its boot interface: an older x86-derived approach versus a modern, standardized and extensible one. |
| UEFI specification vs. UEFI firmware | The specification defines interfaces; a platform’s firmware implements them. |
This gives you a concise interview answer:
“Firmware is software stored with a device or platform to perform low-level functions. On a PC, platform firmware initializes the system and starts the operating-system loader; it is distinct from the OS installed on the drive. Legacy BIOS is the older PC firmware approach, commonly associated with x86 real-mode startup and MBR boot code. UEFI specifies a more modern, extensible firmware interface and boot environment. People sometimes still call UEFI firmware ‘the BIOS,’ but technically UEFI and legacy BIOS are different approaches.”
That wording stays accurate without claiming that all firmware lives in one chip, that every legacy BIOS is identical, or that UEFI itself guarantees security. It also identifies the next useful question: what does the firmware actually do between processor reset and launching the loader?
Key takeaways
Firmware is software, typically stored in non-volatile memory close to the platform or device it controls. PC platform firmware starts the system before the OS can run. Legacy BIOS names the older PC firmware approach; UEFI names a specification implemented by modern platform firmware. Both serve the broad purpose of getting a machine ready to boot, but they provide different boot environments.
Next, we will follow a typical x86 UEFI startup in order—from processor reset through its initialization phases to the OS loader—so these distinctions become a concrete boot sequence.