How to restore linux dual boot!

Hi all!
I installed Fedora next to Archlinux and Windows.
Now my laptop does not see the Archlinux bootloader in UEFI BIOS.
UEFI BIOS sees only Fedora and Window loaders.
Fedora’s bootloader (grub) provides a choice of boot:

  1. Fedora
  2. Archlinux
  3. Windows 10

If you choose to download Archlinux, then it will not load.
My disks:

$ sudo fdisk -l

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors (HDD)
...
 Device        Start      End    Sectors     Size       Type
/dev/sda1          34 1065560063 1065560030 508,1G  Linux file system (btrfs Archlinux /home)
/dev/sda2  1065560064 1191389183  125829120    60G  Linux file system (ext4 Fedora /root)
/dev/sda3  1921198080 1953523711   32325632  15,4G  Microsoft Recovery Environment
/dev/sda4  1191389184 1921198079  729808896   348G  Linux file system (ext4 Fedora /home)
...
Disk /dev/nvme0n1: 119.24 GiB, 128035676160 bytes, 250069680 sectors (SSD)
...
 Device            Start      End    Sectors   Size       Type
/dev/nvme0n1p1      2048    616447    614400   300M EFI
/dev/nvme0n1p2    616448    878591    262144   128M Microsoft Reserved Partition
/dev/nvme0n1p3    878592 143366143 142487552  67,9G Microsoft basic data
/dev/nvme0n1p4 143366144 151754751   8388608     4G Linux swap
/dev/nvme0n1p5 248225792 250068991   1843200   900M Microsoft Recovery Environment
/dev/nvme0n1p6 151754752 248225791  96471040    46G Linux file system (btrfs Archlinux /root)

When installing Fedora, pointed /boot/efi to /dev/nvme0n1p1.
I think Fedora bootloader cannot load Archlinux because /root partition Archlinux has btrfs filesystem.

Question!
How do I repair the Archlinux bootloader?
How do I force the fedora bootloader to load Archlinux?
Please, help!
Archlinux is my main system!

What bootloader are you using in Arch? systemd-boot or grub?

1 Like

In my opinion, if I’m not mistaken - grub2

I am not sure that should be a matter of opinion :wink:

If it is grub, the issue is likely that Fedora’s os-prober can’t handle the fact that Arch uses multiple initrd lines so it is probably just loading your cpu microcode.

I would manually edit the Arch grub entry to load your kernel instead, boot into your Arch installation and then regenerate your grub config from Arch which should fix everything.

1 Like

Tell me please how to do it?

[Solved]

$ sudo efibootmgr -c -d /dev/nvme0n1 -p 1 -w -L Archlinux -l '\EFI\Archlinux\grubx64.efi'
$ efibootmgr -v
BootCurrent: 0008
Timeout: 1 seconds
BootOrder: 0001,0008,0000
Boot0000* Windows Boot Manager	HD(1,GPT,5f774f65-6102-4e95-9fe0-06fb49f7d6e1,0x800,0x96000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...,................
Boot0001* Archlinux	HD(1,GPT,5f774f65-6102-4e95-9fe0-06fb49f7d6e1,0x800,0x96000)/File(\EFI\Archlinux\grubx64.efi)
Boot0008* Fedora	HD(1,GPT,5f774f65-6102-4e95-9fe0-06fb49f7d6e1,0x800,0x96000)/File(\EFI\FEDORA\SHIM.EFI)..BO
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
1 Like