Low disk space on the "EFI" partition

amine_b -  
mamiemando Posted messages 33228 Registration date   Status Moderator Last intervention   -
Hello,

I have been a Linux fan for 3 years now, and I change my OS every 2 months if there is an interesting new distribution. Currently, I have Zorin OS on my computer in dual boot with Windows 10 (I hate Windows but I'm forced to use it because I need the Adobe suite). Yesterday, I wanted to install a new distribution alongside Zorin OS and Windows (the space doesn't matter to me since I have all my data on the drive), so I installed Solus OS. But during the installation, the USB stick got disconnected because of my cat, and I had to redo the installation.

During my second attempt, when I reached the disk partitioning, I got a message saying that my ESP disk is full, so my EFI partition doesn't have enough space to proceed with the installation ... I don't really know what the EFI partition is for.

I opened GParted to increase the size of the EFI partition, but I didn't know how to do it (even though I have partitioned more than one partition in my life). Even when I booted into Zorin, a pop-up said that disk space is low in the "EFI" section. I clicked on it, and I found the disk analyzer with the EFI partition, but nothing is displayed because I'm not in administrator mode.

Anyway, my question is simple: how do I increase the storage space of my EFI file using Zorin or Windows 10?

Configuration: Linux Zorin OS

2 answers

  1. mamiemando Posted messages 33228 Registration date   Status Moderator Last intervention   7 940
     
    Hello,

    The EFI partition is a FAT32 (vfat) partition used to store the signatures of your different operating systems. When you boot into an operating system, if secure boot is enabled, your BIOS checks whether the signature of the operating system you are booting has a record. Since Windows is installed with secure boot, you cannot switch to legacy mode (in your BIOS) otherwise Windows will refuse to boot.

    First, start by reading this page to learn more about the EFI partition. According to the standard, the partition should be no larger than 200MB, but nowadays it is traditionally around 250MB and can potentially be larger. In short, I don't think there are any restrictions regarding size these days. Now, the real question is what is it for, and is this the right way to proceed.

    Indeed, I find it hard to believe that an EFI partition of say 250MB can be full with only 3 operating systems. I suspect there are signatures of systems that you have uninstalled and that no longer need to be signed in your EFI partition.

    For reference, here's what it looks like on my system with a dual boot of Debian + Windows 10:
    • My EFI partition is mounted at
      /boot/efi
      :


    (root@aldur) (~) # mount | grep vfat
    /dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
    • It is 256MB and is 12% full :


    (root@aldur) (~) # df -h | grep -i efi
    /dev/nvme0n1p1 256M 31M 226M 12% /boot/efi
    • Windows occupies about 27MB and Debian 4MB


    (root@aldur) (/boot/efi/EFI) # du --si --max-depth=1
    27M ./Microsoft
    1.6M ./Boot
    3.6M ./debian
    33M .
    • Here's what my debian subfolder contains:


    (root@aldur) (/boot/efi/EFI) # find debian/
    debian/
    debian/shimx64.efi
    debian/grubx64.efi
    debian/mmx64.efi
    debian/fbx64.efi
    debian/BOOTX64.CSV
    debian/grub.cfg


    It would be interesting to see the results of these different commands on your end. In my opinion, rather than resizing your EFI partition, it would be better to delete the signatures that are no longer useful.

    Good luck!
    0
  2. amine_b
     
    Well, first of all, thank you because among all the forums where I asked the question, you're the only one who replied.

    So to keep it short, I found the solution (which ended in disaster, but not entirely). I found a tutorial from a guy showing me how to create a new EFI partition, then delete the old one. During this process, I found that my EFI partition was 500 MB even though you said it should normally be 200 MB x) (yeah, you're right, I've installed dozens of OSs before these). I followed the procedure, restarted my PC, and everything was fine.

    I thought now that I have 1 GB of EFI partition, I would install Solus. After installation, I restart my PC, and nothing: GRUB error message, I open my PC's boot menu, and I find nothing but Windows 10. I boot into Windows to see what's going on, and to my great surprise, I find that my Zorin and Solus partitions are present. I concluded that the problem is Solus, and I reinstall Pop OS, hoping to get my GRUB and Zorin (my daily driver) back.

    I install Pop OS, restart, and there I find GRUB and Zorin, finally almost, because when I boot into Zorin, nothing, infinite loading screen. I go into Zorin's recovery mode, I repair all files and select "continue a normal boot," and there I find Zorin, but without my laptop screen lit up (I'm using a dual screen setup with my laptop + external monitor). I think it's not a big deal; I can do without the second screen. I turn off my PC, and the next day, I boot into Zorin (not in recovery mode) and nothing, as usual, infinite loading screen.

    I redo the steps from yesterday, recovery mode waits 1m30s for verification, and then, again, boot on my Zorin. I give up; I say I will just back up my /home and restore it in a freshly installed new Zorin. I install Zorin, initiate the backup, I have my entire home, but not my software, not my passwords... After a night of installation and intense reflection to remember my passwords, I have my new OS identical to the old one.

    Another day passes, and since I still haven't deleted the old Zorin that was still showing in GRUB, I accidentally clicked on it, and magically, I boot into my old Zorin without the infinite loading screen like yesterday, even though I didn't touch anything. Now I have two copies of the same OS xD

    OH Linux, my Linux, how I love you, and even with all the trouble I have with you, I will always use you. Team Linux for life (I need to create Rinoshield cases for me to stop breaking my Linux xD)
    0
    1. jns55
       
      Hi there!
      Wow! What a chunk of text! No wonder your EFI partition is overflowing!
      Just so you know, if you installed Pop!_OS in EFI mode, it wasn't going to restore your GRUB for the simple reason that Pop!_OS doesn't use GRUB like other distributions, but rather uses systemd-boot instead, which is a boot manager that works completely differently (it actually copies the kernel and initrd directly into the EFI partition!).
      Pop!_OS is not designed for a dual-boot installation with another Linux distribution.
      0
      1. mamiemando Posted messages 33228 Registration date   Status Moderator Last intervention   7 940 > jns55
         
        jns55: Thank you for the clarifications, I wasn't aware of these specifics.

        Amine: If I understood correctly, you managed to resize your EFI partition, which was the initial goal. Can we close this topic? A little recommendation: try to be more concise in your next messages, it will make communication easier.

        Good luck.
        0