4

I upgraded to 20.04 yesterday. I just noticed that in Ubuntu Software there is an update for Dell Inc. System Firmware, but my system does not have enough space to run the update.

enter image description here

Is there any way except by resizing the partition with gparted (or similar) to clean this location up from Ubuntu?

I want to keep the Windows partition.

enter image description here

With ls -alt /boot/efi/EFI/ubuntu/

total 4248
-rwxr-xr-x 1 root root     108 Mai  7 22:04 BOOTX64.CSV
-rwxr-xr-x 1 root root     117 Mai  7 22:04 grub.cfg
-rwxr-xr-x 1 root root 1677176 Mai  7 22:04 grubx64.efi
-rwxr-xr-x 1 root root 1269496 Mai  7 22:04 mmx64.efi
-rwxr-xr-x 1 root root 1334816 Mai  7 22:04 shimx64.efi
drwxr-xr-x 6 root root    1024 Feb 18 18:45 ..
drwxr-xr-x 3 root root    1024 Jan 15 19:26 .
drwxr-xr-x 2 root root    1024 Jan 15 19:26 fw
-rwxr-xr-x 1 root root   61833 Nov 13 19:46 fwupdx64.efi

In the fw folder

-rwxr-xr-x 1 root root 11500365 Jan 15 19:26 fwupd-33773727-8ee7-4d81-9fa0-57e8d889e1fa.cap
-rwxr-xr-x 1 root root    57218 Jan 15 19:26 fwupd-3b8c8162-188c-46a4-aec9-be43f1d65697.cap

In the Dell folders

drwxr-xr-x 4 root root 1024 Feb 18 18:45 .
drwxr-xr-x 6 root root 1024 Feb 18 18:45 ..
drwxr-xr-x 2 root root 6144 Feb 18 18:45 logs
drwxr-xr-x 3 root root 1024 Dez 10 11:55 Bios

ls -alt /boot/efi/EFI/Dell/Bios/

total 3
drwxr-xr-x 4 root root 1024 Feb 18 18:45 ..
drwxr-xr-x 3 root root 1024 Dez 10 11:55 .
drwxr-xr-x 2 root root 1024 Dez 10 11:55 Recovery

ls -alt /boot/efi/EFI/Dell/Bios/Recovery/

total 21288
drwxr-xr-x 2 root root     1024 Dez 10 11:55 .
drwxr-xr-x 3 root root     1024 Dez 10 11:55 ..
-rwxr-xr-x 1 root root 10874905 Dez 10 11:55 BIOS_CUR.RCV
-rwxr-xr-x 1 root root 10920235 Jun  6  2019 BIOS_PRE.rcv
6
  • Just a couple of thoughts. What is in the fw directory? What is in the dell directory? Is there any thing there that looks like old firmware that could be moved to another location. – PonJar May 8 '20 at 22:22
  • @PonJar I've updated the question. It doesn't look like anything can be removed, as far as I can see. – Mchl May 9 '20 at 12:26
  • Stephen Daddona’s answer may enable you to install the update but I don’t think the system will boot like that. However it may be that after the update the space required is within the capacity of your EFI partition so it could be returned to normal. This is just wishful thinking though. Does the update bring anything useful? Alternatively the first answer in the following link describes the process to get a bigger EFI partition. Seems you have to make space, delete the old one, and create a new larger one. superuser.com/questions/1230741/… – PonJar May 9 '20 at 16:43
  • @PonJar thanks, that seems to involve using gparted or similar, which I will do if need be, but I was looking for a solution that didn't require that. I suppose it's not possible. – Mchl May 9 '20 at 17:40
  • 1
    Bit of a long shot. How many HDD/SDD/etc do you have in this machine? I have a desktop with two storage devices. Both have an EFI partition. One is untouched since the original Windows install. The other has the stuff to boot Linux and a copy of the stuff to boot Windows. This device boots first, I get to choose Linux and the family can go Windows. Apart from a simple copy of the Windows folder I never touched the original EFI. So if you have a second device you could create a larger EFI and never touch the original. Probably doesn’t fit your scenario but thought I’d mention it in case. – PonJar May 9 '20 at 20:40
3

Update:

I followed these steps and it's a better way of doing it than moving fonts manually.

apt update && sudo apt upgrade -y
service fwupd start
fwupdmgr refresh
fwupdmgr update

Original comment: In my case I resolved it by simply finding some (probably) unimportant files and moving them to a backup folder outside of /boot/efi. For example, the boot-repair/log files came to around 3 MB, and some of the /EFI/Microsoft/Boot files had folders for languages I would probably never need. This allowed me just enough space to perform the update.

The only problem was that on power up it went straight to Windows, without giving me the grub menu after the BIOS screen. I resolved that, in Windows, by opening a command prompt as system admin, then running

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

But I'm sure you're aware of all the warnings, so be careful to do any backups before this.

2
  • 1
    I also fixed it with moving some of the EFI/Microsoft/Boot languages and fonts. I can't recommend this, because moving the files back is cumbersome due to FAT ownership problems. But it still all works properly (besides Windows boot does not have text anymore ..duh). – JacksOnF1re Mar 15 at 11:55
  • @JacksOnF1re I found a better way of doing it. I've updated the answer. – Mchl Apr 10 at 19:05
1

Move all the contents of the directory that is too small to a directory on another partition or hard drive where there is room. Then mount that directory into the parent directory of the one that was too small.

2
  • This link should help serverfault.com/questions/67038/… – user573739 May 8 '20 at 23:05
  • I’m not sure this is a permanent solution. It should allow you to install the firmware but presumably it needs to be in the EFI partition at boot time before any mount can be re-establisded. Perhaps the mount could be replaced with hard links once installed. Hopefully others will advise – PonJar May 9 '20 at 8:45
0

If you have both Windows and Ubuntu OSs, which is probably the case here then in Ubuntu

  1. Open the terminal and go to power bash sudo bash
  2. Move the Microsoft folder to another drive mv /boot/efi/EFI/Microsoft /home
  3. Run the upgrade and restart as required. It will have enough space now as Microsoft folder is about 14 MB +
  4. Move back the Microsoft folder, run sudo bash and mv /home/Microsoft /boot/efi/EFI
  5. 😊

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.