EXT4文件系统结构分析
一、实验目的:
掌握文件系统的工作机理;理解文件系统的主要数据结构;学习较为复杂的Linux下的编程;了解EXT4文件系统的结构。
二、实验平台:
虚拟机:VMWare9
操作系统:Ubuntu12.04
文件系统:EXT4
编辑器:Gedit | Vi
二、check_ext4fs运行说明
解压命令(解压到指定文件夹)
tar -zxvf test.tar.gz -C ~/my_dirtory
该程序是一个ext4文件系统查看器.可以打开镜像文件及硬盘设备文件查看具体的文件系统结构信息,如超级块,块组信息,文件inode。
1、查看主硬盘设备名、挂载目录及文件系统信息
可查出是ext4文件系统,说明可以运行本程序;主硬盘对应/dev/sda1文件;挂载目录为根目录/。
2、程序编译
进入check_ext4fs目录,输入 make clean; make
编译程序,生成check_ext4fs程序:
3、程序运行
#./check_ext4fs /dev/sda1
成功运行程序进入命令输入状态。
4、命令使用
共有以下命令:
info sb 查看超级块信息
info inode num 查看序号为num的inode信息
info groups [start, end] 查看inode组描述
quit 退出
三、dumpe2fs命令说明
1、命令名称
dumpe2fs – 显示ext2/ext3/ext4文件系统信息。
2、dumpe2fs命令语法
dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
3、dumpe2fs命令描述
显示device中文件系统的超级块和块组信息。
4、dumpe2fs常用命令选项
选项 描述
-b 打印文件系统中的坏块
-o 不常用,检查严重损坏文件系统时指定
-f 强制显示所有信息,即便dumpe2fs对有些文件系统功能标识不能识别。
- i 显示image文件系统信息。device指定image文件的路径
-h 只显示超级块信息
-x 将已分组的块的数量用十六进制显示
-v 显示dumpe2fs的版本号并推出
三、实验内容:
(1)该实验要求编写程序,完成以下功能(注意保存截图):
获取ext4文件系统超级块,并显示超级块数据结构在这里插入图片描述
ext4_super_block的字段信息;
获取块组描述符表,并能根据输入的块组号显示该块组描述符ext4_group_desc的字段信息;
获取索引节点表,并能根据输入的索引节点号(比如根目录文件的索引节点号是2),显示其索引节点数据结构ext4_inode的字段信息。
(2)分析上述实验代码,回答下列问题:
大小(单位用字节):逻辑块、超级块ext4_super_block、组描述符ext4_group_desc、索引节点ext4_inode;
逻辑块:209702
超级块:4194048
组描述符:4096
索引节点:1048576
个数及位置:块组0中组描述符占用的块数及所占块号、inode个数及inode表占用的块数、块位图block bitmap占用块数及所在块号、索引节点位图inode bitmap占用块数及所在块号;
验证:执行sudo dumpe2fs /dev/sda1 | more命令,验证上述分析是否正确。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10708.html