-
-
Notifications
You must be signed in to change notification settings - Fork 1
CachyOS Boot Manager Configuration
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.
- Understanding Boot Managers
- GRUB Configuration
- systemd-boot Configuration
- rEFInd Configuration
- Limine Configuration
- Switching Boot Managers
- Troubleshooting
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
CachyOS supports four boot managers:
- GRUB - Most common, highly compatible
- systemd-boot - Modern, UEFI-only, simple
- rEFInd - Beautiful, UEFI-only, feature-rich
- Limine - Modern, fast, supports Secure Boot
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 (Grand Unified Bootloader) is the most widely used boot manager for Linux. It's highly compatible and feature-rich.
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 neededMain 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/grubWhat this command does:
-
sudo: Administrator privileges (needed to edit system files) -
nano: A simple text editor (beginner-friendly) -
Alternative editors: You can use
vimorgeditif 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:
-
^Xmeans Ctrl+X (to exit) -
^Omeans Ctrl+O (to save) -
^means the Ctrl key
How to edit:
- Use arrow keys to navigate
- Type to add text
- Delete key to remove text
- Press Ctrl+O to save (then Enter to confirm)
- Press Ctrl+X to exit
Default boot entry:
GRUB_DEFAULT=0 # 0 = first entry, "saved" = last bootedTimeout (how long to show menu):
GRUB_TIMEOUT=5 # Seconds to wait
GRUB_TIMEOUT_STYLE=menu # Show menu, or "hidden" to hideBoot resolution:
GRUB_GFXMODE=1920x1080 # Set your screen resolutionKernel 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"After editing /etc/default/grub:
# Generate new GRUB configuration
sudo grub-mkconfig -o /boot/grub/grub.cfgWhat 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:
-
Reads your settings: Looks at
/etc/default/grubfor your preferences - Scans your system: Finds all installed operating systems and kernels
- Generates boot menu: Creates the menu you see when computer starts
-
Saves to boot directory: Writes the menu to
/boot/grub/grub.cfg
Why this step is necessary:
-
/etc/default/grubis just your preferences -
/boot/grub/grub.cfgis 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
Install GRUB theme:
# Install theme package (example)
sudo pacman -S grub-theme-vimixOr create custom theme:
- Edit
/boot/grub/themes/ - Modify
theme.txt - Update GRUB config
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
}Problem: GRUB menu doesn't appear
Solutions:
-
Check timeout setting:
grep GRUB_TIMEOUT /etc/default/grub
-
Reinstall GRUB:
sudo grub-install /dev/sda sudo grub-mkconfig -o /boot/grub/grub.cfg
Problem: Can't boot into system
Solutions:
- Boot from USB/live environment
- Mount your installation
- 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 is a simple UEFI boot manager that's part of systemd. It's fast, simple, and integrated with systemd.
Install systemd-boot:
# Install systemd-boot
sudo pacman -S systemd-boot
# Install to EFI partition
sudo bootctl installMain configuration file:
/boot/loader/loader.conf
Edit configuration:
sudo nano /boot/loader/loader.confDefault boot entry:
default arch.conf # Name of boot entry fileTimeout:
timeout 5 # Seconds to waitEditor:
editor 1 # 1 = enable, 0 = disableAuto-entries:
auto-entries 1 # Auto-detect boot entries
auto-firmware 1 # Show firmware optionsBoot 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.confEntry file format:
title Entry Name
linux /vmlinuz-kernel-name
initrd /initramfs-kernel-name.img
options root=PARTUUID=xxxx rw additional-options
After kernel updates:
# systemd-boot auto-updates, but you can manually update:
sudo bootctl updateProblem: systemd-boot not showing
Solutions:
-
Check EFI partition:
ls /boot/EFI/
-
Reinstall:
sudo bootctl install
-
Check UEFI boot order:
- Enter UEFI settings
- Set systemd-boot as first
rEFInd is a beautiful, graphical boot manager for UEFI systems. It auto-detects operating systems and provides an attractive interface.
Install rEFInd:
# Install rEFInd
sudo pacman -S refind
# Install to EFI partition
sudo refind-installMain configuration file:
/boot/EFI/refind/refind.conf
Edit configuration:
sudo nano /boot/EFI/refind/refind.confTimeout:
timeout 5 # SecondsDefault selection:
default_selection "CachyOS"Resolution:
resolution 1920 1080Scan for operating systems:
scanfor internal,external,optical,manualInstall theme:
# Install rEFInd theme (example)
sudo pacman -S refind-theme-regularOr use custom theme:
- Place theme in
/boot/EFI/refind/themes/ - Edit
refind.confto use theme
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"
}Problem: rEFInd not showing
Solutions:
-
Check EFI installation:
ls /boot/EFI/refind/
-
Reinstall:
sudo refind-install
-
Check UEFI settings:
- Enable UEFI boot
- Set rEFInd as first
Limine is a modern, fast bootloader that supports Secure Boot. It's the default bootloader for CachyOS.
Limine is usually installed during CachyOS installation, but you can install it manually:
# Install Limine
sudo pacman -S limineMain configuration file:
/boot/limine/limine.cfg
Edit configuration:
sudo nano /boot/limine/limine.cfgExample 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 supports themes:
- Edit theme files in
/boot/limine/themes/ - Modify configuration to use theme
Limine supports Secure Boot:
- See Secure Boot for CachyOS with Limine Loader
- Requires sbctl and key enrollment
Problem: Limine not booting
Solutions:
-
Check configuration:
cat /boot/limine/limine.cfg
-
Verify kernel paths:
ls /boot/vmlinuz-* -
Reinstall Limine:
sudo limine-install /dev/sda
You might want to switch boot managers if:
- Current one has issues
- You prefer different features
- You need different compatibility
- You want better appearance
Step 1: Install new boot manager
# Example: Install systemd-boot
sudo pacman -S systemd-boot
sudo bootctl installStep 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 grubStep 4: Update UEFI boot order
- Enter UEFI settings
- Set new boot manager as first
- Save and exit
** 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
Problem: System won't boot
Solutions:
- Boot from USB/live environment
-
Mount your installation:
sudo mount /dev/sda2 /mnt # Root partition sudo mount /dev/sda1 /mnt/boot/efi # EFI partition (if UEFI)
- 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:
- Check timeout settings
- Check boot manager configuration
- Verify boot manager is installed
- Check UEFI/BIOS settings
Problem: Can't boot into Windows (dual boot)
Solutions:
- Reinstall boot manager (it should detect Windows)
- Check Windows partition is not corrupted
- Use Windows recovery to fix Windows bootloader
- Reinstall boot manager after Windows fix
See individual sections above for:
- GRUB troubleshooting
- systemd-boot troubleshooting
- rEFInd troubleshooting
- Limine troubleshooting
- CachyOS Getting Started Guide - System overview
- CachyOS Installation Guide - Installation instructions
- Secure Boot for CachyOS with Limine Loader - Secure Boot setup
- Arch Linux Wiki - GRUB: https://wiki.archlinux.org/title/GRUB
- Arch Linux Wiki - systemd-boot: https://wiki.archlinux.org/title/Systemd-boot
- rEFInd Documentation: https://www.rodsbooks.com/refind/
- Limine Documentation: https://github.com/limine-bootloader/limine
This guide covered:
- Understanding boot managers - What they are and which to choose
- GRUB configuration - Most common boot manager
- systemd-boot configuration - Simple UEFI boot manager
- rEFInd configuration - Beautiful graphical boot manager
- Limine configuration - Modern bootloader with Secure Boot support
- Switching boot managers - How to change boot managers
- 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.