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

如何使用gnu EFI读取EFI分区的文件,gnu,uefi,gnu-efi,Gnu,Uefi,Gnu Efi,我使用了gnu efi。 我不明白如何简单地读取文件。 我了解如何使用BlockIOProtocol 你能告诉我们一个简单的例子吗?对不起,我手边没有一个简单的例子。但总的来说,你是这样做的 在EfiMain中,您有一个加载图像的IMAGE\u句柄 在映像句柄上使用LOADED\u IMAGE\u PROTOCOL,获取从中加载映像的设备的设备句柄(=EFI分区) 在设备句柄上使用SIMPLE\u FILE\u SYSTEM\u PROTOCOL调用OpenVolume,这将为您提供文件系统根

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


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

对不起,我手边没有一个简单的例子。但总的来说,你是这样做的

  • EfiMain
    中,您有一个加载图像的
    IMAGE\u句柄
  • 在映像句柄上使用
    LOADED\u IMAGE\u PROTOCOL
    ,获取从中加载映像的设备的设备句柄(=EFI分区)
  • 在设备句柄上使用
    SIMPLE\u FILE\u SYSTEM\u PROTOCOL
    调用
    OpenVolume
    ,这将为您提供文件系统根目录的
    EFI\u文件
  • 在根目录上调用
    Open
    打开文件,并在结果句柄上调用
    Read
    从中读取文件
  • 之后别忘了松开所有手柄
希望这有帮助