1

我有一个 UEFI 程序,它需要来自它启动的同一介质中的其他文件。这在从磁盘或 USB 启动时工作正常;我可以通过从传递给 的句柄中请求EFI_DEVICE_PATH_PROTOCOL(as )来获取程序本身的设备路径,然后在最后修改路径元素以查找其他文件。EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOLefi_main

然而,当通过 PXE 加载时,我得到的设备路径仅包含以太网适配器和 IP 协议的路径:

PciRoot(0x0)/Pci(0x14,0x0)/Pci(0x0,0x0)/MAC(...,0x1)/IPv4(0.0.0.0)

句柄只有附有,前者的EFI_LOADED_IMAGE_PROTOCOL成员是空的路径。EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOLFilePath

  • 此时我是否仍有 IP 配置,还是已将其丢弃?
  • 我可以找出当前可执行文件的加载位置吗?
  • 我可以用其他方式表达“相对于当前的可执行文件”吗?

原则上我也可以重复 PXE 引导,但是 PXE 菜单可能包含多个 TFTP 服务器用于不同的操作系统安装,所以

  • 我可以恢复“活动”PXE 菜单项吗?
4

0 回答 0