• systemd-boot dual boot issue

    For some odd reason systemd-boot isn’t seeing my windows partition. It shows up in /boot/EFI folder but for some reason I get no option to choose Windows or Antergos on boot it just defaults to Antergos. I tried

    bootctl update

    But to no avail. I feel like I’m missing something as the wiki states it should pick up on Windows automatically.

  • From the wiki:

    systemd-boot (bootctl(1), systemd-efi-boot-generator(8)) assumes that your EFI System Partition is mounted on /boot.

    Do you have your EFI in /boot or in /boot/efi ? If it’s in /boot/efi you can run it this way:
    bootctl --path=/boot/efi update


  • This is so odd. I tried the following and I get this. Everything “seems” to be in the right place but systemd-boot just isn’t seeing my Windows partition. Is there a way to point systemd-boot to manually see my windows partition?

    bootctl --path=/boot/efi update
    Directory “/boot/efi” is not the root of the EFI System Partition (ESP) file system.

    bootctl --path=/boot update
    Copied “/usr/lib/systemd/boot/efi/systemd-bootx64.efi” to “/boot/EFI/systemd/systemd-bootx64.efi”.
    Copied “/usr/lib/systemd/boot/efi/systemd-bootx64.efi” to “/boot/EFI/BOOT/BOOTX64.EFI”.
    Reboot. Nada.

  • Can you do a fdisk -l so we see all partitions?

  • All partitions were set up correctly. But here’s the output:

    Device         Start       End   Sectors   Size Type
    /dev/sda1       2048    819199    817152   399M Windows recovery environment
    /dev/sda2  248483840 250580991   2097152     1G EFI System
    /dev/sda3     819200   1081343    262144   128M Microsoft reserved
    /dev/sda4    1081344 248483686 247402343   118G Microsoft basic data
    /dev/sda5  250580992 935594662 685013671 326.7G Linux filesystem
    /dev/sda6  935594663 937594662   2000000 976.6M Linux filesystem

    Solved it!
    Turns out (and I’m not sure if this is an Antergos issue or a systemd-boot issue or just a user issue :P ) the loader.conf file by default when you set up systemd-boot just sets Antergos to default and nothing else. Again not sure if this is just on my hardware or what but my loader.conf after a fresh install looked like this:

    default antergos

    Nothing else. Then after 3 hours of scratching my head I figured it out.
    I edited my /boot/loader/loader.conf file to look like this instead:

    default antergos
    timeout 3
    editor 0

    There was no timeout option. So it went straight to Antergos. I fixed the file in root and ran bootctl update. Reboot and wala.
    Problem solved. xD

boot137 systemd-boot4 dual14 Posts 5Views 548
Log in to reply