Assumptions
- You are using systemd-boot as UEFI manager, NOT GRUB
- You run Arch Linux and Windows on the same machine (it doesn’t matter if they are installed on different partitions or separate physical disks)
Copy EFI files
First things first! Fire up your Arch, get a root shell and mount the Window’s EFI partition:
mount /dev/sdXN /mnt # replace 'sdXN' accordingly to your Windows' disk address
Copy /mnt/EFI/Microsoft
folder inside the /boot
directory:
cp -r /mnt/EFI/Microsoft/ /boot/EFI/Microsoft/
Add Windows entry to systemd-boot
Add a new entry for Windows by creating a new /boot/loader/entries/windows.conf
file, containing:
title Windows 10
efi /EFI/Microsoft/Boot/bootmgfw.efi
Apply changes by running:
bootctl update
Check that the new entry is showing correctly with:
bootctl list
It should output something like this:
Boot Loader Entries:
title: Arch Linux
id: arch.conf
source: /boot/loader/entries/arch.conf
linux: /vmlinuz-linux
initrd: /initramfs-linux.img
title: Windows 10
id: windows.conf
source: /boot/loader/entries/windows.conf
Once done, reboot your system and wait for systemd-boot to show up with both Arch and Windows 10 entries.
Until we meet again!