On my Acer laptop I have Windows 10 installed on /dev/sda4
and the ESP partition is /dev/sda2
.
As described in the Beginner's Guide I installed Arch Linux on a newly created partition /dev/sda5
and swap /dev/sda6
with the Windows 10 created ESP /dev/sda2
as /boot
.
As the bootloader I chose systemd-boot
which is recommended by the guide if the motherboard is UEFI (which it is).
I configured the /boot/loader/loader.conf
as follows:
timeout 10
default arch
I created an entry for arch.conf
at /boot/loader/entries/arch.conf
as follows;
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda5 rw
But after rebooting Windows 10 boots by default. I couldn't even see the bootloader menu. Also no option to select the Linux boot loader in the boot options. What am I doing wrong?
Note: Both fastboot
(Windows 10) and secureboot
(UEFI) are off.
In the question Windows 10 / Linux Dual Boot – Boot-loader Problems the OP uses GRUB for the bootloader. In my case I'm using systemd-boot
. And in my setup fastboot
aka fast startup
is already disabled.
#efibootmgr -v
returns all my boot options. It has the Linux boot manager in the list, but the boot order didn't specify anything about it. So, I manually edited the boot order by # efibootmgr -o 1003,1001,2001
. But, the problem is the same. The boot order is reverted back after an reboot.
Best Answer
OK, I have tried following
This returns all my boot options. It has Linux boot manager (1003) in the list but boot order didn't specify any thing about it. So, I manually edited the boot order by
But, the problem is same. Boot order is reverted back after an reboot. So I checked if Linux boot manager is visible to
bcd
store in Windows 10bcd
store contains my Linux boot manager. So I ranin an elevated command prompt. This command will make Windows boot loader to call the Linux boot manager without directly calling Windows 10.
This does solve my problem. Now I've a dual boot Windows 10 and Arch Linux on the same HDD.