Linux inode 之我见

时间:2023-03-10 07:02:45
Linux inode 之我见

Linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号

硬盘盘片为圆形,每个硬盘盘片都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track)。硬盘内所有盘片的相同磁道号的集合成为磁柱(Cylinder)。每一磁道被划分成许多区域,每个区域叫一个扇区(Sector)硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。block的大小在格式化分区的时候就确定了。

硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。此时, inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。

关于block

• SuperBlock:如前所述, Superblock 是记录整个 filesystem 相关信息的地方, 没有 Superblock ,就没有这个 filesystem 了。他记录的信息主要有:
  o block 与 inode 的总量;
  o 未使用与已使用的 inode / block 数量;
  o 一个 block 与一个 inode 的大小;
  o filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
  o 一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。
• Group Description:纪录此 block 由由何处开始记录;
• Block bitmap:此处记录那个 block 有没有被使用;
• Inode bitmap:此处记录那个 inode 有没有被使用;
• Inode table:为每个 inode 数据存放区;
• Data Blocks:为每个 block 数据存放区。

inode包含文件的元信息,具体来说有以下内容:

  * 文件的字节数
  * 文件拥有者的User ID
  * 文件的Group ID
  * 文件的读、写、执行权限
  * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
  * 链接数,即有多少文件名指向这个inode
  * 文件数据block的位置

eg:

6816307 -rw-r--r-- 1 workherd root 1073741824 Sep 10 11:22 test1126

File: `test1126'
Size: 1073741824 Blocks: 2097160 IO Block: 4096 regular file
Device: 802h/2050d Inode: 6816307 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ workherd) Gid: ( 0/ root)
Access: 2017-09-10 11:22:08.607120512 +0800
Modify: 2017-09-10 11:22:19.665120370 +0800
Change: 2017-09-10 11:28:02.053153370 +0800

inode 要记录的数据非常多,但偏偏又只有 128bytes 而已, 而 inode 记录一个 block 号码要花掉 4byte。 inode 记录 block 号码的区域定义为12个直接,一个间接, 一个双间接与一个三间接记录区。 12 个直接指向 block 号码的对照,这 12 笔记录就能够直接取得 block 号码啦! 至于所谓的间接就是再拿一个 block 来当作记录 block 号码的记录区,如果文件太大时, 就会使用间接的 block 来记录编号。如果文件持续长大,那么就会利用所谓的双间接,第一个 block 仅再指出下一个记录编号的 block 在哪里, 实际记录的在第二个 block 当中。依此类推,三间接就是利用第三层 block 来记录编号。

inode 本身并不纪录文件名,而是记录档案的相关属性,至于文件名则是记录在目录所属的 block 区域。所以当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在 inode , 再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode , 最后在经由 inode 内提供的 block 指向,而取得最终的档案内容。读取 /etc/crontab 的流程为:
1. 操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;
2. 根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个 Block 当中,并前往该 block 读取档案的关连性内容;
3. 由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;
4. 由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。

Linux通过文件元信息中的Blocks和Size参数就能定位文件在磁盘的位置了

可使用命令dumpe2fs /dev/sda1 查看分析信息

磁盘信息示例
Filesystem volume name:   <none>
Last mounted on: /
Filesystem UUID: 66b58b73-59ce-41ba-af77-5de77824f4bf
Filesystem magic number: 0xEF53
Filesystem revision #: (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
Reserved GDT blocks:
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Flex block group size:
Filesystem created: Wed Jun ::
Last mount time: Sun Aug ::
Last write time: Wed Jun ::
Mount count:
Maximum mount count: -
Last checked: Wed Jun ::
Check interval: (<none>)
Lifetime writes: GB
Reserved blocks uid: (user root)
Reserved blocks gid: (group root)
First inode:
Inode size:
Required extra isize:
Desired extra isize:
Journal inode:
First orphan inode:
Default directory hash: half_md4
Directory Hash Seed: fc4e3a8c-8a9a---10a6d880e11d
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 128M
Journal length:
Journal sequence: 0x0047b425
Journal start: Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x8cdb, unused inodes
Primary superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x8896, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x450c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -, -, -, -, -, -, -, -, -, -, -, -, -, -, , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90df, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x33a6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, , -,
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb3de, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7131, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x139f, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0705, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7e07, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x488e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd5a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbd33, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf752, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x50b0, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xef1f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa577, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf9f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x589d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf846, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a42, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xfa99, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa520, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x134d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb79d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc3b6, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa39a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc203, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb4f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x142c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb542, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1599, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x304d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x84a8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x25c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90af, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x2719, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x87c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x26ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe290, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcac6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6a1d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcb73, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6ba8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc9ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6977, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc819, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x68c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x435b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3aec, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbeb1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1e6a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbc6e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1cb5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbddb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3637, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4ed4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x190b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb865, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x283f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5ecb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1a61, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbb0f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1bd4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a3a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x06be, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90d2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x070b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa50f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x05d4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa4ba, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0461, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa0b1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x006a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa104, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x01df, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa3db, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0300, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa26e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x02b5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x292c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x509b, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd4c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x741d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd619, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x76c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd7ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7777, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd3a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x737c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd212, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x72c9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd0cd, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7016, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd178, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x71a3, unused inodes
Block bitmap at (+), Inode bitm
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x792e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x35a2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x41fc, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe127, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4323, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe3f8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4296, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe24d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x469d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe646, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4728, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe7f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x45f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe52c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Checksum 0x799d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb86a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbdc9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x952e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd6b8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x231a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0e65, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xaebe, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at -

透过这些记录,我们可以很轻易的就知道哪些 inode 没有被使用,哪些 block 还可以记录