"Invalid Loader File" when trying to boot Arch through rEFInd

I have a quad-boot setup (KDE Neon Unstable, Ubuntu MATE developer release (aka “Rolling Rhino”), Windows 10 & Arch) on my laptop. I just installed Arch an hour ago. I’m getting this error when trying to boot it using rEFInd:

Invalid loader file!
Error: Not found while loading vmlinuz-linux

I installed Arch on my laptop’s secondary drive and formatted using Btrfs, and the ESP is on the primary. rEFInd was installed few weeks back with KDE Neon, if that helps.

In rEFInd, the Arch entry is looking for my ESP even after I already changed the PARTUUID to look for my Arch partition.

I noticed that in /boot/efi/EFI/refind/drivers_x64/, it only had drivers for ext4, so I copied Btrfs driver from /usr/share/refind/refind/drivers_x64.

Following instructions on Arch Wiki about setting up rEFInd, here’s the menu entry for Arch on my laptop:

menuentry "Arch Linux" {
    icon     /EFI/refind/icons/os_arch.png
    volume   "Arch"
    loader   /boot/vmlinuz-linux
    initrd   /boot/initramfs-linux.img
    options  "root=PARTUUID=12c1d277-ab6f-764f-aa41-92a11fd1b4c5 rw rootfstype=btrfs add_efi_memmap initrd=boot\intel-ucode.img"
    submenuentry "Boot using fallback initramfs" {
        initrd /boot/initramfs-linux-fallback.img
    submenuentry "Boot to terminal" {
        add_options "systemd.unit=multi-user.target"

I tried using the PARTUUID from my EFI partition and my Arch partition, but no go.

I also double checked if subvolumes exist on that partition, but none exist:

$ sudo btrfs subvolume list /mnt
ID 258 gen 20 top level 5 path var/lib/portables
ID 259 gen 21 top level 5 path var/lib/machines

Is there something I’m missing?

in my past dealings with arch, it can be a bear to get it to load on other file systems.
id try with with ext4 to eliminate the possibility of that issue.

if you get the same error then it may be an issue with the config, but if it boots its most likely the issue i ran into with arc on other file systems beside ext4 …

other solutions is to try a newer kernel, or dig deeper into whatever it is thats preventing the boot of arc on btrfs

Make sure that your mkinitcpio has a hook for BRTFS driver. If it does not, the initramfs will not be able to load the driver to read the disk.

in the past if I had problems with ReFind, I went through the install process on the MacOS again and it fixed itself.

Try installing ReFind again. Won’t hurt.

I’ve solved it. Not sure what exactly what happened, but leaving my laptop powered down for the whole day while I’m at work somehow fixed it.

That is a weird one. I am going to guess it is uEFI. Do you have fastboot enabled? SecureBoot?

if OP is using refind, it’s a Mac. no BIOS

refind also works on uEFI too though.
I used that on ArchLinux before switching to EFIStub/Systemdboot


SecureBoot, no. Arch ISO still wouldn’t boot unless that’s gone, right?

Can’t remember if I disabled Fastboot, but it should be fine, regardless.

Secureboot needs to be off.
Fastboot does different things on different vendor boards but basically loads minimal devices to speed up boot time.

For some vendors, fastboot also has hooks into MS windows that basically functions as a hibernate/restore function that just does not work on non-Windows OSes.

Outside of that, it sounds like a bad initramfs.