在Linux操作系统中,每个文件系统都必须有一个超级块。所谓超级块就是不普通的块,特别的块,其英文为SuperBlock。
Ext2文件系统自然也不例外,在该文件系统开头的地方也有一个超级块,具体如图所示。Ext2文件系统的超级块位于磁盘开始偏移1KB的位置,其尾部与4KB对齐。

Ext2超级块概述
Ext2文件系统的超级块是对文件系统整体属性的描述,包括文件系统inode总量、磁盘块总量、inode使用情况、文件系统特性和挂载时间等等。

超级块也是文件系统的入口。我们知道磁盘在使用之前必须进行格式化,然后挂载到本地目录树。这里挂载的过程就是要从磁盘读取超级块,并进行关键数据结构初始化的过程。超级块成员很多,下一小节我们详细描述每个成员的作用。
格式化为Ext2文件系统的磁盘,可以通过dumpe2fs命令查看其文件系统的信息,包括超级块和块组的信息。也可以通过dd命令将数据导出到文件中,然后通过vim工具查看(磁盘原始数据格式)。
超级块成员详解
上面简单介绍了一下Ext2文件系统的超级块。超级块的成员很多,本节详细介绍一个超级块各个成员的含义。本文基于Linux5.2版本的内核,其它版本的内核可能略有差异。在解释的过程中可能涉及磁盘数据对示
在Linux操作系统中,每个文件系统都有一个超级块,Ext2文件系统的超级块位于磁盘开始偏移1KB的位置,包含了文件系统整体属性的描述,如inode总量、磁盘块总量、挂载时间等。超级块是文件系统的入口,挂载过程会读取超级块并初始化关键数据结构。此外,文章详细介绍了超级块的各项成员及其作用,例如`s_inodes_count`、`s_blocks_count`等。
订阅专栏 解锁全文
4163





