Skip to content

CachyOS Boot Manager Configuration

Mattscreative edited this page Dec 5, 2025 · 2 revisions

CachyOS Boot Manager Configuration Guide

This guide covers configuring different boot managers available in CachyOS: GRUB, systemd-boot, rEFInd, and Limine. Learn how to configure, customize, and troubleshoot each boot manager.


Table of Contents

  1. Understanding Boot Managers
  2. GRUB Configuration
  3. systemd-boot Configuration
  4. rEFInd Configuration
  5. Limine Configuration
  6. Switching Boot Managers
  7. Troubleshooting

Understanding Boot Managers

What is a Boot Manager?

A boot manager is software that runs when your computer starts. It:

  • Shows a menu of available operating systems
  • Lets you choose which OS to boot
  • Loads the selected operating system
  • Handles boot configuration

Available Boot Managers in CachyOS

CachyOS supports four boot managers:

  1. GRUB - Most common, highly compatible
  2. systemd-boot - Modern, UEFI-only, simple
  3. rEFInd - Beautiful, UEFI-only, feature-rich
  4. Limine - Modern, fast, supports Secure Boot

Which Boot Manager Should You Use?

GRUB:

  • Works with BIOS and UEFI
  • Most compatible
  • Highly customizable
  • Supports all features
  • More complex configuration

systemd-boot:

  • Simple and fast
  • UEFI only
  • Integrated with systemd
  • Easy to configure
  • Less customizable than GRUB

rEFInd:

  • Beautiful graphical interface
  • UEFI only
  • Auto-detects operating systems
  • Easy to use
  • Less control over boot process

Limine:

  • Modern and fast
  • Supports Secure Boot
  • Simple configuration
  • Good for CachyOS
  • Less common (fewer resources)

Recommendations:

  • Most users: GRUB (most compatible)
  • UEFI only, want simplicity: systemd-boot
  • UEFI only, want beauty: rEFInd
  • CachyOS default, Secure Boot: Limine

GRUB Configuration

What is GRUB?

GRUB (Grand Unified Bootloader) is the most widely used boot manager for Linux. It's highly compatible and feature-rich.

GRUB Installation

GRUB is usually installed during CachyOS installation, but you can install it manually:

# Install GRUB
sudo pacman -S grub

# For UEFI systems
sudo pacman -S efibootmgr

# For BIOS systems
sudo pacman -S grub  # No additional packages needed

GRUB Configuration File

Main configuration file:

/etc/default/grub

Understanding the file path:

  • /etc/: System configuration directory (where system-wide settings are stored)
  • default/: Subdirectory for default configurations
  • grub: The GRUB bootloader configuration file
  • Full path meaning: This file contains GRUB's default settings

Edit configuration:

sudo nano /etc/default/grub

What this command does:

  • sudo: Administrator privileges (needed to edit system files)
  • nano: A simple text editor (beginner-friendly)
  • Alternative editors: You can use vim or gedit if you prefer
  • /etc/default/grub: The file we want to edit

What you'll see:

  • The nano text editor will open
  • You'll see the GRUB configuration file contents
  • At the bottom, you'll see keyboard shortcuts:
  • ^X means Ctrl+X (to exit)
  • ^O means Ctrl+O (to save)
  • ^ means the Ctrl key

How to edit:

  1. Use arrow keys to navigate
  2. Type to add text
  3. Delete key to remove text
  4. Press Ctrl+O to save (then Enter to confirm)
  5. Press Ctrl+X to exit

Common GRUB Settings

Default boot entry:

GRUB_DEFAULT=0  # 0 = first entry, "saved" = last booted

Timeout (how long to show menu):

GRUB_TIMEOUT=5  # Seconds to wait
GRUB_TIMEOUT_STYLE=menu  # Show menu, or "hidden" to hide

Boot resolution:

GRUB_GFXMODE=1920x1080  # Set your screen resolution

Kernel parameters:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Additional kernel parameters:

# For NVIDIA
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"

# For AMD
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.ppfeaturemask=0xffffffff"

Applying GRUB Changes

After editing /etc/default/grub:

# Generate new GRUB configuration
sudo grub-mkconfig -o /boot/grub/grub.cfg

What this command does:

  • sudo: Administrator privileges (needed to write to boot directory)
  • grub-mkconfig: GRUB's configuration generator tool
  • What it does: Creates the actual boot menu from your settings
  • -o: Output flag (tells where to save the file)
  • /boot/grub/grub.cfg: The output file (the actual boot menu GRUB uses)

Understanding the process:

  1. Reads your settings: Looks at /etc/default/grub for your preferences
  2. Scans your system: Finds all installed operating systems and kernels
  3. Generates boot menu: Creates the menu you see when computer starts
  4. Saves to boot directory: Writes the menu to /boot/grub/grub.cfg

Why this step is necessary:

  • /etc/default/grub is just your preferences
  • /boot/grub/grub.cfg is the actual menu GRUB uses
  • You must regenerate after changing settings
  • Without this step, your changes won't take effect

Example output:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-cachyos
Found initrd image: /boot/initramfs-linux-cachyos.img
Found Windows Boot Manager on /dev/sda1
done

What this means:

  • GRUB found your CachyOS installation
  • It found your kernel and initial RAM disk
  • It detected Windows (if you have dual boot)
  • The configuration was successfully created

GRUB Themes

Install GRUB theme:

# Install theme package (example)
sudo pacman -S grub-theme-vimix

Or create custom theme:

  • Edit /boot/grub/themes/
  • Modify theme.txt
  • Update GRUB config

GRUB Boot Entries

GRUB automatically detects:

  • Installed Linux kernels
  • Windows (if dual booting)
  • Other operating systems

Manual entry example:

# Add custom entry to /etc/grub.d/40_custom
menuentry "Custom Boot" {
    set root=(hd0,1)
    linux /vmlinuz-linux root=/dev/sda1
    initrd /initramfs-linux.img
}

GRUB Troubleshooting

Problem: GRUB menu doesn't appear

Solutions:

  1. Check timeout setting:

    grep GRUB_TIMEOUT /etc/default/grub
  2. Reinstall GRUB:

    sudo grub-install /dev/sda
    sudo grub-mkconfig -o /boot/grub/grub.cfg

Problem: Can't boot into system

Solutions:

  1. Boot from USB/live environment
  2. Mount your installation
  3. Reinstall GRUB:
    sudo mount /dev/sda2 /mnt  # Your root partition
    sudo grub-install --root-directory=/mnt /dev/sda
    sudo grub-mkconfig -o /mnt/boot/grub/grub.cfg

systemd-boot Configuration

What is systemd-boot?

systemd-boot is a simple UEFI boot manager that's part of systemd. It's fast, simple, and integrated with systemd.

systemd-boot Installation

Install systemd-boot:

# Install systemd-boot
sudo pacman -S systemd-boot

# Install to EFI partition
sudo bootctl install

systemd-boot Configuration

Main configuration file:

/boot/loader/loader.conf

Edit configuration:

sudo nano /boot/loader/loader.conf

Common systemd-boot Settings

Default boot entry:

default arch.conf  # Name of boot entry file

Timeout:

timeout 5  # Seconds to wait

Editor:

editor 1  # 1 = enable, 0 = disable

Auto-entries:

auto-entries 1  # Auto-detect boot entries
auto-firmware 1  # Show firmware options

systemd-boot Boot Entries

Boot entries are in:

/boot/loader/entries/

Example entry file (arch.conf):

title   CachyOS Linux
linux   /vmlinuz-linux-cachyos
initrd  /initramfs-linux-cachyos.img
options root=PARTUUID=xxxx-xxxx-xxxx rw

Create new entry:

sudo nano /boot/loader/entries/cachyos.conf

Entry file format:

title   Entry Name
linux   /vmlinuz-kernel-name
initrd  /initramfs-kernel-name.img
options root=PARTUUID=xxxx rw additional-options

Updating systemd-boot

After kernel updates:

# systemd-boot auto-updates, but you can manually update:
sudo bootctl update

systemd-boot Troubleshooting

Problem: systemd-boot not showing

Solutions:

  1. Check EFI partition:

    ls /boot/EFI/
  2. Reinstall:

    sudo bootctl install
  3. Check UEFI boot order:

  • Enter UEFI settings
  • Set systemd-boot as first

rEFInd Configuration

What is rEFInd?

rEFInd is a beautiful, graphical boot manager for UEFI systems. It auto-detects operating systems and provides an attractive interface.

rEFInd Installation

Install rEFInd:

# Install rEFInd
sudo pacman -S refind

# Install to EFI partition
sudo refind-install

rEFInd Configuration

Main configuration file:

/boot/EFI/refind/refind.conf

Edit configuration:

sudo nano /boot/EFI/refind/refind.conf

Common rEFInd Settings

Timeout:

timeout 5  # Seconds

Default selection:

default_selection "CachyOS"

Resolution:

resolution 1920 1080

Scan for operating systems:

scanfor internal,external,optical,manual

rEFInd Themes

Install theme:

# Install rEFInd theme (example)
sudo pacman -S refind-theme-regular

Or use custom theme:

  • Place theme in /boot/EFI/refind/themes/
  • Edit refind.conf to use theme

rEFInd Auto-Detection

rEFInd automatically detects:

  • Linux kernels
  • Windows bootloaders
  • macOS (on Mac hardware)
  • Other EFI bootloaders

Manual entries:

# Add to refind.conf
menuentry "CachyOS" {
    icon /EFI/refind/themes/rEFInd-minimal/icons/os_linux.png
    volume "Linux"
    loader /vmlinuz-linux-cachyos
    initrd /initramfs-linux-cachyos.img
    options "root=PARTUUID=xxxx rw"
}

rEFInd Troubleshooting

Problem: rEFInd not showing

Solutions:

  1. Check EFI installation:

    ls /boot/EFI/refind/
  2. Reinstall:

    sudo refind-install
  3. Check UEFI settings:

  • Enable UEFI boot
  • Set rEFInd as first

Limine Configuration

What is Limine?

Limine is a modern, fast bootloader that supports Secure Boot. It's the default bootloader for CachyOS.

Limine Installation

Limine is usually installed during CachyOS installation, but you can install it manually:

# Install Limine
sudo pacman -S limine

Limine Configuration

Main configuration file:

/boot/limine/limine.cfg

Edit configuration:

sudo nano /boot/limine/limine.cfg

Limine Configuration Format

Example configuration:

:Linux
    PROTOCOL=linux
    KERNEL_PATH=boot:///vmlinuz-linux-cachyos
    MODULE_PATH=boot:///initramfs-linux-cachyos.img
    KERNEL_CMDLINE=root=PARTUUID=xxxx-xxxx-xxxx rw

Multiple entries:

:Linux (CachyOS)
    PROTOCOL=linux
    KERNEL_PATH=boot:///vmlinuz-linux-cachyos
    MODULE_PATH=boot:///initramfs-linux-cachyos.img
    KERNEL_CMDLINE=root=PARTUUID=xxxx rw

:Linux (Fallback)
    PROTOCOL=linux
    KERNEL_PATH=boot:///vmlinuz-linux-cachyos
    MODULE_PATH=boot:///initramfs-linux-cachyos-fallback.img
    KERNEL_CMDLINE=root=PARTUUID=xxxx rw

Limine Themes

Limine supports themes:

  • Edit theme files in /boot/limine/themes/
  • Modify configuration to use theme

Limine Secure Boot

Limine supports Secure Boot:

Limine Troubleshooting

Problem: Limine not booting

Solutions:

  1. Check configuration:

    cat /boot/limine/limine.cfg
  2. Verify kernel paths:

    ls /boot/vmlinuz-*
  3. Reinstall Limine:

    sudo limine-install /dev/sda

Switching Boot Managers

Why Switch?

You might want to switch boot managers if:

  • Current one has issues
  • You prefer different features
  • You need different compatibility
  • You want better appearance

How to Switch

Step 1: Install new boot manager

# Example: Install systemd-boot
sudo pacman -S systemd-boot
sudo bootctl install

Step 2: Configure new boot manager

  • Follow configuration steps above
  • Create boot entries
  • Test booting

Step 3: Remove old boot manager (optional)

# Example: Remove GRUB
sudo pacman -R grub

Step 4: Update UEFI boot order

  • Enter UEFI settings
  • Set new boot manager as first
  • Save and exit

Important Notes

** Warning:**

  • Always have a backup boot method (USB)
  • Test new boot manager before removing old
  • Keep old boot manager until new one works
  • Some boot managers can coexist

Troubleshooting

General Boot Issues

Problem: System won't boot

Solutions:

  1. Boot from USB/live environment
  2. Mount your installation:
    sudo mount /dev/sda2 /mnt  # Root partition
    sudo mount /dev/sda1 /mnt/boot/efi  # EFI partition (if UEFI)
  3. Reinstall boot manager:
  • GRUB: sudo grub-install --root-directory=/mnt /dev/sda
  • systemd-boot: sudo bootctl --root=/mnt install
  • rEFInd: sudo refind-install --root /mnt
  • Limine: sudo limine-install /dev/sda

Problem: Boot menu doesn't appear

Solutions:

  1. Check timeout settings
  2. Check boot manager configuration
  3. Verify boot manager is installed
  4. Check UEFI/BIOS settings

Problem: Can't boot into Windows (dual boot)

Solutions:

  1. Reinstall boot manager (it should detect Windows)
  2. Check Windows partition is not corrupted
  3. Use Windows recovery to fix Windows bootloader
  4. Reinstall boot manager after Windows fix

Boot Manager Specific Issues

See individual sections above for:

  • GRUB troubleshooting
  • systemd-boot troubleshooting
  • rEFInd troubleshooting
  • Limine troubleshooting

Additional Resources


Summary

This guide covered:

  1. Understanding boot managers - What they are and which to choose
  2. GRUB configuration - Most common boot manager
  3. systemd-boot configuration - Simple UEFI boot manager
  4. rEFInd configuration - Beautiful graphical boot manager
  5. Limine configuration - Modern bootloader with Secure Boot support
  6. Switching boot managers - How to change boot managers
  7. Troubleshooting - Common issues and solutions

Key Takeaways:

  • GRUB is most compatible (BIOS and UEFI)
  • systemd-boot is simple and fast (UEFI only)
  • rEFInd is beautiful and auto-detects (UEFI only)
  • Limine is modern and supports Secure Boot
  • Choose based on your needs and hardware
  • Always have a backup boot method when switching

This guide is based on the CachyOS Wiki and expanded with detailed explanations for beginners. For the most up-to-date boot manager information, always refer to the official CachyOS documentation.

Clone this wiki locally