rhboot / efibootmgr

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

version 18 too much detail #169

Open jeffm999 opened 2 years ago

jeffm999 commented 2 years ago

I run efibootmgr version 17 at bash command line and it prints a simple list of boot options , eg. > efibootmgr BootCurrent: 0000 Timeout: 1 BootOrder: 0000,0001,000B,0006,0004,000C Boot0000 GRUB Boot0001 Windows Boot0004 Hard Boot0006 Windows Boot000B Hard Boot000C CD/DVD

now version 18 prints a very detailed list : > efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001,000B,0006,0004,000C Boot0000 GRUB HD(1,GPT,d7f326dc-72f8-45a5-a3b1-9717fb74fa28,0x800,0x32000)/File(\EFI\GRUB\GRUBX64.EFI) Boot0001 Windows Boot Manager HD(1,GPT,d7f326dc-72f8-45a5-a3b1-9717fb74fa28,0x800,0x32000)/File(\EFI\ARCHLINUX\GRUBX64.EFI)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d0000004d000100000010000000040000007fff0400 Boot0004 Hard Drive VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)0000474f Boot0006 Windows Boot Manager HD(1,GPT,d7f326dc-72f8-45a5-a3b1-9717fb74fa28,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)0000424f Boot000B Hard Drive BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)0000474f00004e4fe5000000010000009d00530041004d00530055004e00470020004d005a0056004c004200350031003200480042004a0051002d003000300030004c0032000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600000301010600000003171000010000000025388a91b419007fff040001044a00ef47642dc93ba041ac194d51d01b4ce6530041004d00530055004e00470020004d005a0056004c004200350031003200480042004a0051002d003000300030004c00320000007fff04000000424f00004e4fc9000000010000008f00530061006d00730075006e0067002000530053004400200039003800300020003100540042000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600001c0101060000000317100001000000002538d811b4007c7fff040001043c00ef47642dc93ba041ac194d51d01b4ce6530061006d00730075006e00670020005300530044002000390038003000200031005400420000007fff04000000424f00004e4fbd00000001000000850053005400340030003000300044004d003000300030002d003100460032003100360038000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600021f03120a000000ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce6200020002000200020002000200020002000200020002000330053003000300038004c003500340000007fff04000000424f00004e4fbf00000001000000850054004f005300480049004200410020004d004700300034004100430041003400300030004e000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600021f03120a000200ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce620002000200020002000200020002000360036003900490033004b005a0043005600460043004c0000007fff04000000424f00004e4fbd00000001000000850053005400340030003000300044004d003000300030002d003100460032003100360038000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600021f03120a000300ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce62000200020002000200020002000200020002000200020003300530030003000480038003700460000007fff04000000424f Boot000C CD/DVD Drive BBS(CDROM,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0300)0000474f00004e4fbd000000010000008500410053005500530020002000200020004400520057002d003200340042003500530054000000050109000300000000010416008b12e85cec2cf040837280640e3dc85803007fff040002010c00d041030a0000000001010600041103120a000300ffff00007fff040001043e00ef47642dc93ba041ac194d51d01b4ce635004300300044004c0043003000300030003400340030002000200020002000200020002000200000007fff04000000424f

I think it would be good if v18 default was same as v17 ?

-u option trims output down a bit, maybe add a -s option for 'simple' output, or just revert default to same as v17

rgds

gentoo-root commented 2 years ago

Commit https://github.com/rhboot/efibootmgr/commit/8ec3e9dedb3cb62f19847794012420b90f475398 changed the output format intentionally. This change broke my script that parsed the output to find existing entries by name. @vathpela, could you revert this change?

  1. Scripts that parse the output broke, because the format changed.
  2. There is not even an option to go back to the old format.
  3. The new format can't be reliably parsed. Even though the device path comes after a tab character, it's not guaranteed to be printed, so the script can't just throw away everything after the last tab. If the entry name contains a tab, and efidp_format_device_path fails, the parser will misinterpret part of the name as the device path.
mrsteve0924 commented 1 year ago

I'm just noticing this behavior as well with version 18. I hope they go back to the format from version 17.

jeffm999 commented 1 year ago

Just for anyone who is looking for a workaround since it looks like v18 will not be updated, you can use awk in an alias , or script to replicate the v17 printout :

alias ebm='awk -F"HD|BBS|Ven" "{print \$1}" <(efibootmgr -u)'

Depending on your system, it might be necessary to add other awk -F delimiters.

rgds

petr-janda commented 1 year ago

Hi, it actually prevents installation on certain hardware https://bugzilla.redhat.com/show_bug.cgi?id=2148480