Kernel backups in /boot/efi/

Pretty sure I did, but I ran it again…

update-bootloader --install --config
grub2-install --target=x86_64-efi --bootloader-id=opensuse --efi-directory=/boot/efi
zypper install --force kernel-default-6.19.6

After a reboot, I got yet another initrd in /boot/efi:

sputnik3:~ # date; find /boot/efi -xdev -name 'initrd*' -ls
Thu 12 Mar 2026 11:56:23 NZDT
       86 140112 -rwxr-xr-x   1 root     root     143474662 Mar 10 08:15 /boot/efi/opensuse-tumbleweed/6.19.6-1-default/initrd-35768895c93a5310812b1ddebc30168b59ee9539
       87 140116 -rwxr-xr-x   1 root     root     143475808 Mar 12 08:36 /boot/efi/opensuse-tumbleweed/6.19.6-1-default/initrd-e6baaf4630d62e550620e818045f07db493b1b73
      114 140320 -rwxr-xr-x   1 root     root     143684961 Mar 12 08:35 /boot/efi/opensuse-tumbleweed/6.19.2-1-default/initrd-46dda0edb078716ca8e34234bbf5871d9869c975
      115 140320 -rwxr-xr-x   1 root     root     143684961 Mar 12 08:36 /boot/efi/opensuse-tumbleweed/6.19.2-1-default/initrd-50daa2071d6a1eb8a5aabe2442bc21788f486d3e
      116 140320 -rwxr-xr-x   1 root     root     143684961 Mar 12 11:42 /boot/efi/opensuse-tumbleweed/6.19.2-1-default/initrd-fb34db36e9ab40b7162c70b5ca1ee50e91c27ed7
      117 140320 -rwxr-xr-x   1 root     root     143684961 Mar 12 11:42 /boot/efi/opensuse-tumbleweed/6.19.2-1-default/initrd-1140dfee5e2b1a14ed9627c63fcb8d46915e616d

Strange - the BLS kernel-install layout is still active, es evident with the hashed filenames like initrd-e6baaf4630d62e550620e818045f07db493b1b73

Show what is returned from sudo kernel-install

sputnik3:~ # kernel-install 
        Machine ID: 0253f2351d5a47670011623a690ebb2b
 Kernel Image Type: pe
            Layout: bls
         Boot Root: /boot/efi
  Entry Token Type: literal
       Entry Token: opensuse-tumbleweed
   Entry Directory: /boot/efi/opensuse-tumbleweed/6.19.6-1-default
    Kernel Version: 6.19.6-1-default
            Kernel: /usr/lib/modules/6.19.6-1-default/vmlinuz
           Initrds: (unset)                                                       
  Initrd Generator: (unset)                                                       
     UKI Generator: (unset)                                                       
           Plugins: /usr/lib/kernel/install.d/50-depmod.install
                    /usr/lib/kernel/install.d/50-dracut.install
                    /usr/lib/kernel/install.d/51-dracut-rescue.install
                    /usr/lib/kernel/install.d/90-loaderentry.install
                    /usr/lib/kernel/install.d/90-uki-copy.install
                    /usr/lib/kernel/install.d/92-tuned.install
Plugin Environment: LC_COLLATE=C.UTF-8
                    KERNEL_INSTALL_VERBOSE=0
                    KERNEL_INSTALL_IMAGE_TYPE=pe
                    KERNEL_INSTALL_MACHINE_ID=0253f2351d5a47670011623a690ebb2b
                    KERNEL_INSTALL_ENTRY_TOKEN=opensuse-tumbleweed
                    KERNEL_INSTALL_BOOT_ROOT=/boot/efi
                    KERNEL_INSTALL_LAYOUT=bls
                    KERNEL_INSTALL_INITRD_GENERATOR=
                    KERNEL_INSTALL_UKI_GENERATOR=
                    KERNEL_INSTALL_STAGING_AREA=/tmp/kernel-install.staging.XXXXXX
  Plugin Arguments: add|remove
                    6.19.6-1-default
                    /boot/efi/opensuse-tumbleweed/6.19.6-1-default
                    /usr/lib/modules/6.19.6-1-default/vmlinuz
                    [INITRD...]

The kernel-install output you shared shows

KERNEL_INSTALL_BOOT_ROOT=/boot/efi
KERNEL_INSTALL_LAYOUT=bls

which confirms the system is still operating in BLS mode. Speculating a bit here: As long as kernel-install detects a BLS layout on the ESP (for example directories such as /boot/efi/loader/entries/ or the existing /boot/efi/opensuse-tumbleweed/ kernel directories perhaps), it will continue installing kernels there. Hopefully, others can chime in here to clarify further.

1 Like

OK, thanks. If no further suggestions come in, sometime tomorrow I might see if I can clear out the current folders and files and try again. It’s an experimental system, worse case I can reinstall it. It’s possible some past experiment is fouling things up (for example, it was dual booting with cachos until recently, and I also shuffled some drives around).

I have the same problem. I reinstalled my system a few weeks ago with only one EFI partition (300 MB, dual-boot with Windows, nvme0n1p01) with full disk encryption. The partition filled up shortly after.

Then, a week ago, I reinstalled the system with a dedicated EFI partition (500 MB, nvme0n1p07). Now this partition is also full. I’m not sure if I can increase the partition size.

What can I do now? Should I change the Grub type, as described above?

I had the same issue with the /boot/efi partition, where it was filling up. My resolution was to shrink the partition to its right by 3GB from the left, and expand the /boot/efi partition into that space.

It worked with no issue, but I agree that it makes sense to increase the default partition size to 4GB for /boot/efi/, since this seems to be a fairly regular occurrence.

It’s probably safer to increase the size of /boot/efi, as most recently described by @crestless1624, and also discussed and described earlier.

I can’t seem to successfully switch back to grub2. It could be that I’ve broken my system in a way that prevents the suggested procedure from working. Hopefully someone else will chip in with a can’t fail method.

1 Like

I think I’ve managed to get grub2-efi properly installed. I compared what was installed for grub2 on my normal TW desktop versus my experimental TW system.

I can’t say I’m confident in the steps taken and whether they are all necessary. There may be a simpler less complex alternative procedure. Having cleaned/modified /boot/efi, I cannot use snapper to revert and try something else.

Here is the totality of what I tried (I worked as root, so these will need sudo in front of them if you’re not root):

editor /etc/sysconfig/bootloader      # I used vi as my "editor"
zypper remove grub2-x86_64-efi-bls-2.14-5.1.noarch     # Not sure it this is necessary
zypper install grub2-x86_64-efi
zypper install grub2-x86_64-efi-extras     # Probably what I was missing earlier
update-bootloader --install --config
rm -r /boot/efi/loader/entries
grub2-install --target=x86_64-efi --bootloader-id=opensuse --efi-directory=/boot/efi
zypper install --force kernel-default-6.19.6  # Reinstall the current kernel    # sets up /boot 

The result looked promising:

sputnik3:~ # ls -l /boot/
total 140152
lrwxrwxrwx. 1 root root        42 Mar 13 09:08 config-6.19.6-1-default -> ../usr/lib/modules/6.19.6-1-default/config
drwx------  4 root root      4096 Jan  1  1970 efi
drwxr-xr-x. 1 root root        84 Mar 13 09:08 grub2
lrwxrwxrwx. 1 root root        23 Mar 13 09:08 initrd -> initrd-6.19.6-1-default
-rw-------. 1 root root 143475725 Mar 13 09:08 initrd-6.19.6-1-default
lrwxrwxrwx. 1 root root        47 Mar 13 09:08 sysctl.conf-6.19.6-1-default -> ../usr/lib/modules/6.19.6-1-default/sysctl.conf
lrwxrwxrwx. 1 root root        46 Mar 13 09:08 System.map-6.19.6-1-default -> ../usr/lib/modules/6.19.6-1-default/System.map
lrwxrwxrwx. 1 root root        24 Mar 13 09:08 vmlinuz -> vmlinuz-6.19.6-1-default
lrwxrwxrwx. 1 root root        43 Mar 13 09:08 vmlinuz-6.19.6-1-default -> ../usr/lib/modules/6.19.6-1-default/vmlinuz
lrwxrwxrwx. 1 root root        49 Mar 13 09:08 .vmlinuz-6.19.6-1-default.hmac -> ../usr/lib/modules/6.19.6-1-default/.vmlinuz.hmac
lrwxrwxrwx. 1 root root        30 Mar 13 09:08 .vmlinuz.hmac -> .vmlinuz-6.19.6-1-default.hmac

After rebooting I checked the following which seems to look right:

sputnik3:~ # cat /proc/cmdline 
BOOT_IMAGE=/@/.snapshots/1/snapshot/boot/vmlinuz-6.19.6-1-default root=UUID=b25cb0ff-c7f1-43e8-a768-bbe6724af0a7 rootflags=subvol=@/.snapshots/1/snapshot

sputnik3:~ # lsinitrd  | grep Image
Image: /boot/initrd-6.19.6-1-default: 137M

However, kernel-install still reports BLS:

sputnik3:~ # kernel-install | grep KERNEL_INSTALL_LAYOUT
                    KERNEL_INSTALL_LAYOUT=bls

On my normal desktop which has always been grub2-efi, the setting reports “other” - so something is still not correct.

I just did a zypper dup which included an update to kernel 6.16.6-2 and I saw several messages like the following

ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.

(I also saw this message in the earlier forced kernel reinstall - but forgot about it. )

Despite the scary message, the dup worked. The subsequent reboot also seems to have booted via grub-efi successfully:

sputnik3:~ # cat /proc/cmdline 
BOOT_IMAGE=/@/.snapshots/1/snapshot/boot/vmlinuz-6.19.6-2-default root=UUID=b25cb0ff-c7f1-43e8-a768-bbe6724af0a7 rootflags=subvol=@/.snapshots/1/snapshot
sputnik3:~ # lsinitrd | grep Image
Image: /boot/initrd-6.19.6-2-default: 137M
sputnik3:~ # kernel-install | grep KERNEL_INSTALL_LAYOUT
                    KERNEL_INSTALL_LAYOUT=bls

I can’t recommend what I’ve done with any air of authority. I’ve only persisted in case it throws some light on the situation or flushes out a better procedure.

I’m not sure if this is possible. My partition-layout is below. Is it possible to shrink an encrypted LUKS-Partition?

> lsblk -f                                                                         ~/Nextcloud/Documents/Downloads_MACBOOK_PRO_Windows@ZenbookOpenSUSE
NAME                                     FSTYPE      FSVER    LABEL                   UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
zram0                                    swap        1                                8c8e73c7-ab46-45a6-80df-2a1e2a2cae94                  [SWAP]
nvme0n1                                                                                                                                     
├─nvme0n1p1                              vfat        FAT32    SYSTEM                  FCE1-6693                                             
├─nvme0n1p2                                                                                                                                 
├─nvme0n1p3                              BitLocker   2        ZENBOOK OS 05.09.2024   882d55fb-287e-4aab-90c7-cf1343f2b166                  
├─nvme0n1p4                              ntfs                 RECOVERY                C0CA7EBCCA7EADF2                                      
├─nvme0n1p5                              vfat        FAT32    MYASUS                  50FC-E440                                             
├─nvme0n1p6                              BitLocker   2        ZENBOOK DATA 23.08.2025 b0303910-b5b5-434d-88b7-d6eb28610901                  
├─nvme0n1p7                              vfat        FAT16                            ED44-91D5                                73,1M    85% /boot/efi
└─nvme0n1p8                              crypto_LUKS 2                                45c21364-e59b-4a81-b920-045cb0a8a30b                  
  └─cr_nvme-eui.e8238fa6bf530001001b444a41f1ae97-part8
    │                                    LVM2_member LVM2 001                         UzMcoz-hI9m-9pZe-Hiry-fbzI-EQV4-i2E0GJ                
    ├─system-swap                        swap        1                                a5d708dd-bde3-4815-851a-45a3e095c077                  [SWAP]
    └─system-root                        btrfs                                        814e1d91-0970-43e4-9b7a-fafb0c95e0ec    600,9G    72% /var

I decided it would be better to start over from scratch. I reinstalled everything yesterday and played it safe with the /boot/efi partition this time. But that really should be adjusted in the installer…

NAME         SIZE FSTYPE MOUNTPOINT FSUSED FSAVAIL FSUSE%
nvme0n1      3,6T                                  
├─nvme0n1p1   10G vfat   /boot/efi  729,6M    9,3G     7%
├─nvme0n1p2  3,6T btrfs  /var       161,5G    3,4T     4%
└─nvme0n1p3 70,6G swap   [SWAP]                    

2 Likes

It is using detection heuristics. If it sees a folder on the EFI partition matching the system’s Machine ID, it assumes it should use the BLS layout, even if the main bootloader was switched back to Classic. Anyway you can check /boot/efi/ with
ls /boot/efi/$(cat /etc/machine-id) /boot/efi/loader
and then move that directory to test eg rename it to <machine-id>.old. When it can’t be found you’ll get KERNEL_INSTALL_LAYOUT=other again.

Thanks, that didn’t find anything, but was a big clue anyway.

sputnik3:~ # ls /boot/efi/$(cat /etc/machine-id) /boot/efi/loader
ls: cannot access '/boot/efi/0253f2351d5a47670011623a690ebb2b': No such file or directory
ls: cannot access '/boot/efi/loader': No such file or directory

I did an strace of kernel-install and also compared my desktop to my experimental machine. The cause was the presence of /boot/efi/opensuse-tumbleweed/ or the empty 6.19.6-2-default directory under it…

rm -rf /boot/efi/opensuse-tumbleweed
kernel-install | grep KERNEL_INSTALL_LAYOUT
                    KERNEL_INSTALL_LAYOUT=other

Yay!

So I had failed to track down and eliminate all traces of grub-bls. I think the final list of what to do is as follows:

editor /etc/sysconfig/bootloader      # I used vi as my "editor"
zypper remove grub2-x86_64-efi-bls-2.14-5.1.noarch     # Not sure it this is necessary
zypper install grub2-x86_64-efi
zypper install grub2-x86_64-efi-extras     # Probably what I was missing earlier
update-bootloader --install --config
rm -r /boot/efi/loader/entries
grub2-install --target=x86_64-efi --bootloader-id=opensuse --efi-directory=/boot/efi
zypper install --force kernel-default-6.19.6  # Reinstall the current kernel    # sets up /boot
rm -rf /boot/efi/opensuse-tumbleweed  # Maybe this could be down earlier, but I did it last.
reboot

Note, this was a pretty standard desktop with an unencrypted ext4 root. If you have an encrypted laptop, or some other different kind of system, then the above may not be applicable.

I’m not completely out of the woods. Grub2-efi is booting fine and the system is working normally, but I do see a seemingly harmless warning that I do not see on my main desktop. When installing a kernel I see:

sputnik3:~ # grep LOADER_TYPE /etc/sysconfig/bootloader 
LOADER_TYPE="grub2-efi"

sputnik3:~ #zypper install --force kernel-default-6.19.6
...
Retrieving: kernel-default-6.19.6-2.1.x86_64 (repo-oss)                                                                                                                                           (1/1), 183.8 MiB    

Checking for file conflicts: ...................................................................................................................................................................................[done]
ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.
ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.
ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.
(1/1) Installing: kernel-default-6.19.6-2.1.x86_64 .............................................................................................................................................................[done]
%posttrans(kernel-default-6.19.6-2.1.x86_64) script output:
ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.
ERROR: Bootloader not detected. /etc/sysconfig/bootloader has LOADER_TYPE="grub2-efi", but only "systemd-boot" or "grub2-bls" are recognized.
Running post-transaction scripts ...............................................................................................................................................................................[done]

Functionally, everything seems OK.

Yes, as I mentioned earlier, kernel-install uses heuristics to detect whether any directory resembling a BLS kernel layout exists on the ESP. Good that you tracked down the cause and removed it.

I don’t think grub2-x86_64-efi-extras is necessary. I don’t have that package installed myself.

I don’t observe that, but I have

> cat /etc/sysconfig/bootloader

## Path:        System/Bootloader
## Description: Bootloader configuration
## Type:        list(grub,grub2,grub2-efi,systemd-boot,none)
## Default:     grub2
#
# Type of bootloader in use.
# For making the change effect run bootloader configuration tool
# and configure newly selected bootloader
#
#
LOADER_TYPE="grub2"

In any case that message is harmless (just informational).

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.