如何使用 gnu-efi 读取 EFI 分区的文件

How to read a file of the EFI partition using gnu-efi

我用的是 gnu-efi。
我不明白如何简单地读取文件。
我了解使用 BlockIOProtocol。

你能用一个简单的例子告诉我们吗?

我手头没有简单的例子,抱歉。但通常你会这样进行

  • EfiMain 中,您有一张 IMAGE_HANDLE 的已加载图像
  • 在图像句柄上使用 LOADED_IMAGE_PROTOCOL 获取从中加载此图像的设备的设备句柄(= EFI 分区)
  • 在设备句柄上使用 SIMPLE_FILE_SYSTEM_PROTOCOL 调用 OpenVolume,这将为您提供 EFI_FILE 文件系统根
  • 在根上调用 Open 以打开您的文件,并在结果句柄上调用 Read 以从中读取文件。
  • 之后不要忘记释放所有手柄。

希望这对您有所帮助。