I have a dual boot Arch Linux and Windows.
After a Windows update, my GRUB got lost and system was booting to
grub recovery. From there, I managed to point GRUB to Arch Linux and boot it. However, it fails to boot completely with the message:
filed to listen on Load/Save RF Kill Switch Status /dev/rfkill Match ... failed to mount /boot/efi # Enter recovery mode ...
I tried to recover my GRUB from the recovery mode (wiki is here):
mount /dev/sda5 /mnt # my Linux system mount /dev/sda3 /efi # my EFI System partition grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB grub-config -o /boot/grub/grub.cfg
That brought my GRUB back and now I can choose Arch Linux or Windows as before.
However, when I choose Arch Linux, the same error message appears
failed to mount /boot/efi. Windows boots normally.
I checked what I have in
/boot/efi and in fact it is empty. My
vmlinux-linux.img files are in
But, in my
initrd looks for
initramfs-linux-lts.img exactly in
/boot/ and apparently finds it.
Then I found plethora of similar problems as mine on Arch Forums (e.g. this one). But I did not update Linux kernel nor did I touch anything within my Linux installation before the issue appeared. Also, as opposed to the referred post, it looks like I don't have something like
vmlinuz-arch.efi even in
I also spent some time browsing Arch Wiki. As far as I understand, the Wiki pages that refer to GRUB recovery usually propose the same procedure as I already tried but from an
arch-chroot to my
So I have few questions with the topmost being: How do I recover my Arch Linux boot process?
The other, more specific, is why
systemd even tries to find
/boot/efi once when GRUB phase already passed? Isn't GRUB the one which looks for boot entries? And it looks like GRUB already picked up my Arch Linux initram (at least GRUB executed correct GRUB entry, I checked it by adding echo messages in
To make it even weirder,
/boot/efi fails to mount due to
/dev/sda2 which is my
Windows recovery environment and not
/dev/sda3 which is
$systemctl status boot-efi.mount boot-efi.mount --- /boot/efi Loaded: loaded (/etc/fstab; generated) Active: Failed (Result: exit-code) ... Where: /boot/efi What: /dev/sda2 Docs: man:fstab(5) man:systemd-fstab-generator(8)