Boot, GRUB & systemd-boot

EFI boot partition is full during a kernel update

A full ESP or XBOOTLDR can leave a kernel update without a complete boot image; identify unused entries through the distribution’s cleanup tools.

On this page
  1. Symptoms & scope
  2. Possible causes
  3. Diagnose safely
  4. Evidence-guided next steps
  5. References & review
  6. Related problems

Symptoms & scope

  • Kernel packaging or image copy fails with No space left on device under an EFI path.
  • The older entry still boots but the new kernel entry is incomplete or absent.

Relevant environment

UEFI systems storing boot images, initramfs files or UKIs on a limited ESP/XBOOTLDR partition; root filesystem free space is separate.

Recognizable messages (synthetic examples)
cp: error writing '/boot/efi/EFI/Linux/linux-example.efi': No space left on device

Confirm the target partition and complete the failed transaction after supported cleanup; the existing fallback can still be usable.

Possible causes

These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.

  • Old kernel/UKI images or failed intermediate copies may consume the boot partition.
  • A wrong mount can make files accumulate on root instead; a partition-level capacity problem is not solved by deleting arbitrary EFI executables.

Diagnose safely

Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.

Check 1

Replace/add /efi if that is the verified ESP mount. This reads filesystem capacity and does not delete files.

df -h /boot /boot/efi

Interpret the result: Check which filesystem each path belongs to. The same root device for both paths can mean the expected separate partition is not mounted.

Check 2

Read BLS entries when this installation uses a compatible loader; for GRUB use the distribution’s kernel package inventory instead.

bootctl list --no-pager

Interpret the result: Map current and fallback entries to their images before cleanup. A filename alone is insufficient to identify an unused bootloader or another operating system.

Evidence-guided next steps

Remove only confirmed unneeded packaged entries

If obsolete kernel entries are confirmed, remove them with the distribution’s supported kernel package or generation cleanup while retaining the running kernel and at least one known working fallback. Recheck free space on the actual mounted partition.

Precautions: Back up boot configuration and necessary images first. Do not delete EFI/BOOT, another OS loader or an image merely because it is large.

Recovery / rollback: Restore the backed-up image/entry through the package or generation mechanism if cleanup removed a needed fallback.

Did this solution help you?

Share this solution#

Complete the interrupted kernel image update

After enough space is available and the correct partition is mounted, rerun the distribution’s failed image/kernel-install transaction for the selected kernel. Check that its full image, entry and any required signature are present before rebooting.

Precautions: An earlier error can leave a partial image. Do not select the new entry solely because its title appears; verify referenced files and keep the fallback.

Recovery / rollback: Boot the preserved working entry and restore its files if the repeated transaction still cannot create a complete new image.

Did this solution help you?

Share this solution#

References & review

This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.