如何使用 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
以从中读取文件。
- 之后不要忘记释放所有手柄。
希望这对您有所帮助。
我用的是 gnu-efi。
我不明白如何简单地读取文件。
我了解使用 BlockIOProtocol。
你能用一个简单的例子告诉我们吗?
我手头没有简单的例子,抱歉。但通常你会这样进行
- 在
EfiMain
中,您有一张IMAGE_HANDLE
的已加载图像 - 在图像句柄上使用
LOADED_IMAGE_PROTOCOL
获取从中加载此图像的设备的设备句柄(= EFI 分区) - 在设备句柄上使用
SIMPLE_FILE_SYSTEM_PROTOCOL
调用OpenVolume
,这将为您提供EFI_FILE
文件系统根 - 在根上调用
Open
以打开您的文件,并在结果句柄上调用Read
以从中读取文件。 - 之后不要忘记释放所有手柄。
希望这对您有所帮助。