[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



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

Guarantee what? 

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

> efibootmgr. Calling that command line again with extra "-v" will print
> more information, maybe.

grub-install: info: reading /usr/lib/grub/x86_64-efi/fshelp.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/ext2.mod.
grub-install: info: reading /usr/lib/grub/x86_64-efi/part_gpt.mod.
grub-install: info: kernel_img=0x578852d0, kernel_size=0x18a00.
grub-install: info: the core size is 0x1c940.
grub-install: info: writing 0x1dc00 bytes.
grub-install: info: copying `/boot/grub/x86_64-efi/core.efi' -> `/boot/efi/EFI/debian/grubx64.efi'.
grub-install: info: Registering with EFI: distributor = `debian', path = `\EFI\debian\grubx64.efi', ESP at hd0,gpt2.
grub-install: info: executing efibootmgr --version </dev/null >/dev/null.
grub-core/kern/disk.c:295: Closing `hd0'.
grub-install: info: executing modprobe -q efivars.
grub-core/kern/disk.c:295: Closing `hd0'.
grub-core/kern/disk.c:295: Closing `hd0'.
grub-install: info: executing efibootmgr -c -d /dev/sda -p 2 -w -L debian -l \EFI\debian\grubx64.efi.
grub-core/kern/disk.c:295: Closing `hd0'.
Could not prepare Boot variable: No space left on device

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

Could You assume that there are some sort of software bug?

Here is series of commands and results:

efibootmgr
BootCurrent: 000E
Timeout: 1 seconds
BootOrder: 000E,0010,0011,0005,0012,0008,0009
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device
Boot000E* HL-DT-ST DVD-RAM GHB0N
Boot0010* ST1000DX001-1CM162
Boot0011* StoreJetTranscend
Boot0012* UEFI: StoreJetTranscend


efibootmgr -B -b 0012
Could not delete variable: No space left on device

efibootmgr -B -b 0011
BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device
Boot000E* HL-DT-ST DVD-RAM GHB0N
Boot0010* ST1000DX001-1CM162

efibootmgr -B -b 0010
BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device
Boot000E* HL-DT-ST DVD-RAM GHB0N

efibootmgr -o 000E,0005,0008,0009
Could not set BootOrder: No space left on devic

BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device
Boot000E* HL-DT-ST DVD-RAM GHB0N

efibootmgr -B -b 000E
BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device

efibootmgr -o 0005,0008,0009
Could not set BootOrder: No space left on device

efibootmgr
BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device

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

efibootmgr
BootCurrent: 000E
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery
Boot0005* Windows Boot Manager
Boot0008* Generic Usb Device
Boot0009* CD/DVD Device

So, You can see: it can delete an entry, but cannot add.

###  Vladimir Stavrinov  ###


Reply to: