文章目录
第七章 硬盘和文件系统
7.1 GPT硬盘
7.1.1 基于MBR分区的传统硬盘
7.1.2 GPT硬盘详解
7.2 设备路径
7.3 硬盘相关的Protocol
7.3.1 BlockIo解析
7.3.2 BlockIo2解析
7.3.3 DiskIo解析
7.3.4 DiskIo2解析
7.3.5 PassThrough解析
7.4 文件系统
7.5 文件操作
7.5.1 打开文件
7.5.2 读文件
7.5.3 写文件
7.5.4 关闭文件(句柄)
7.5.5 其他文件操作
7.5.6 异步文件操作
7.5.7 EFI_SHELL_PROTOCOL中的文件操作
7.6 总结
本章节介绍了GPT硬盘的格式。相对比传统的硬盘,GPT硬盘有如下优点:
1)使用64bit地址,有更大的容量。
2)最多可以有128个分区。
3)备份分区表,容错能力强。
硬盘是一种块设备,利用BlockIo可以读取硬盘扇区,利用DiskIo可以读取分区内容。在DiskIo的基础之上是文件系统。UEFI内置了对FAT文件系统的支持。利用SIMPLE FILE SYSTEM PROTOCOL可以操作FAT分区上的文件系统。FAT文件系统之上是EFI_FILE_PROTOCOL。还讲述了EFI_FILE_PROTOCOL读写文件的方法。此外,还讲述了EFI_SHELL_PROTOCOL对文件操作的服务。