Need help with my terrible small /boot/efi-partition (100 MB)

Went “all-in” and switched from windows to opensuse.
A am really happy, BUT i obviously chose a bad time to install opensuse, because it used grub-bls and created /boot/efi with a size of only 100MB.

Two times i upgraded and then needed a half day to get my opensuse running again.

I need your help: What do i have to do to prevent such problems?
a) Increase the size of /boot/efi (with gparted) to 3GB?
b) Best way to backup my opensuse? clonezilla or is there a servertool?
c) And then i can upgrade to systemd?

I installed recently on a new PC, but dual booting with another SSD that still had Windows on it. You could always try using GRUB2 instead of BLS which I don’t think needs such a large boot efi - but I did get offered a 1gb one which I think will be fine for GRUB2, but I have seen people saying you might need more than that maybe 2gb or more on BLS. Also in terms of Backup using Btrfs allows for snapshots & roll backs. Here is a link to the file structure I ended up with from a post I did on this if it helps?
https://forums.opensuse.org/t/advice-on-setting-up-tumbelweed-on-a-new-pc/195110/24

1 Like

Personally, I would go with “grub2-efi” for booting. You can select that during install. And with that choice, 100M should be enough for the EFI partition.

The alternative is to enlarge the EFI partition (i.e. “/boot/efi”).

I don’t have any suggestion on backup. I mainly use “rsync” here.

2 Likes

Hmmm, the problem is i wanted a rolling distribution, but now i am afraid of upgrading…
:scream:
Here is my partioning:

linux:~ # lsblk -f
NAME        FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1                                                                             
├─nvme0n1p1 vfat   FAT32 SYSTEM B6F2-0FCD                              74,4M    23% /boot/efi
├─nvme0n1p2 btrfs               3e917c96-d733-4375-9b39-11890b14152f      1T    45% /var
│                                                                                   /usr/local
│                                                                                   /srv
│                                                                                   /root
│                                                                                   /home
│                                                                                   /opt
│                                                                                   /.snapshots
│                                                                                   /
└─nvme0n1p3 swap   1            50a7ce19-65c2-410b-9c9d-e470f6420e70                [SWAP]
linux:~ #

Everything is installed and configured, so you mean i should “bend” it from grub-bls to grub2-efi?

I’m not at all sure that is easy (or even safe) to do. It would be safer to do a re-install, using the same partitioning. But select “grub2-efi” in the “Booting” section of install.

Of course, if you reinstall, you also have the option of resizing the EFI partition.

Instead of growing the ESP partition you might also consider adding a XBOOTLDR partition, please see https://news.opensuse.org/2026/07/07/xbootldr/
I have no direct experience with that, but if it fits your needs I’m sure other members might offer help.

Hi, maybe an opportunity to test this out?
https://forums.opensuse.org/t/support-of-xbootldr-in-opensuse/194794

The wiki once said that upstream systemd-boot (which supports a XBOOTLDR-partition) was not used by openSUSE as it lacks integration and support for BTRFS snapshots.

Has this changed?

Since TW snapshot 20260324, systemd-boot is the default for fresh TW installations.

It does not affect already existing installations, and the default can still be changed in the installation summary screen for new installations.

That may be the case ( I do not use any installer so systemd-boot), however my question is:

Does it allow to use a XBOOTLDR-partition (as upstream systemd-boot does). As far as I know openSUSE did not allow for a XBOOTLDR-partition when it started to roll out systemd-boot.

The link which Malclom provided, and the wiki for MicroOS explain that XBOOTLDR is supported with systemd-boot on openSUSE.

None of those links explicitly mentions e.g. booting from snapshots.

So I am just curious whether anybody (who runs btrfs and snapshots) has already successfully implemented a XBOOTLDR-partition.

@susejunky yes, systemd-boot supports (and has for years, see Aeon :wink:) booting from snapshots.

I’ve not needed to use XBOOTLDR, all my sustems have > 1GB for /boot/efi in the case of my MacBook Pro, I just created another efi partition to use for Tumbleweed and systemd-boot with the Agama installer even… it uses ext4 though…

Yes, but what about the usage of XBOOTLDR-partition at that time?

Why was it never suggested when people ran into problems with small ESPs when systemd-boot got introduced? :wink:

1 Like

Because it’s (XBOOTLDR) only just been implemented… you asked about systemd-boot and btrfs snapshots.

I do wonder though if /var need to be on a separate partition…

To me the easiest way is just create another efi partition to use… This is my MacBook Pro;

 lsblk -f
NAME   FSTYPE FSVER LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                              
├─sda1 vfat   FAT32 EFI      2860-11F4                                           
├─sda2 apfs                  79ab6ba8-6b15-4375-851b-9de7b1e236ea                
├─sda3 vfat   FAT32 ESP      3CCE-F017                               3.7G     8% /boot/efi
└─sda4 ext4   1.0   TW051926 64f50aa1-5c81-4741-ad7c-92c4d522b579  161.4G     4% /

Perhaps @aplanas can provide further insight if they have time…

Exactly!

Well, my question was

(XBOOTLDR (ea00) is not ESP (ef00)!)

Not sure what the problem is, so sorry if my answer is a bit missing the point.

To create the XBOOTLDR you can use any partitioning tool, just be sure to assign the correct type (XBOOTLDR). Some examples here: https://news.opensuse.org/2026/07/07/xbootldr/

Again, I am not sure what is the question about snapshots. If your rootfs is btrfs then it is supported, and that is why a big ESP / XBOOTLDR is needed, we will store multiple kernel and initrds that can be pointing to other snapshots.

Another option is to resize the ESP partition, to something like 2Gb, for example.

1 Like