将Windows 7 UEFI条目写入NVRAM

我目前正在研究一个脚本来映像我负责Windows 7的多个实验室机器,不幸的是,他们是UEFI戴尔机器,工作在一个愚蠢的方式。 在机器上,我使用Dell安装实用程序创build了映像,在Windows的启动菜单中有一个UEFI条目,它载入了/boot/Microsoft/bootx64.efi文件或一些相同的文件,当我启动它们,我得到了好的旧“无法启动设备发现错误”,当我进入戴尔设置实用程序没有Windows条目。 我可以手动添加一个条目,指向这个UEFI分区和启动文件,然后启动罚款和奇怪的启动添加另一个条目指向相同的文件下的典型名称“Windows启动pipe理器”或什么的NVRAM。 我一直在试图find一些方法来添加此NVRAM条目,而不必手动进入戴尔设置,因为我正在成像大量的机器,这只会使这个过程变得复杂。 我最初试图在成像完成后,链接加载grub引导程序来检测Windows安装并引导它,理论上将该条目添加到NVRAM本身,并阻止我有两个条目或不得不自己与机器交互。 我也一直无法find有关在Linux端直接添加条目到NVRAM的任何信息,这些信息将通过戴尔设置实用程序完成同样的事情。 有人对此有经验吗?

谢谢

引导管理器的操作在UEFI规范第3章中定义。

如果您可以编写UEFI应用程序并引导至UEFI shell并运行应用程序,则可以使用Runtime Service设置变量以创建BootOption并将BootOption的编号添加到BootOrder。 这是MS Bootloader在检测到没有为Windows定义的BootOption时正在执行的操作,这是在启动到Windows之后列表中有一个新条目。

不知道您的平台默认的启动顺序是什么,但默认情况下可以使用UEFI外壳程序启动到USB密钥,因为这是由于制造要求的默认配置。

查看sourceforge上关于tianocore的项目,以便更好地了解您要做什么。