Skip to content

Enhancement: Allow Systemd-boot to deal with multiple ESPs #3252

@brittyazel

Description

@brittyazel

This is a request for enhancement to what is now the current 229 version of Systemd found in the Archlinux repositories.

I recognize that "proper" protocol is to only have a single EFI system partition on a single system, however there are multiple reasons that this is not ideal for many users. One major issue being that any secondary drive will always be a slave to the drive with the ESP, thus if that drive crashes and/or is removed, no drive can be booted.
Further, for those of us with Windows dual-booted, Windows is often unpredictable with updates and sharing a ESP with Linux can often result in the LinuxOS being treated as a second class citizen. One major issue is with Windows' "fastboot" option, which can leave the ESP unwritable for any other OS. This is a major bummer, and causes serious issue.

That being said, as I don't want my Linux SSD slaved to my Windows SSD, I have an ESP partition on each drive. This setup, which functional (as I can switch between each OS from my bios boot menu) is not ideal, as systemd-boot can only see the boot options within 'its' ESP.

I propose, if it is technically feasible, that systemd-boot be able to recognize and be able to boot from foreign ESPs to the one currently housing the bootloader. This would allow a Windows drive and a Linux drive to stay fully isolated from one another while still retaining a working and unified boot experience.

This would be akin to how the legacy-bios method of booting a system functioned. And, while I am not 100% sure, I believe that the uefi variant of Grub2 has the aforementioned request already integrated.

sorry for any mistakes in my bug report, this is the first one I have posted to the systemd community. Cheers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions