How to increase the size of volume 'efi'

Namaste/Hello,
After booting up Manjaro GNOME, I was notified that the size on the volume,‘efi’ was low. There were 0 bytes remaining. Here’s the exact message:

Low Disk Space on "efi". The volume "efi" has only 0 bytes disk space remaining

The size of my efi volume is 300MiB. So, what I wanna do is, increase the size of volume efi to a size which will stop giving this notification and doesn’t give problems when I install new OS-es in future. Since I am kind of a newbie, I am facing problems in extending it due to the partition layout given in the below picture:

There’s a 2 MiB unallocated space preceding and 500GiB volume(MANJARO) succeeding the efi volume(300MiB). 431.22 GiB volume is also unallocated.
Thank you

Here is a proposed procedure:

Thanks for quick reply!:smile:
I’ll follow your guidelines and let you know whether it worked or not.

1 Like

I did it once using GUI (KDE Partition Manager).
You can do it this way:

  1. boot to Live system (CD, usb stick)
  2. backup partitions succeeding your $esp (just in case if something goes wrong)
  3. move them to acquire the space you need (it’ll take some time)
  4. enlarge your $esp
  5. check if partitions UUIDs have changed, if so, mount root partition and edit fstab accordingly.
3 Likes

Can you mention how the 4th step is done(in detail :sweat_smile:) , i.e. mounting the root partition and editing fstab accordingly? I’m asking this because I’ve never done this process and in case the UUIDs change, I’ll be able to execute the 4th step on spot.

Well first on your currently running system check what’s used to mount partitions in your fstab - UUID or PARTUUID, then do lsblk -o NAME,FSTYPE,LABEL,UUID,SIZE,PARTUUID or simply sudo blkid, copy and save the output somewhere to get access to it later from the live system.
Then, after moving and resizing, execute the same command again and compare with the initial one. Something would have changed probably. If so, find your root partition, mount it (with GUI of your choice) and use sudo nano /PATH/TO/YOUR/ROOT/PARTITION'S/FSTAB to open a terminal editor, and go edit! Ctrl + S to save, Ctrl + X to exit.

I’ve just looked at your Gparted’s screenshot. The process WILL be easy. Much easier than was mine. I guess even UUIDs won’t change.

One question though: how did you manage to fill up your $esp? By defaul Manjaro hardly use it.

If the partition is just enlarged with GParted or KDE Partition Manager the UUID is not changed.

Well I meant his sda2’s ROOT (/) which should be moved to the right a bit to free some space on the left.

Even / is not changing UUID if moved. But it is advisable to restore the bootloader when the start of the / partition is changed. I’d rather keep / partition untouched and use the unallocated space for a new EFI partition.

Ah OK fine then. Just precautions.

While doing this, i would advice to create a 1GiB ESP partition, it will be handy one day :wink:
(Especially when you want to try different distro’s and/or kernels)

Or…you could even put the ESP on an USB-stick and get rid of it on your HD completely…
(That way your system can only be booted when your USB-stick is connected)

I don’t exactly know how the ESP was full. I think it happened when I installed Android-x_86 alongside Manjaro. Android was installed and then my device ran into some issues due to which I was unable to boot in any of the OS-es. I then fixed it and was able to boot into Manjaro(Android was installed but was not showing up in GRUB menu(I removed Android yesterday)). When I was in the Manjaro session, the notification regarding low disk space on efi appeared. I believe that(not sure though) ESP was full due to installation of Android(and is still full even after removing Android(as per my thinking)).

We could check if you provide output of:

tree /boot/efi | xclip

Fe. my ESP is at /efi and my output looks like:

> tree /efi | xclip
/efi/
├── Arch
│   ├── initramfs-linux-fallback.img
│   ├── initramfs-linux-hardened-fallback.img
│   ├── initramfs-linux-hardened.img
│   ├── initramfs-linux.img
│   ├── initramfs-linux-lts-fallback.img
│   ├── initramfs-linux-lts.img
│   ├── intel-ucode.img
│   ├── vmlinuz-linux
│   ├── vmlinuz-linux-hardened
│   └── vmlinuz-linux-lts
├── EFI
│   ├── BOOT
│   │   ├── bootx64.efi
│   │   ├── fbx64.efi
│   │   └── mmx64.efi
│   ├── Linux
│   ├── Manjaro
│   │   └── grubx64.efi
│   ├── NetBoot
│   │   ├── Arch
│   │   │   ├── archiso.img
│   │   │   ├── intel-ucode.img
│   │   │   ├── ipxe.efi
│   │   │   └── vmlinuz-linux
│   │   ├── bootx64.csv
│   │   ├── netboot.xyz.efi
│   │   ├── netboot.xyz-snp.efi
│   │   └── netboot.xyz-snponly.efi
│   └── systemd
│       ├── bootx64.csv
│       └── systemd-bootx64.efi
├── loader
│   ├── entries
│   │   ├── arch_.conf
│   │   ├── arch_hardened.conf
│   │   ├── arch_lts.conf
│   │   ├── manjaro5.8.conf
│   │   ├── manjaro5.8-fallback.conf
│   │   ├── manjarolinux5.8.conf
│   │   ├── manjarolinux5.8-fallback.conf
│   │   ├── manjarolinux5.8-noresume.conf
│   │   ├── netboot-arch-ipxe.conf
│   │   ├── netboot.conf
│   │   ├── netboot-snp.conf
│   │   └── netboot-snponly.conf
│   ├── loader.conf
│   └── random-seed
├── Manjaro
│   ├── grub
│   │   ├── fonts
│   │   │   └── unicode.pf2
│   │   ├── grub.cfg
│   │   ├── grubenv
│   │   ├── themes
│   │   │   └── starfield
│   │   │       ├── blob_w.png
│   │   │       ├── boot_menu_c.png
│   │   │       ├── boot_menu_e.png
│   │   │       ├── boot_menu_ne.png
│   │   │       ├── boot_menu_n.png
│   │   │       ├── boot_menu_nw.png
│   │   │       ├── boot_menu_se.png
│   │   │       ├── boot_menu_s.png
│   │   │       ├── boot_menu_sw.png
│   │   │       ├── boot_menu_w.png
│   │   │       ├── COPYING.CC-BY-SA-3.0
│   │   │       ├── dejavu_10.pf2
│   │   │       ├── dejavu_12.pf2
│   │   │       ├── dejavu_14.pf2
│   │   │       ├── dejavu_16.pf2
│   │   │       ├── dejavu_bold_14.pf2
│   │   │       ├── README
│   │   │       ├── slider_c.png
│   │   │       ├── slider_n.png
│   │   │       ├── slider_s.png
│   │   │       ├── starfield.png
│   │   │       ├── terminal_box_c.png
│   │   │       ├── terminal_box_e.png
│   │   │       ├── terminal_box_ne.png
│   │   │       ├── terminal_box_n.png
│   │   │       ├── terminal_box_nw.png
│   │   │       ├── terminal_box_se.png
│   │   │       ├── terminal_box_s.png
│   │   │       ├── terminal_box_sw.png
│   │   │       ├── terminal_box_w.png
│   │   │       └── theme.txt
│   │   └── x86_64-efi
│   │       ├── acpi.mod
│   │       ├── adler32.mod
│   │       ├── affs.mod
│   │       ├── afs.mod
│   │       ├── afsplitter.mod
│   │       ├── ahci.mod
│   │       ├── all_video.mod
│   │       ├── aout.mod
│   │       ├── appleldr.mod
│   │       ├── archelp.mod
│   │       ├── ata.mod
│   │       ├── at_keyboard.mod
│   │       ├── backtrace.mod
│   │       ├── bfs.mod
│   │       ├── bitmap.mod
│   │       ├── bitmap_scale.mod
│   │       ├── blocklist.mod
│   │       ├── boot.mod
│   │       ├── boottime.mod
│   │       ├── bsd.mod
│   │       ├── bswap_test.mod
│   │       ├── btrfs.mod
│   │       ├── bufio.mod
│   │       ├── cacheinfo.mod
│   │       ├── cat.mod
│   │       ├── cbfs.mod
│   │       ├── cbls.mod
│   │       ├── cbmemc.mod
│   │       ├── cbtable.mod
│   │       ├── cbtime.mod
│   │       ├── chain.mod
│   │       ├── cmdline_cat_test.mod
│   │       ├── cmp.mod
│   │       ├── cmp_test.mod
│   │       ├── command.lst
│   │       ├── configfile.mod
│   │       ├── core.efi
│   │       ├── cpio_be.mod
│   │       ├── cpio.mod
│   │       ├── cpuid.mod
│   │       ├── crc64.mod
│   │       ├── cryptodisk.mod
│   │       ├── crypto.lst
│   │       ├── crypto.mod
│   │       ├── cs5536.mod
│   │       ├── ctz_test.mod
│   │       ├── datehook.mod
│   │       ├── date.mod
│   │       ├── datetime.mod
│   │       ├── diskfilter.mod
│   │       ├── disk.mod
│   │       ├── div.mod
│   │       ├── div_test.mod
│   │       ├── dm_nv.mod
│   │       ├── echo.mod
│   │       ├── efifwsetup.mod
│   │       ├── efi_gop.mod
│   │       ├── efinet.mod
│   │       ├── efi_uga.mod
│   │       ├── ehci.mod
│   │       ├── elf.mod
│   │       ├── eval.mod
│   │       ├── exfat.mod
│   │       ├── exfctest.mod
│   │       ├── ext2.mod
│   │       ├── extcmd.mod
│   │       ├── f2fs.mod
│   │       ├── fat.mod
│   │       ├── file.mod
│   │       ├── fixvideo.mod
│   │       ├── font.mod
│   │       ├── fshelp.mod
│   │       ├── fs.lst
│   │       ├── functional_test.mod
│   │       ├── gcry_arcfour.mod
│   │       ├── gcry_blowfish.mod
│   │       ├── gcry_camellia.mod
│   │       ├── gcry_cast5.mod
│   │       ├── gcry_crc.mod
│   │       ├── gcry_des.mod
│   │       ├── gcry_dsa.mod
│   │       ├── gcry_idea.mod
│   │       ├── gcry_md4.mod
│   │       ├── gcry_md5.mod
│   │       ├── gcry_rfc2268.mod
│   │       ├── gcry_rijndael.mod
│   │       ├── gcry_rmd160.mod
│   │       ├── gcry_rsa.mod
│   │       ├── gcry_seed.mod
│   │       ├── gcry_serpent.mod
│   │       ├── gcry_sha1.mod
│   │       ├── gcry_sha256.mod
│   │       ├── gcry_sha512.mod
│   │       ├── gcry_tiger.mod
│   │       ├── gcry_twofish.mod
│   │       ├── gcry_whirlpool.mod
│   │       ├── geli.mod
│   │       ├── gettext.mod
│   │       ├── gfxmenu.mod
│   │       ├── gfxterm_background.mod
│   │       ├── gfxterm_menu.mod
│   │       ├── gfxterm.mod
│   │       ├── gptsync.mod
│   │       ├── grub.efi
│   │       ├── gzio.mod
│   │       ├── halt.mod
│   │       ├── hashsum.mod
│   │       ├── hdparm.mod
│   │       ├── hello.mod
│   │       ├── help.mod
│   │       ├── hexdump.mod
│   │       ├── hfs.mod
│   │       ├── hfspluscomp.mod
│   │       ├── hfsplus.mod
│   │       ├── http.mod
│   │       ├── iorw.mod
│   │       ├── iso9660.mod
│   │       ├── jfs.mod
│   │       ├── jpeg.mod
│   │       ├── json.mod
│   │       ├── keylayouts.mod
│   │       ├── keystatus.mod
│   │       ├── ldm.mod
│   │       ├── legacycfg.mod
│   │       ├── legacy_password_test.mod
│   │       ├── linux16.mod
│   │       ├── linux.mod
│   │       ├── loadbios.mod
│   │       ├── loadenv.mod
│   │       ├── loopback.mod
│   │       ├── lsacpi.mod
│   │       ├── lsefimmap.mod
│   │       ├── lsefi.mod
│   │       ├── lsefisystab.mod
│   │       ├── lsmmap.mod
│   │       ├── ls.mod
│   │       ├── lspci.mod
│   │       ├── lssal.mod
│   │       ├── luks2.mod
│   │       ├── luks.mod
│   │       ├── lvm.mod
│   │       ├── lzopio.mod
│   │       ├── macbless.mod
│   │       ├── macho.mod
│   │       ├── mdraid09_be.mod
│   │       ├── mdraid09.mod
│   │       ├── mdraid1x.mod
│   │       ├── memdisk.mod
│   │       ├── memrw.mod
│   │       ├── minicmd.mod
│   │       ├── minix2_be.mod
│   │       ├── minix2.mod
│   │       ├── minix3_be.mod
│   │       ├── minix3.mod
│   │       ├── minix_be.mod
│   │       ├── minix.mod
│   │       ├── mmap.mod
│   │       ├── moddep.lst
│   │       ├── modinfo.sh
│   │       ├── morse.mod
│   │       ├── mpi.mod
│   │       ├── msdospart.mod
│   │       ├── mul_test.mod
│   │       ├── multiboot2.mod
│   │       ├── multiboot.mod
│   │       ├── nativedisk.mod
│   │       ├── net.mod
│   │       ├── newc.mod
│   │       ├── nilfs2.mod
│   │       ├── normal.mod
│   │       ├── ntfscomp.mod
│   │       ├── ntfs.mod
│   │       ├── odc.mod
│   │       ├── offsetio.mod
│   │       ├── ohci.mod
│   │       ├── part_acorn.mod
│   │       ├── part_amiga.mod
│   │       ├── part_apple.mod
│   │       ├── part_bsd.mod
│   │       ├── part_dfly.mod
│   │       ├── part_dvh.mod
│   │       ├── part_gpt.mod
│   │       ├── partmap.lst
│   │       ├── part_msdos.mod
│   │       ├── part_plan.mod
│   │       ├── part_sun.mod
│   │       ├── part_sunpc.mod
│   │       ├── parttool.lst
│   │       ├── parttool.mod
│   │       ├── password.mod
│   │       ├── password_pbkdf2.mod
│   │       ├── pata.mod
│   │       ├── pbkdf2.mod
│   │       ├── pbkdf2_test.mod
│   │       ├── pcidump.mod
│   │       ├── pgp.mod
│   │       ├── play.mod
│   │       ├── png.mod
│   │       ├── priority_queue.mod
│   │       ├── probe.mod
│   │       ├── procfs.mod
│   │       ├── progress.mod
│   │       ├── raid5rec.mod
│   │       ├── raid6rec.mod
│   │       ├── random.mod
│   │       ├── rdmsr.mod
│   │       ├── read.mod
│   │       ├── reboot.mod
│   │       ├── regexp.mod
│   │       ├── reiserfs.mod
│   │       ├── relocator.mod
│   │       ├── romfs.mod
│   │       ├── scsi.mod
│   │       ├── search_fs_file.mod
│   │       ├── search_fs_uuid.mod
│   │       ├── search_label.mod
│   │       ├── search.mod
│   │       ├── serial.mod
│   │       ├── setjmp.mod
│   │       ├── setjmp_test.mod
│   │       ├── setpci.mod
│   │       ├── sfs.mod
│   │       ├── shift_test.mod
│   │       ├── shim_lock.mod
│   │       ├── signature_test.mod
│   │       ├── sleep.mod
│   │       ├── sleep_test.mod
│   │       ├── smbios.mod
│   │       ├── spkmodem.mod
│   │       ├── squash4.mod
│   │       ├── strtoull_test.mod
│   │       ├── syslinuxcfg.mod
│   │       ├── tar.mod
│   │       ├── terminal.lst
│   │       ├── terminal.mod
│   │       ├── terminfo.mod
│   │       ├── test_blockarg.mod
│   │       ├── testload.mod
│   │       ├── test.mod
│   │       ├── testspeed.mod
│   │       ├── tftp.mod
│   │       ├── tga.mod
│   │       ├── time.mod
│   │       ├── tpm.mod
│   │       ├── trig.mod
│   │       ├── tr.mod
│   │       ├── true.mod
│   │       ├── udf.mod
│   │       ├── ufs1_be.mod
│   │       ├── ufs1.mod
│   │       ├── ufs2.mod
│   │       ├── uhci.mod
│   │       ├── usb_keyboard.mod
│   │       ├── usb.mod
│   │       ├── usbms.mod
│   │       ├── usbserial_common.mod
│   │       ├── usbserial_ftdi.mod
│   │       ├── usbserial_pl2303.mod
│   │       ├── usbserial_usbdebug.mod
│   │       ├── usbtest.mod
│   │       ├── verifiers.mod
│   │       ├── video_bochs.mod
│   │       ├── video_cirrus.mod
│   │       ├── video_colors.mod
│   │       ├── video_fb.mod
│   │       ├── videoinfo.mod
│   │       ├── video.lst
│   │       ├── video.mod
│   │       ├── videotest_checksum.mod
│   │       ├── videotest.mod
│   │       ├── wrmsr.mod
│   │       ├── xfs.mod
│   │       ├── xnu.mod
│   │       ├── xnu_uuid.mod
│   │       ├── xnu_uuid_test.mod
│   │       ├── xzio.mod
│   │       ├── zfscrypt.mod
│   │       ├── zfsinfo.mod
│   │       ├── zfs.mod
│   │       └── zstd.mod
│   ├── initramfs-5.8-x86_64-fallback.img
│   ├── initramfs-5.8-x86_64.img
│   ├── intel-ucode.img
│   ├── linux58-x86_64.kver
│   ├── memtest86+
│   │   └── memtest.bin
│   └── vmlinuz-5.8-x86_64
└── Shellx64.efi

17 directories, 359 files

Note: i have /efi/Manjaro bind-mounted at /boot
Which shows me i still have to uninstall grub from this temporary install, because im using sd-boot as bootloader :smiley:

I tried tree /boot/efi | xclip (with and without superuser) but there was no output. Hence I tried again using this - sudo tree /boot/efi which gave me the following output:

/boot/efi
├── android-6.0-rc1
│   └── mnt
│       ├── initrd.img
│       ├── kernel
│       ├── ramdisk.img
│       └── system.sfs
├── EFI
│   ├── boot
│   │   ├── bootia32.efi
│   │   ├── bootx64.efi
│   │   └── grub.cfg
│   └── Manjaro
│       └── grubx64.efi
└── grub
    ├── android-x86.xpm.gz
    ├── device.map
    ├── e2fs_stage1_5
    ├── fat_stage1_5
    ├── menu.lst
    ├── ntfs_stage1_5
    ├── stage1
    ├── stage2
    └── stage2_eltorito

6 directories, 17 files

Do you see this part?
That shows the files occupied by your android install inside the ESP.
So if you don’t use that anymore, to free space, you can remove that android-6.0-rc1 subdirectory with all files under it.
I have no idea how that /boot/efi/grub directory got there, so you might only remove /boot/efi/grub/android-x86.xpm.gz if im not mistaken…
Perhaps that grub directory was also installed at same time with the android install, because it should normally be at /boot/grub

Yea sory i forgot you need to perform that tree command as root because of permissions on the mount-point :smiley:

After many edits and re-reading your output:
These files under /boot/efi/EFI/boot also look strange to me…

Checking the time stamps of the files inside the ESP could shed a light on which were installed together.

2 Likes

Hm, Systemd-boot does really not take up much space…

├── amd-ucode.img
├── EFI
│   ├── BOOT
│   │   └── BOOTX64.EFI
│   ├── Linux
│   └── systemd
│       └── systemd-bootx64.efi
├── initramfs-5.8-x86_64-fallback.img
├── initramfs-5.8-x86_64.img
├── initramfs-5.9-x86_64-fallback.img
├── initramfs-5.9-x86_64.img
├── initramfs-5mb-the_quantum_alpha.img
├── initramfs-linux-tiny.img
├── linux58-x86_64.kver
├── linux59-x86_64.kver
├── loader
│   ├── entries
│   │   ├── manjarolinux5.8.conf
│   │   ├── manjarolinux5.8-fallback.conf
│   │   ├── manjarolinux5.9.conf
│   │   └── manjarolinux5.9-fallback.conf
│   ├── loader.conf
│   └── random-seed
├── memtest86+
│   └── memtest.bin
├── System Volume Information
├── vmlinuz-5.8-x86_64
└── vmlinuz-5.9-x86_64

8 directories, 20 files

Just make sure the boot directory is not filled up with previous installation’s initramfs …

Whoa! Thanks! deleting android-6.0-rc1 file freed a huge amount of blocked space in the ESP :smiley:.

Then it would be nice to select my reply above as the solution for later readers :wink:
(Or any other reply that helped to solve the problem in OP)

Thanks to all of you in helping me solve my problem. This wouldn’t have been possible without the support of yours :relaxed: :relaxed:
The reason why I marked @openminded’s advice as solution as it satisfied the condition of the issue. However, @TriMoon’s advice was perfect too(in creating space in ESP by deleting unwanted files).
I would like to mark both of their advice as solution but the forum doesn’t allows so :sweat_smile:.
Special thanks to @Wollie and @The_Quantum_Alpha for their efforts to solve my problem.

Regards

2 Likes

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