[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#845023: efibootmgr: Could not prepare Boot variable: No space left on device



Control: severity -1 important

[ Please CC the bug report address 845023@bug.debian.org so other
  people can follow this conversation too... ]

On Sat, Nov 19, 2016 at 08:08:58PM +0300, Vladimir Stavrinov wrote:
>On Sat, Nov 19, 2016 at 03:55:43PM +0000, Steve McIntyre wrote:
>
>> It's quite likely not a problem with the ESP on /boot/efi, but maybe a
>> problem with the variable storage space on your computer. What make
>
>No, nothing changed there since it was working: the same hardware in
>the same configuration. The problem appeared in some point of Debian
>upgrade a mounth ago. This EFI setup was working without problem for
>more then 2 years under continuous upgrading of Debian sid

That's not a guarantee - a simple update of the EFI variables (e.g. by
running grub-install and efibootmgr) may need the firmware to write a
new copy of variable space, then clean up the old space
afterwards. There have been known bugs in some firmware
implementations here, I'm afraid. See [1] and [2] for examples.

[1] https://womble.decadent.org.uk/blog/the-terrible-state-of-efi-variable-storage.html
[2] https://mjg59.dreamwidth.org/25091.html

>> and model are you using?
>
>It is Lenovo H530:
>
>http://shop.lenovo.com/gb/en/desktops/lenovo/h-series/h530/
>
>>   efibootmgr -c -L debian -l \EFI\debian\grubx64.efi
>
>No difference - the same result. Moreover the very short command
>emits the same error:
>
>efibootmgr -c
>Could not prepare Boot variable: No space left on device
>
>So again: it is not about space. This is some sort of bug of
>interaction with hardware.
>
>> grub-install -v will show you exactly what commands grub is trying to
>> use.
>
>grub-install: info: executing efibootmgr -c -d /dev/sda -p 2 -w -L debian -l \EFI\debian\grubx64.efi.
>Could not prepare Boot variable: No space left on device
>Installation finished. No error reported.

OK, that error comes from exactly the code I'm reading in
efibootmgr. Calling that command line again with extra "-v" will print
more information, maybe.

>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.

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
< Aardvark> I dislike C++ to start with. C++11 just seems to be
            handing rope-creating factories for users to hang multiple
            instances of themselves.


Reply to: