Bug#845023: efibootmgr: Could not prepare Boot variable: No space left on device
On Sun, Nov 20, 2016 at 06:03:29PM +0300, Vladimir Stavrinov wrote:
>On Sat, Nov 19, 2016 at 09:03:17PM +0000, Steve McIntyre wrote:
>> That's not a guarantee - a simple update of the EFI variables (e.g. by
>> afterwards. There have been known bugs in some firmware
>Again: this problem is result of Debian upgrade.That is, software was
>changed and no changes was made in hardware. Do You think if Linux
>doesn't work on that hardware, then hardware is wrong? In this case
>I am wonder how do Linux are working for few decades all over the
Based on experience of UEFI, I'm trying to explain where the problem
is likely to be. But you're continuing to disagree with me.
>> >From experience with other Lenovo machines, you *may* be able to fix
>> this by re-flashing the firmware/BIOS - this typically resets the EFI
>> variable storage space.
>Why it is about storage space again? Nothing changed there. Moreover,
>this "buggy" firmware successfully booted from other media, such as
>flash drive or usb hard drive. But there no efibootmgr command was
>used. Nothing was written into variable space in this case - efi
>loader was found by firmware without any record being made into that
>Could You assume that there are some sort of software bug?
Let me explain again.
This code is working absolutely fine on lots of machines every day. It
worked fine on your machine until recently. There have not been major
changes in what the software does. There are known example of UEFI
firmware in the wild that have demonstrated a problem with managing
EFI variable space when writing new variables. I believe that's what
your problem is, and I've not seen anything new in what you've
demonstrated that suggest any different.
Over time, things *have* changed in terms of storage space on your
machine - *every* time that grub-install calls efibootmgr to update
the registered boot path, that will cause a write to the variable
storage space. Merely booting from that path, or from any other media,
does not involve writing any changes. efibootmgr itself is not at
fault here as far as I can see - it's simply reporting an error when
trying to write a new EFI variable.
If you want to confirm that, you try booting an old version of Debian
(or another OS) and see if different versions of the UEFI software
stack report the same issue.
Steve McIntyre, Cambridge, UK. email@example.com
"I used to be the first kid on the block wanting a cranial implant,
now I want to be the first with a cranial firewall. " -- Charlie Stross