1 EFI文件系统现状
无论是EDK还是最新的EDKII,都只支持FAT,并没有对LINUX系统原生态文件系统EXT进行支持。我刚写了EXT驱动没多长时间,趁着没有忘记,就把整个过程写下来,俗话说的好,好记性不如赖笔头。
2 EXT文件系统结构
我们来看一张图:
上面的图为一个磁盘分区的结构。
最起始的部分是BootBlock,固定占有1024字节,只是磁盘厂商传承下来的产物,对于我们的文件系统来说并无帮助。
Block Group,EXT为了便于管理磁盘,便将磁盘划分为不同的块组。因为操作系统不是以扇区为单位进行磁盘读取,而是以逻辑块为基本单位进行读取,在BITMAP中每一个BIT代表一个逻辑块,所以可以将逻辑块乘以8组成一个块组。这样就方便了磁盘管理和读取。
SuperBlock,占有1024字节,磁盘格式化后,便维护着这样一个结构。这个结构特别重要,它指示了整个文件系统的Block和Inode的大小、Block和Inode的数量、Block和Ino