---
title: Offered Boot Managers
description: Description and recommendations for the currently offered boot managers
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 3
---

To offer the best experience across a range of devices, CachyOS currently offers the following boot managers: **systemd-boot, rEFInd, GRUB, and Limine**.

This wiki article describes the feature set of each boot manager and includes our recommendations for when to choose them.
For configuration, please see [Boot Manager Configuration](/configuration/boot_manager_configuration).

:::caution
**Important Note:** Some MSI motherboards have UEFI firmware that does not fully comply with the UEFI specification. This can lead to compatibility issues with certain boot managers, including GRUB and rEFInd.

If you encounter such issues, consider using `systemd-boot` or `Limine`.
:::

---

## Quick Feature Comparison

<style>{`
  .bm-table {
    width: 100%;
    border-collapse: collapse;
  }
  .bm-table th, .bm-table td {
    padding: 8px 10px;
    vertical-align: top;
    word-break: break-word;
  }
  /* vertical separators between boot-manager columns */
  .bm-table th:not(:first-child),
  .bm-table td:not(:first-child) {
    border-left: 2px solid var(--ifm-table-border-color, #e5e7eb);
  }
  /* bottom rule under header */
  .bm-table thead th {
    border-bottom: 2px solid var(--ifm-table-border-color, #e5e7eb);
  }
`}</style>

<table className="bm-table">
  <thead>
    <tr>
      <th>Feature</th>
      <th><strong>systemd-boot</strong></th>
      <th><strong>rEFInd</strong></th>
      <th><strong>GRUB</strong></th>
      <th><strong>Limine</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Firmware support</strong></td>
      <td>UEFI only (no BIOS/MBR)</td>
      <td>UEFI only</td>
      <td>UEFI &amp; BIOS</td>
      <td>UEFI &amp; BIOS</td>
    </tr>
    <tr>
      <td><strong><code>/boot</code> filesystem support</strong></td>
      <td>According to firmware's support (usually FAT12/16/32); More with EFI drivers</td>
      <td>Firmware's,ext2,ext3,ext4,btrfs,ISO-9660,HFS+, and NTFS; More with EFI drivers</td>
      <td>Broad filesystem support (ext*, Btrfs, XFS, etc.)</td>
      <td>FAT12/16/32, ISO9660 for <code>/boot</code></td>
    </tr>
    <tr>
      <td><strong>Windows dual-boot</strong></td>
      <td>Auto-detects Windows Boot Manager on the same ESP</td>
      <td>Auto-detects EFI loaders and kernels</td>
      <td>Supported via <code>os-prober</code> or manual config</td>
      <td>Supported; Windows Boot Manager entries can be added with <code>limine-scan</code></td>
    </tr>
    <tr>
      <td><strong>Btrfs snapshot integration</strong></td>
      <td>Possible with custom setup (not provided by CachyOS)</td>
      <td>Possible with custom setup (not provided by CachyOS)</td>
      <td><strong>Supported on CachyOS via</strong> <code>grub-btrfs-support</code></td>
      <td><strong>Supported on CachyOS via</strong> <code>limine-snapper-sync</code></td>
    </tr>
    <tr>
      <td><strong>Full Disk Encryption (FDE)</strong></td>
      <td>Possible (root encrypted; <code>/boot</code> must remain unencrypted)</td>
      <td>Possible (root encrypted; <code>/boot</code> must remain unencrypted)</td>
      <td>Fully supported, including encrypted <code>/boot</code> via <code>cryptodisk</code> (LUKS1/PBKDF2 only; LUKS2 support limited/workarounds needed)</td>
      <td>Possible (root encrypted; <code>/boot</code> must remain unencrypted)</td>
    </tr>
    <tr>
      <td><strong>Theming / UI</strong></td>
      <td>Minimal, no theming</td>
      <td>Graphical, themeable UI</td>
      <td>Themeable, classic UI</td>
      <td>Themeable menu (skins)</td>
    </tr>
    <tr>
      <td><strong>Ease of setup on CachyOS</strong></td>
      <td>Very simple (CachyOS auto-configures it by default)</td>
      <td>Easy setup with automatic OS and kernel detection</td>
      <td>Simplified by CachyOS hooks/scripts (includes Btrfs snapshots in menu)</td>
      <td>Simplified by CachyOS tools (entry helpers + snapshot menu integration)</td>
    </tr>
    <tr>
      <td><strong>MSI UEFI quirks</strong></td>
      <td>Works reliably</td>
      <td>Can have issues (workarounds required)</td>
      <td>Can have issues</td>
      <td>Works reliably</td>
    </tr>
    <tr>
      <td><strong>TPM PCR Measured Boot</strong></td>
      <td>Yes, <a href="https://systemd.io/TPM2_PCR_MEASUREMENTS/" target="_blank">built-in</a></td>
      <td>Possible using systemd-ukify</td>
      <td>Yes, <a href="https://www.gnu.org/software/grub/manual/grub/html_node/Measured-Boot.html" target="_blank">built-in</a></td>
      <td><a href="https://github.com/fwupd/fwupd/discussions/9568" target="_blank">Possible using systemd-ukify</a></td>
    </tr>
    <tr>
      <td><strong>Best use case</strong></td>
      <td>Fast/simple UEFI setups; fallback for MSI quirks</td>
      <td>Multi-boot with polished UI</td>
      <td>Needed for encrypted <strong>/boot</strong>, BIOS, or widest FS support</td>
      <td>Modern setups wanting snapshot booting + BIOS &amp; UEFI + chainloading</td>
    </tr>
  </tbody>
</table>

## Boot Manager Details

### systemd-boot

Part of the systemd family, systemd-boot was created to be as simple as possible. Therefore, it only has support for UEFI-based systems. This simple yet efficient design ensures it is reliable and fast, but it comes at the cost of advanced features supported by other boot managers.

#### Pros
- Very simple configuration.
- Boot entries are separated into multiple files, making them easy to manage.
- Ensures compatibility with some MSI boards that face UEFI issues when using other boot managers.
- On CachyOS, configuration is auto-generated out of the box.
- TPM PCRs are measured during boot.

#### Cons
- No support for BIOS/MBR.
- Very barebones: no theming or customization.
- If using a boot filesystem beyond the firmware's default ones (FAT12/16/32), then separate ESP and [XBOOTLDR](https://wiki.archlinux.org/title/Systemd-boot#Installation_using_XBOOTLDR) partitions & EFI drivers need to be manually added.
- Cannot find boot images on partitions other than its own ESP or the XBOOTLDR partition.
- Config is not auto-generated unless configured to do so.
- No native support for Btrfs snapshot rollbacks due to requirement to store kernel images on the boot partition rather than the root.
  - Snapshot booting is possible only with custom setups (not provided by CachyOS).

---

### rEFInd

A fork of rEFIt, rEFInd was primarily made to make it easier for MacOS users to multi-boot. However, rEFInd has evolved into being hardware agnostic, making it a great choice for multi-booting on any system. The main draw of rEFInd is its ability to scan all storage devices at boot and correspondingly display entries for each OS/Kernel found.

#### Pros
- Autodetects all operating systems and kernels on storage devices.
- Little to no manual configuration required.
- Graphical UI reminiscent of the MacOS boot selector.
- Great theming support, with optional touchscreen support.
- Can read boot images from EFI filesystems (FAT12/16/32) as well as EXT4 and BTRFS. Additional filesystem support can be enabled by installing EFI drivers from the `efifs` package.

#### Cons
- No support for BIOS systems.
- Incompatible with some MSI boards (due to UEFI spec violations).
  - Fixable with a workaround, but requires extra steps.
- TPM PCRs are not measured. <a href="https://github.com/fwupd/fwupd/wiki/TPM-PCR0-differs-from-reconstruction">Will fail TPM PCR0 Reconstruction test</a>.
  - Fixable by booting UKI that uses systemd-stub as UEFI stub. The systemd-ukify can make this.
  - Another workaround is to chainload another bootloader that measured TPM PCR (e.g. systemd-boot, GRUB).
---

### GRUB

GRUB is the oldest of the available boot managers. It has a very large feature set, works on almost every machine, and remains the most widely used Linux boot manager.

#### Pros
- Supports nearly all Linux filesystems.
- Widely used — documentation and community help are abundant.
- Supports encrypted `/boot` partitions.
- Supports Btrfs snapshot booting (via `grub-btrfs-support` on CachyOS).
- Supports BIOS and UEFI systems.
- Theme support available, despite the somewhat dated UI.
- TPM PCRs are measured during boot.

#### Cons
- Large and complex, with many filesystem drivers.
- Noticeably slower than systemd-boot, rEFInd, and Limine.
- Incompatible with some MSI boards (UEFI spec violations).

---

### Limine

Limine is a modern, advanced, and portable multiprotocol bootloader. It serves as the reference implementation for the Limine boot protocol and supports Linux as well as chainloading other loaders.

#### Pros
- Supports multiple boot protocols, including Multiboot2 and the Linux boot protocol.
- Can boot on both UEFI and BIOS systems.
- Has theming capabilities similar to GRUB.
- Supports Btrfs snapshots via `limine-snapper-sync`, enabled by default on CachyOS with Btrfs.

#### Cons
- `/boot` must use FAT12/16/32 or ISO9660. Other filesystems require additional setup.
- Does not automatically add an entry to UEFI NVRAM. This must be done manually with `efibootmgr`, or handled automatically with `limine-entry-tool` (preinstalled on CachyOS).
- Does not work with UFS (Universal Flash Storage), used e.g. in some Chromebooks.
- TPM PCRs are not measured. <a href="https://github.com/fwupd/fwupd/wiki/TPM-PCR0-differs-from-reconstruction">Will fail TPM PCR0 Reconstruction test</a>.
  - Fixable by booting UKI that uses systemd-stub as UEFI stub. The systemd-ukify can make this (<a href="https://github.com/fwupd/fwupd/discussions/9568" target="_blank">see here</a>).
  - Another workaround is to chainload another bootloader that measured TPM PCR (e.g. systemd-boot, GRUB).

---

## TL;DR

- Choose GRUB if you need encrypted `/boot`, BIOS compatibility, or want Btrfs snapshots with a stable, mature boot manager.

- Choose Limine if you want a modern bootloader with Btrfs snapshot integration out of the box, plus support for both BIOS and UEFI and Windows dual-boot (via **limine-scan**).

- Choose rEFInd if you want a polished graphical interface and automatic multi-boot detection on UEFI systems.

- Choose systemd-boot if you prefer the simplest setup and don’t require snapshots or advanced features. It’s also the most reliable fallback for MSI motherboards with UEFI issues.
