Linux · August 11, 2018 1

Using systemd-boot(gummi-boot) for eufi windows dual boot

Systemd-Boot (gummiboot)

Make sure “/boot” is mounted on your efi boot partition i.e /dev/sda1.

# pacman -S efibootmgr
# bootctl --path=/boot install

screenshot-from-2017-01-20-17-54-48

After installing boot loader, configure systemd-boot loader defaults, skip it if you have chosen GRUB

# nano /boot/loader/loader.conf

Change file as below, skip if you have installed GRUB

default arch
timeout 3
editor 0

virtualbox_arch-linux_20_01_2017_17_39_18

Copy default arch entry to boot loader entries, skip if you have installed GRUB

# cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/

Add root PARTUUID to arch boot entry, skip if you have installed GRUB
To get PARTUUID of your root partition use blkid

# blkid /dev/sda3

Command above will output something similar to

/dev/sda3: UUID="4c746b66-9a47-4938-9710-3f5b65238d89" TYPE="ext4"
PARTLABEL="root" PARTUUID="b9a3b9c1-0f4b-4be1-9ea9-4ed503b6c49a"

in that case we need

PARTUUID="b9a3b9c1-0f4b-4be1-9ea9-4ed503b6c49a"

Add this to arch entry, skip if you have installed GRِِUB

# nano /boot/loader/entries/arch.conf

Change

options root=PARTUUID=xxxx...

to following, and replace xxxx with your PARTUUID

options root=PARTUUID=b9a3b9c1-0f4b-4be1-9ea9-4ed503b6c49a rootfstype=ext4 add_efi_memmap rw

Make Sure you have following two files located in your /boot directory

vmlinuz-linux
initramfs-linux.img

If above two files are there that means bootloader was successfully installed.