grub2-efi install Could not prepare Boot variable No space left on device

Last upgrade to Tumbleweed is failing with:


**#** /usr/lib/bootloader/grub2-efi/install 
target = x86_64-efi 
+ /usr/sbin/grub2-install --target=x86_64-efi 
Installing for x86_64-efi platform. 
Could not prepare Boot variable: No space left on device 
/usr/sbin/grub2-install: error: efibootmgr failed to register the boot entry: In
put/output error.

However, drive space does not seem to be a problem:


**#** df 
Filesystem      1K-blocks      Used Available Use% Mounted on 
devtmpfs          8141056         8   8141048   1% /dev 
tmpfs             8157728         0   8157728   0% /dev/shm 
tmpfs             3263092      2220   3260872   1% /run 
tmpfs                4096         0      4096   0% /sys/fs/cgroup 
/dev/nvme0n1p3  122424644  79150844  41861348  66% / 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /boot/grub2/i386-pc 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /boot/grub2/x86_64-efi 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /opt 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /root 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /srv 
/dev/nvme0n1p1     511720      7936    503784   2% /boot/efi 
tmpfs             8157728      8500   8149228   1% /tmp 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /usr/local 
/dev/nvme0n1p3  122424644  79150844  41861348  66% /var 
/dev/sda1      1464422144 850324196 614097948  59% /home 
tmpfs             1631544       104   1631440   1% /run/user/1000

The “No space left on device” is probably about NVRAM space rather than about disk drive space.

What’s the output from

efibootmgr -v

**#** efibootmgr -v 
BootCurrent: 0001 
Timeout: 1 seconds 
BootOrder: 0001,0000,0009,000A,0004,0007,0003 
Boot0003  Hard Drive    BBS(HD,,0x0)..GO..NO.........S.A.M.S.U.N.G. .M.Z.V.P.V.
1.2.8.H.D.G.M.-.0.0.0.0.0.................J..Gd-.;.A..MQ..L.S.A.M.S.U.N.G. .M.Z.
V.P.V.1.2.8.H.D.G.M.-.0.0.0.0.0........BO..NO........O.W.D.C. .W.D.1.5.0.2.F.A.E
.X.-.0.0.7.B.A.0.................>..Gd-.;.A..MQ..L. . . . .W. .-.D.M.W.Y.A.3.0.4
.4.4.7.6.6........BO..NO........?.G.e.n.e.r.i.c. .U.l.t.r.a. .H.S.-.S.D./.M.M.C.
...................Gd-.;.A..MQ..L.F.1.2.0.A.6.0.0.5.9.0.2........BO..NOs.......?
.S.M.S.C. .2.2.3. .U. .H.S.-.C.F....................Gd-.;.A..MQ..L.0.0.0.2.2.3.2
.2.3.2.2.3........BO..NOs.......?.S.M.S.C. .2.2.3. .U. .H.S.-.M.S...............
.....Gd-.;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.3........BO..NOs.......?.S.M.S.C. .2.2
.3. .U. .H.S.-.S.M....................Gd-.;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.3....
....BO..NO{.......?.S.M.S.C. .2.2.3. .U. .H.S.-.S.D./.M.M.C....................G
d-.;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.3........BO..NO........G.L.e.x.a.r. .U.S.B. 
.F.l.a.s.h. .D.r.i.v.e.................6..Gd-.;.A..MQ..L.A.A.O.X.Q.F.C.F.Y.1.U.Z
.J.7.V.N........BO 
Boot0004  CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO........O.P.3.:. .A.S.U.S. . . . 
. .D.R.W.-.2.4.F.1.S.T. . . .a.................>..Gd-.;.A..MQ..L.1.S.K.0.8.6.D.E
.0.6.3.1.Q.P. . . . . . ........BO 
Boot0007  UEFI OS       PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-00-0
0-00-00-00-00-00)/HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x800,0xfa000)..
BO 
Boot0009* UEFI OS       HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x800,0xfa
000)/File(\EFI\BOOT\BOOTX64.EFI)..BO 
Boot000A* UEFI: (FAT) Lexar USB Flash Drive     PciRoot(0x0)/Pci(0x14,0x0)/USB(4
,0)/HD(1,MBR,0xc6d5645,0x800,0xee8800)..BO

It is odd that it lists 0001 and 0000 as the first two in boot order. But it fails to give the details of either.

If you are still able to get into the system, you can maybe try:

grub2-install --target=x86_64-efi --no-nvram --removable

That should not stress NVRAM (since it does not attempt to update that). It should update other boot files, and store the boot setup into the EFI partition where they can be accessed via that “UEFI OS” boot entry (entry 0007 or 0009).

Boot0003 looks terrible. Try to delete it.

I’m inclined to agree with that.

To delete, you could try:

efibootmgr -b 0003 -B

Done. Machine boots fine, so I guess error was not as critical as I had thought.

Strangely, deleting the “bad” entries only results in them reappearing with different Boot numbers


sudo efibootmgr -v 
[sudo] password for root:  
BootCurrent: 0000 
Timeout: 1 seconds 
BootOrder: 0000,0009,000A,000B,0007 
Boot0000* opensuse-secureboot   HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x
800,0xfa000)/File(\EFI\OPENSUSE\SHIM.EFI) 
Boot0007  UEFI OS       PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-00-0
0-00-00-00-00-00)/HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x800,0xfa000)..
BO 
Boot0009* UEFI OS       HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x800,0xfa
000)/File(\EFI\BOOT\BOOTX64.EFI)..BO 
Boot000A* opensuse      HD(1,GPT,96b5001c-1f66-47e1-908c-09d430a9e7ad,0x800,0xfa
000)/File(\EFI\OPENSUSE\GRUBX64.EFI)..BO 
Boot000B* UEFI: (FAT) Lexar USB Flash Drive     PciRoot(0x0)/Pci(0x14,0x0)/USB(4
,0)/HD(1,MBR,0xc6d5645,0x800,0xee8800)..BO 
Boot000C* Hard Drive    BBS(HD,,0x0)..GO..NO........G.L.e.x.a.r. .U.S.B. .F.l.a.
s.h. .D.r.i.v.e.................6..Gd-.;.A..MQ..L.A.A.O.X.Q.F.C.F.Y.1.U.Z.J.7.V.
N........BO..NO........?.G.e.n.e.r.i.c. .U.l.t.r.a. .H.S.-.S.D./.M.M.C..........
..........Gd-.;.A..MQ..L.F.1.2.0.A.6.0.0.5.9.0.2........BO..NOs.......?.S.M.S.C.
 .2.2.3. .U. .H.S.-.C.F....................Gd-.;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.
3........BO..NOs.......?.S.M.S.C. .2.2.3. .U. .H.S.-.M.S....................Gd-.
;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.3........BO..NOs.......?.S.M.S.C. .2.2.3. .U. .
H.S.-.S.M....................Gd-.;.A..MQ..L.0.0.0.2.2.3.2.2.3.2.2.3........BO..N
O{.......?.S.M.S.C. .2.2.3. .U. .H.S.-.S.D./.M.M.C....................Gd-.;.A..M
Q..L.0.0.0.2.2.3.2.2.3.2.2.3........BO..NO.........S.A.M.S.U.N.G. .M.Z.V.P.V.1.
2.8.H.D.G.M.-.0.0.0.0.0.................J..Gd-.;.A..MQ..L.S.A.M.S.U.N.G. .M.Z.V.
P.V.1.2.8.H.D.G.M.-.0.0.0.0.0........BO..NO........O.W.D.C. .W.D.1.5.0.2.F.A.E.X
.-.0.0.7.B.A.0.................>..Gd-.;.A..MQ..L. . . . .W. .-.D.M.W.Y.A.3.0.4.4
.4.7.6.6........BO 
Boot000D* CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO........O.A.S.U.S. . . . . .D.R.W
.-.2.4.F.1.S.T. . . .a.................>..Gd-.;.A..MQ..L.1.S.K.0.8.6.D.E.0.6.3.1
.Q.P. . . . . . ........BO

Motherboard is an ASUS Z97-E with the most current firmware if that matters.

I’m not surprised at that. I think the firmware generates those entries.

You can go into Yast Boot Loader. There’s an option to not set NVRAM values. If you select that option, it may avoid running into the same problem on future updates.

ILL firmware fault. Try to contact Asus support.