Switching systemd-boot to GRUB on Archlinux
Posted on Thu 14 August 2025 in linux
I intend to use BTRFS snapshots, snapper and pac-snap to be able to rollback archlinux if an update goes wrong. However current it uses systemd-boot and the tools I intend to use required GRUB.
Requirements¶
This tutorial is only meant for UEFI systems.
It requires a EFI partition mounted under /boot
with enough disk space (in my case 512 MB should
be enough).
Install efibootmgr
to validate changes
Swapping to GRUB with BTRFS support¶
Install grub
and run
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Edit the file /etc/default/grub
and copy over the relevant
fields from the systemd boot loader usually found under
/boot/loader/entries/arch.conf
For instance if your systemd-boot config looks like this
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options cryptdevice=UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:crypt root=/dev/mapper/crypt rootflags=subvol=arch_root splash rw
You need to copy options
field to GRUB_CMDLINE_LINUX
but do not copy
root
Then generate the GRUB configuration grub-mkconfig -o /boot/grub/grub.cfg
and check the content of the file.
For more articles about Linux the following RSS feed is available over here.