Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - Arch Linux - What is systemd-boot

    What is systemd-boot

    WillieBy WillieJanuary 2, 2026No Comments4 Mins Read

    The systemd-boot utility functions as a UEFI boot manager for modern Linux systems. It displays a text menu for selecting boot entries and supports direct kernel command line editing.

    Installation Prerequisites

    Verify UEFI mode before installing systemd-boot. Run the following command:

    $ ls /sys/firmware/efi/efivars

    The directory exists when the system boots in UEFI mode. Legacy BIOS systems cannot use systemd-boot.

    Note: The kernel requires CONFIG_EFI_STUB enabled for direct EFI execution.

    Installing systemd-boot

    Install systemd-boot to the EFI System Partition:

    # bootctl install

    This command copies the boot manager files to the ESP. The UEFI firmware creates an entry named “Linux Boot Manager” in the boot order.

    The installation places files at different locations based on architecture:

    Architecture File Location
    x86-64 esp/EFI/systemd/systemd-bootx64.efi
    x86-64 Fallback esp/EFI/BOOT/BOOTX64.EFI
    IA32 esp/EFI/systemd/systemd-bootia32.efi

    XBOOTLDR Partition Setup

    Create an extended boot partition to separate kernels from the ESP. This helps when dual-booting with Windows on small ESP partitions.

    Set the partition type GUID to bc13c2ff-59e6-4262-a352-b275fd6f7172. Use ea00 for gdisk or xbootldr for fdisk.

    Tip: Mount ESP at /efi and XBOOTLDR at /boot during installation.

    The XBOOTLDR partition stores kernels and initramfs images. The ESP holds only the boot manager and configuration files.

    Warning: Disable fast boot in UEFI firmware to prevent systemd-boot from missing XBOOTLDR entries.

    Configuration Files

    Configure the boot manager through files on the ESP. The main configuration resides in /loader/loader.conf.

    Basic Configuration

    Edit /loader/loader.conf to set boot behavior:

    default arch.conf
    timeout 3
    console-mode auto
    editor no

    The default parameter specifies the boot entry filename without extension. Set timeout to the menu display duration in seconds.

    Parameter Purpose
    default Entry to boot automatically
    timeout Menu display seconds
    console-mode Screen resolution setting
    editor Enable kernel line editing

    Creating Boot Entries

    Place boot entry files in /loader/entries/ with the .conf extension. Each file defines one boot option.

    Create an entry file:

    title   Arch Linux
    linux   /vmlinuz-linux
    initrd  /initramfs-linux.img
    options root=PARTUUID=partition-uuid rw

    Replace partition-uuid with the actual partition UUID. Get the UUID with:

    $ blkid -s PARTUUID -o value /dev/sdXN

    Keyboard Controls

    Navigate the boot menu using these keys:

    Key Action
    Up/Down Select entry
    Enter Boot selected entry
    d Set as default
    e Edit kernel parameters
    + Increase timeout
    – Decrease timeout

    Press Space during boot to show the menu when timeout equals zero.

    Updating systemd-boot

    Update the boot manager after systemd package upgrades. Run the update command:

    # bootctl update

    The boot manager functions independently from the installed systemd version. Updates add new features and fix bugs.

    Note: Sign updated boot files when using Secure Boot.

    Automatic Updates

    Enable automatic updates through a systemd path unit. The system updates the boot manager when package files change.

    Most distributions provide automatic update mechanisms. Check distribution documentation for specific procedures.

    Boot Counting and Fallback

    The boot manager tracks boot attempts automatically. Entries with counters in their filenames participate in this system.

    Counter format uses two numbers separated by hyphens. The first shows remaining attempts. The second counts completed tries.

    Tip: Successful boots remove counters from filenames automatically.

    Failed entries move to the top of the menu. Working entries appear at the bottom. The default selection favors verified entries.

    Working with Unified Kernel Images

    Store unified kernel images in /EFI/Linux/ on the ESP. The boot manager detects these files automatically without manual entry creation.

    Unified images combine kernel, initramfs, and command line into one EFI executable. This simplifies boot configuration and improves security.

    EFI Variables

    The boot manager communicates with the operating system through EFI variables. These variables store boot state and configuration.

    Variable Purpose
    LoaderEntryDefault Persistent default entry
    LoaderEntryOneShot Next boot entry only
    LoaderConfigTimeout Menu display duration

    Use bootctl commands to modify these variables. The set-default command changes the default entry. The set-oneshot command sets a single-use override.

    FAQs

    systemd-boot requires UEFI firmware. Legacy BIOS systems cannot use this boot manager. The kernel needs EFI stub support enabled.

    Press and hold the Space key during system initialization. This brings up the hidden menu before automatic boot occurs.

    Configuration files reside on the EFI System Partition. The main config is /loader/loader.conf. Boot entries live in /loader/entries/.

    Yes, systemd-boot detects Windows Boot Manager automatically. It appears as a menu option without manual configuration. Windows entries auto-populate in the boot list.

    Run bootctl update as root after systemd package updates. This copies new boot manager files to the ESP. Enable automatic updates through systemd units.

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    Arch Based Distros You Should Try in 2026

    March 19, 2026

    How to Set Up Spotify Arch Linux

    March 18, 2026

    How To Use Nmcli Connect To Wi-Fi on Linux

    March 14, 2026

    How to Do a Zsh Install on Any Linux Distro

    March 13, 2026
    Top Posts

    How To Find Text in Files In Linux

    April 14, 2026

    FBMYSQLACCESSFR

    March 16, 2026

    PGREP

    January 23, 2026

    LWP-REQUEST

    March 6, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.