Converting to rEFInd from sytemd-boot

After the infamous Grub issue recently I decided to ditch Grub.
Thanks to the wonderful guide @dalto showed how to convert to systemd-boot at [Tutorial] Convert to systemd-boot
which went fine (after a fresh install unfortunatley).

I am happy with it and see it the simplest boot loader and I feel OK with it.

The only thing is that it does not support booting to BTRFS snapshots.

So, I was reading about rEFInd which (as I understand supports booting from sanpshots).

My conclusion from EndeavourOS website and Arch Linux wiki all what I need is to:

yay -Syu refind

UPDATE: I found here it says install refind-efi NOT refind . Now I can’t decide!
then run the install script


then reboot and that’s all.

Just to give hint about my system:

  • fresh install after the Grub issue, BTRFS, KDE Plasma, BTRFS Assitant…
  • after the fresh install I converted to systemd-boot as mentioned above.
  • I have only one SSD, and went with defaults during installation.
  • all the time I have only one OS, and only one user (me).
  • I care about being able to boot to a snapshot just in case.

So, I wonder if someone actually did what I am about to do?
That is (again to summarise):

yay -Syu refind

Reboot, then I will have rEFInd (and earlier snapshots hopefully)?
Would I need to install refind-btrfs (before/after rebooting)

6 aur/refind-btrfs 0.4.4-1 (+7 0.91) 
    Generate rEFInd manual boot stanzas from Btrfs snapshots

Is this all what I need to do? (currently on systemd-boot)

I would like to hear your experience installing and using rEFInd (and maybe systemd-boot if you tried it)

I would better consult with users with experience when it is such a “critical” action!

I will have a look at refind. But I will come from Grub. :slight_smile:

Thanks for caring to have a look here.
I will appreciate your feed back after you reed about rEFInd. Maybe you will see something I did not see!

I guess you would also need to remove the package kernel-install-mkinitcpio again if you went with the kernel-install method from @dalto.

I am also interested in this topic in case I want to move from systemd-boot to rEFInd in the future.

Thank you @android
I am interested in rEFInd because it supports booting to snapshots!

Yes… this is what I did.
But I am confused now as per my first post, should I install refind or refind-efi? If the refind-efi should I after that run “refind-install”? or something else?

OK. For the record, here is what I am doing to install rEFInd:

yay -R kernel-install-mkinitcpio


yay -Syu refind



Rebooting! Hopefully I will be back alive… soon!

I haven’t tried refind myself.

But Linux Kernels are in your EFI partition (FAT32) /efi after converting Grub to systemd-boot.
If you want to try refind, you should move Kernels back to your root partition /boot on BTRFS.

Thanks @Zesko
It seems to me you just came for the rescue in the right moment.
I did as my post above.
I remember we did something about moving kernels while doing systemd-boot.

So, what should I do now?
P.S. My user name on this laptop is “limo”
I have the default kernel and the LTS kernel installed. And I need rEFInd to boot by default to the LTS kernel.
And better to have possibility to boot to earlier snapshot.
Should I

yay -Syu refind-btrfs

now or later after reboot?

Do not try it in your laptop as workflow if we do not know much about refind. You should do backup first!

No problem here… most of all my data are backed up.
Now I think we have to copy the kernels back as you said.
How to do it (just to be sure I am doing the right thing)

I see I have

[limo@lenovo 2ba377af56ef4fb0898b46fcc244bcb9]$ ls
5.15.63-1-lts  5.19.4-arch1-1
[limo@lenovo 2ba377af56ef4fb0898b46fcc244bcb9]$ 

So, I should now

mv /efi/ /boot


UPDATE: I now have 2 files

limo@lenovo boot]$ ls
intel-ucode.img  refind_linux.conf
[limo@lenovo boot]$ 

I think since you followed the “Convert to systemd-boot” tutorial, you also have to undo this step

# To make the mount change permanent, edit `/etc/fstab` and change where it reads `/boot/efi` to `/efi`

that would automatically move everything back to /boot I guess.

Now it reads

# disks are added and removed. See fstab(5).
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=FDBB-97B1                            /boot/efi      vfat    defaults,noatime 0 2
UUID=7e3cd884-4458-4d26-8b0b-98e2cb0d810d /

Now what next?

I can see @dalto coming for the rescue gain… as usual.

If you aren’t going to run grub, you can leave it mounted at /efi

Start by reverting that. It makes no sense to mount the efi partition at /boot/efi unless you are using grub.

What you need to do to put things back is:

  • uninstall kernel-install-mkinitcpio
  • Reinstall all your kernels
  • Remove the kernels and initrams from /efi

From there you can start configuring refind.

I am just going to warn you again, if you want to both install refind and get refind-btrfs working, you are going to have do so serious experimentation and troubleshooting on your own. Just asking people what to do probably isn’t going to get you there.

If you just “want to install refind”, that is fairly easy.

Not anymore!

I did (my post above)

yay -Syu linux


yay -Syu linux-lts


That is delete all folders in /efi?

rm -r /efi/

I have

[limo@lenovo efi]$ ls
2ba377af56ef4fb0898b46fcc244bcb9  EFI  loader
[limo@lenovo efi]$ 

So you mean to change /fstab as it was before?

change where it reads /boot/efi to /efi

Ok, no problem.
I can try.
So I would better focus now on having just rEFInd!

I found this GitHub Link providing refind-btrfs
I will try it later!

I believe I am almost there according to instructions shown on the links in my first post on EndeavourOS link.

I just want to be sure I will not end up with an unbootable system.