EFI shell是否足够灵活,可以循环启动条目?

时间:2015-11-24 19:31:02

标签: uefi

我试图编写一个EFI shell脚本来删除所有引导条目(如bcfg dump boot中所示),而不知道有多少引导时间存在。

该语言提供了一个循环结构,从Microsoft的shell中模式化:

for var in <set>
   ...
endfor

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

1 个答案:

答案 0 :(得分:3)

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

在UEFI Shell脚本中唯一支持的解析方法是使用parse命令,该命令需要Standard-Format Output(它似乎是CSV)。不幸的是,通过使用SFO标志作为参数,只有7个命令可以生成-sfo。支持的命令包括:​​lsmapmemmapdatedhdevicesdrivers

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

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