Photo by Dayne Topkin on Unsplash
Photo by Dayne Topkin on Unsplash

Dual booting Arch Linux and Windows

When it comes to desktop, it is pretty common that we may end up needing a ready-to-use Windows host beside our daily use Linux system. If that is your case, forget about spamming your F key at startup so you can boot one or another from your motherboard’s boot selector and just let Systemd care about that.


  • 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)

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 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!