Skip to main content

Command Palette

Search for a command to run...

(1) BOOTX64.EFI Therory

Updated
3 min read

We can create a bootable USB by building a BOOTX64.EFI file.

What is an EFI file?

EFI = Extensible Firmware Interface

An .efi file is an executable binary used in systems that support UEFI (Unified Extensible Firmware Interface).
Before the operating system (Windows, Linux, macOS, etc.) starts, the system firmware (UEFI) runs these files.

What is UEFI?

UEFI = Unified Extensible Firmware Interface

UEFI is a firmware interface that connects a PC’s hardware to its operating system.
It was developed to replace the older BIOS system, and is now the standard in almost all modern computers.

UEFI is responsible for booting the operating system, initializing hardware, setting up security features, and loading the bootloader.


UEFI vs BIOS Comparison

FeatureBIOS (Legacy)UEFI (Modern)
Release Era1980sAfter 2005
Max Boot Disk Size2TB (limited by MBR)9.4ZB+ (supports GPT)
Partition SchemeMBRGPT
Boot SpeedSlowerFaster
Security FeaturesMinimalSecure Boot, encryption, etc.
InterfaceText-based UIGUI with mouse support
Executable Format.bin.efi (PE format)

Core Functions of UEFI

Hardware Initialization

UEFI initializes key hardware components such as the CPU, RAM, keyboard, and disk drives during the early boot process.

Boot Manager Role

UEFI acts as a boot manager by locating and executing .efi bootloaders stored in the EFI System Partition (ESP).
Common examples include:

  • BOOTX64.EFI

  • grubx64.efi

  • bootmgfw.efi

Secure Boot

UEFI can verify the digital signature of the OS boot files.
This helps prevent booting from unauthorized or malicious software (e.g., rootkits).

Passes Control to OS

Once the OS kernel is loaded, UEFI hands over control to the operating system.


How UEFI Relates to the Boot Process

Simplified UEFI Boot Sequence:

  1. Power on the system

  2. UEFI firmware starts

  3. It searches for the EFI System Partition (ESP)

  4. Executes BOOTX64.EFI or grubx64.efi from the ESP

  5. Loads and starts the operating system kernel

Bootable USB

We need to create a bootable USB, and for this, the file system must be set to exFAT. NTFS cannot be used if we want to work with .efi files.


NTFS vs exFAT (Summary)

FeatureNTFSexFAT
Full NameNew Technology File SystemExtended File Allocation Table
CompatibilityWindows only (limited on UEFI/BIOS)Cross-platform (Windows, macOS, UEFI)
EFI SupportUEFI systems cannot boot from NTFSUEFI systems can boot from exFAT or FAT32
Max File Size~16TB~16EB
Usage ScenarioInternal drives, system disksUSB drives, SD cards, boot media

Summary:

  • NTFS is powerful for Windows internal drives, but not supported by UEFI firmware for booting.

  • exFAT is a lightweight, fast, and UEFI-compatible file system, ideal for bootable USBs.

UEFI Kernel

Part 1 of 1

An OSDev series documenting the development of a UEFI-booting kernel, including PMM and VMM implementation.

More from this blog

psk-study

134 posts