rhboot / efibootmgr

efibootmgr development tree
GNU General Public License v2.0
514 stars 97 forks source link

Could not set active state #186

Open crazygolem opened 1 year ago

crazygolem commented 1 year ago

When attempting set the active state of a boot entry, efibootmgr 18 returns an error indicating an invalid entry, even though the entry actually exists:

efibootmgr: Boot entry 1 not found Could not set active state for Boot0001: No such file or directory

The other operations I used, namely to delete and create boot entries, work as expected.

Downgrading to efibootmgr 17, setting the active state works again:

# efibootmgr --version; { sudo efibootmgr --bootnum 2 --active; sudo efibootmgr --bootnum 2 --inactive; } | grep Boot0002
version 17
Boot0002* Arch Linux (Fallback)
Boot0002  Arch Linux (Fallback)

... upgrading again to efibootmgr 18...

# efibootmgr --version; { sudo efibootmgr --bootnum 2 --active; sudo efibootmgr --bootnum 2 --inactive; } | grep Boot0002
version 18
efibootmgr: Boot entry 2 not found
Could not set active state for Boot0002: No such file or directory
efibootmgr: Boot entry 2 not found
Could not set active state for Boot0002: No such file or directory

As you have probably noticed, I'm not using a Red Hat distribution, but since the man page mentions to report bugs here I'm trying my luck. I found another similar report on the SteamOS repository: ValveSoftware/SteamOS#982, and as far as I know SteamOS is based on archlinux, so maybe it is specific to this family of distributions? Let me know if you need more information.

noahfriedman commented 1 year ago

Change 3eac27c5fccf93d2d6e634d6fe2a76d06708ec6e appears to fix this.

hardwareadictos commented 5 months ago

I'm having the same issue on OpenSUSE Tumbleweed:

localhost:/home/xxx # efibootmgr 
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0005,0001,0000,2001,2002
Boot0000* opensuse-secureboot HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\opensuse\shim.efi)
Boot0001* openSUSE HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\opensuse\grubx64.efi)RC
Boot0005* Windows Boot Manager  HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot2001* EFI USB Device RC
Boot2002* EFI Network RC
localhost:/home/xxx # efibootmgr -Ab 0005
efibootmgr: Boot entry 5 not found
Could not set active state for Boot0005: No such file or directory

Maybe that's being reproduced again? I'm totally unable to make any boot entry inactive/active.

BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0005,0001,0000,2001,2002
Boot0000* opensuse-secureboot HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\opensuse\shim.efi)
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 20 08 00 00 00 00 00 3b ec ba 84 5e 96 6f 4f ac b7 64 79 7f 17 56 b8 02 02 / 04 04 32 00 5c 00 45 00 46 00 49 00 5c 00 6f 00 70 00 65 00 6e 00 73 00 75 00 73 00 65 00 5c 00 73 00 68 00 69 00 6d 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
Boot0001* openSUSE HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\opensuse\grubx64.efi)RC
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 20 08 00 00 00 00 00 3b ec ba 84 5e 96 6f 4f ac b7 64 79 7f 17 56 b8 02 02 / 04 04 38 00 5c 00 45 00 46 00 49 00 5c 00 6f 00 70 00 65 00 6e 00 73 00 75 00 73 00 65 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
    data: 52 43
Boot0005* Windows Boot Manager  HD(1,GPT,84baec3b-965e-4f6f-acb7-64797f1756b8,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 20 08 00 00 00 00 00 3b ec ba 84 5e 96 6f 4f ac b7 64 79 7f 17 56 b8 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 69 00 63 00 72 00 6f 00 73 00 6f 00 66 00 74 00 5c 00 42 00 6f 00 6f 00 74 00 5c 00 62 00 6f 00 6f 00 74 00 6d 00 67 00 66 00 77 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
    data: 52 43
Boot2001* EFI USB Device RC
      dp: 7f ff 04 00
    data: 52 43
Boot2002* EFI Network RC
      dp: 7f ff 04 00
    data: 52 43
localhost:/home/xxxx # zypper info efibootmgr 
Loading repository data...
Reading installed packages...

Information for package efibootmgr:
-----------------------------------
Repository     : openSUSE-Tumbleweed-Oss
Name           : efibootmgr
Version        : 18-1.6
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 99.6 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : efibootmgr-18-1.6.src
Upstream URL   : https://github.com/rhinstaller/efibootmgr
Summary        : EFI Boot Manager
Description    : 
    The EFI Boot Manager allows the user to edit the Intel Extensible
    Firmware Interface (EFI) Boot Manager variables.  Additional
    information about the EFI can be found at
    <http://developer.intel.com/technology/efi/efi.htm>.