我正在尝试编写一个 EFI shell 脚本来删除所有引导条目(如 中给出的bcfg dump boot
),而不知道提前存在多少。
该语言提供了一个循环结构,以微软的 shell 为模式:
for var in <set>
...
endfor
...但我不清楚是否有一种合理的方法可以将引导条目的数字标识符bcfg dump
从<set>
.
我正在尝试编写一个 EFI shell 脚本来删除所有引导条目(如 中给出的bcfg dump boot
),而不知道提前存在多少。
该语言提供了一个循环结构,以微软的 shell 为模式:
for var in <set>
...
endfor
...但我不清楚是否有一种合理的方法可以将引导条目的数字标识符bcfg dump
从<set>
.
目前(UEFI Shell v2.1 和 UEFI v2.50)无法bcfg
使用 UEFI Shell 解析输出。
UEFI Shell 脚本中唯一支持的解析方法是使用parse
命令,这需要Standard-Format Output
(它似乎是 CSV)。SFO
不幸的是,使用-sfo
flag 作为参数只能生成 7 个命令。支持的命令有:ls
, map
, memmap
, date
, dh
, devices
, drivers
.
可以通过编写模仿bcfg行为的简单 C 应用程序来删除所有引导选项。我设法做到了,示例代码可以在这里找到。
请注意,在某些情况下,删除所有引导选项可能很危险,并可能导致硬件状态不可恢复。确保你知道你在做什么。