2

我正在尝试编写一个 EFI shell 脚本来删除所有引导条目(如 中给出的bcfg dump boot),而不知道提前存在多少。

该语言提供了一个循环结构,以微软的 shell 为模式:

for var in <set>
   ...
endfor

...但我不清楚是否有一种合理的方法可以将引导条目的数字标识符bcfg dump<set>.

4

1 回答 1

3

目前(UEFI Shell v2.1 和 UEFI v2.50)无法bcfg使用 UEFI Shell 解析输出。

UEFI Shell 脚本中唯一支持的解析方法是使用parse命令,这需要Standard-Format Output(它似乎是 CSV)。SFO不幸的是,使用-sfoflag 作为参数只能生成 7 个命令。支持的命令有:ls, map, memmap, date, dh, devices, drivers.

可以通过编写模仿bcfg行为的简单 C 应用程序来删除所有引导选项。我设法做到了,示例代码可以在这里找到。

请注意,在某些情况下,删除所有引导选项可能很危险,并可能导致硬件状态不可恢复。确保你知道你在做什么。

于 2015-12-13T00:27:16.633 回答