the system linux file system under study summary

Linux system partition structure of the study:
Most Linux systems are applied to the x86 platform, using MBR disk structure, and therefore supports MBR disk partitions and GPT disk partitioning.
Linux MBR disk partition recovery case:
Ext3 file system structure:
Linux on unix like system no concept of letter, each partition needs to be mounted to a certain directory, the directory structure of the management partition.

Linux system daily directory meanings:
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description

Ext3 file system structure features:

A specific configuration of the overall configuration of the second block group Ext3 filesystem FIG.
Here Insert Picture Description

Ext3文件系统的超级块分析
Ext3文件系统的超级块起始于2号扇区,占用两个扇区。当文件系统的块大小不同时,超级块所在块号是不同的。
Ext3文件系统的超级块结构:
字节偏移 字段长度(字节) 字段名和定义
0x00~0x03 4 i-节点总数
0x04~0x07 4 总块数
0x08~0x0B 4 保留块数
0x0C~0x0F 4 空闲块数
0x10~0x13 4 空闲I-节点数
0x14~0x17 4 第一个数据块(即0号块组起始块号)
0x18~0x1B 4 块大小描述值
0x1C~0x1F 4 段大小描述值(与“块大小描述值”相同)
0x20~0x23 4 每块组包含的块数
0x24~0x27 4 每块组包含的段数
0x28~0x2B 4 每块组包含的i-节点数
0x2C~0x2F 4 最后挂载时间
0x30~0x33 4 最后写入时间
0x34~0x35 2 挂载次数
0x36~0x37 2 最大挂载数
0x38~0x39 2 签名值
0x3A~0x3B 2 文件系统状态:
状态值 状态描述
0x0001 文件系统是干净的
0x0002 文件系统存在错误
0x0004 正在恢复孤立的i-节点

0x3C~0x3D 2 错误处理方式
数值 处理方式
0x0001 继续运行
0x0002 以只读方式重新挂载
0x0003 紧急处理

0x3E~0x3F 2 次版本号
0x40~0x43 4 最后检查时间
0x44~0x47 4 强迫一致性检查的最大间隔时间
0x48~0x4B 4 创建文件系统的操作系统类型:
数值 操作系统类型
0x00 Linux
0x01 GNU Hurd
0x02 Masix
0x03 Free BSD
0x04 Lites

0x4C~0x4F 4 主版本号
0x50~0x51 2 用户ID保留块
0x52~0x53 2 组ID保留块
0x54~0x57 4 第一个非保留i-节点
0x58~0x59 2 i-节点大小
0x5A~0x5B 2 当前超级块所在块组
0x5C~0x5F 4 兼容性特征标志
数值 兼容性特征
0x0001 给目录预分配块以减少碎片
0x0002 存在AFA服务i-节点
0x0004 文件系统包含日志,即Ext3文件系统
0x0008 i-节点有扩展属性
0x0010 文件系统能够调整大小
0x0020 目录使用hash树

0x60~0x63 4 非兼容性特征标志
数值 非兼容性特征
0x02 目录项中包含文件类型
0x40 文件系统使用盘区结构
0x80 文件系统使用64位块号

0x64~0x67 4 只读兼容性特征标志
数值 只读兼容性特征
0x01 稀疏超级块方式
0x02 文件系统中有大文件
0x04 目录结构使用B-树管理

0x68~0x77 16 卷的UUID(全局ID)
0x78~0x87 16 卷名
0x88~0xC7 64 最后挂载路径
0xC8~0xCB 4 位图算法
0xCC~0xCC 1 文件预分配块数
0xCD~0xCD 1 目录预分配块数
0xCE~0xCF 2 未用
0xD0~0xDF 16 日志的UUID
0xE0~0xE3 4 日志的i-节点
0xE4~0xE7 4 日志设备号
0xE8~0xEB 4 最后的孤立i-节点
0xEC~0xEF 4 Hash种子1
0xF0~0xF3 4 Hash种子2
0xF4~0xF7 4 Hash种子3
0xF8~0xFB 4 Hash种子4
0xFC~0xFF 4 默认Hash版本
0x100~0x103 4 默认挂载选项
0x104~0x107 4 第一个元数据块的块组
0x108~0x10B 4 文件系统创建时间
0x10C~0x14F 68 日志节点信息备份

Ext3文件系统的块组描述符分析
块组描述符表的起始地址位于超级块所在块的下一个块,在整个文件系统中有很多块组描述符表的备份,备份的方式具体分为两种:
(1)文件系统不具备稀疏超级块特性
如果文件系统不具备稀疏超级块特性,那么在每个块组中都会有一个超级块的备份,同时也有块组描述符表的备份。
(2)文件系统具备稀疏超级块特性
如果文件系统具备稀疏超级块特性,那么只在块组号是3、5、7的幂的块组(如1、3、5、7、9、25、49等)内才对超级块和块组描述符表做备份,其他块组内则没有备份。
Ext3文件系统的块位图分析
Ext3文件系统的i-节点分析
在一个Ext3的分区中,文件系统的超级块描述了以下信息:
块大小为4096字节;
每块组包含的块数为32 768;
每块组包含的i-节点数为16 320;
i-节点大小128字节。
Ext3文件系统的目录项分析
目录项用来存放文件及目录的i-节点号、目录项的长度、文件名等信息,它们存储在分配给目录的块中。

Ext3文件删除与恢复的分析:
文件删除的分析:

文件以块为单位进行分配,每个文件都有自己的一个i-节点和目录项。i-节点中记录文件的大小、时间信息、分配地址(块指针)等信息,而目录项中则记录文件的i-节点号、文件名等信息。将目录项和i-节点结合起来分析,就能获得某个具体文件的所有信息并通过块指针定位到其数据存放的地址,块指针所指向的块内就是文件的数据。
/etc/sysconfig/ha/web/ RedHat.gif删除前的底层分析:
第1步 读取超级块和块组描述符的参数。
超级块位于文件系统的2号扇区,从超级块中获得如下参数:
块大小为4096字节;
每块组包含的块数为32 768;
每块组包含的i-节点数为16 320;
i-节点大小为128字节。
块组描述符表起始于1号块,即8号扇区,从0号块组描述符中获得如下参数:
该块组的i-节点表起始块号为4。

第2步 读取i-节点表。
第3步 读取根目录区。
第4步 读取“etc”目录的i-节点。
第5步 读取“etc”目录的目录区。
第6步 读取“sysconfig”目录的i-节点。
第7步 读取“sysconfig”目录的目录区。
第8步 读取“ha”目录的i-节点。
第9步 读取“ha”目录的目录区。
第10步 读取“web”目录的i-节点。
第11步 读取“web”目录的目录区。
第12步 读取“RedHat.gif”文件的i-节点。
第13步 读取“RedHat.gif”文件的数据。
选中数据信息后复制保存就可以完整的重建RedHat.gif文件
/etc/sysconfig/ha/web/ RedHat.gif删除后的底层分析:
①目录项的变化。
“RedHat.gif”文件删除后其目录项中的i-节点号并没有改变,文件名也没有改变,所以还可以根据这些信息定位到“RedHat.gif”文件的i-节点。
②i-节点的变化。
“RedHat.gif”文件删除后,其i-节点的“链接数”将减1,如果链接数成为0,意味着必须回收这个i-节点;文件大小和文件的块指针也全部清零,同时将文件删除时间记录下来。
③位图的变化。
“RedHat.gif”文件删除后,其i-节点位图中的相应位设置为0以回收该i-节点,然后更新块组描述符和超级块中的空闲i-节点数。
/etc/sysconfig/ha/web/ RedHat.gif删除后的恢复分析
通过前文对Linux系统下Ext3文件系统中的一个文件的删除分析可以知道,文件被删除后,其目录项中的文件名和i-节点号还存在。通过这两个信息可以找到文件的i-节点,但是i-节点中的文件大小和块指针都被清零,虽然数据块不会清零,但要找到文件的存储位置是很难的,所以Ext3文件系统下文件删除后是比较难恢复的。我们可以考虑按照文件类型进行恢复,但如果文件占用的块比较多,文件不连续存储的可能性比较大,也就给恢复带来了麻烦。

Ext3文件系统超级快的恢复案例:
主要思路是通过超级快备份进行恢复

Linux system data recovery professional tool Detailed
X-ways Forensic and R-Studio
X-ways Forensics is produced by the German X-ways a forensic analysis software, it is actually Winhex of a forensic authorized version, with Winhex interface is exactly the same. Functionally, limiting the write operation to the disk. It provides enhanced disk and file analysis functions as well as increased file preview function.
Support for RAID JBOD, RAID 0, RAID 5 disk and dynamic restructuring, analysis and data recovery. Support FAT12, FAT16, FAT32, exFAT, TFAT, NTFS, Ext2, Ext3, Ext4, Next3, CDFS / ISO9660 / Joliet, UDF file system.
R-Studio is a powerful, cost-effective undelete and data recovery software. It uses a unique data recovery technology, (created or updated by Windows 2000 / XP / 2003 / Vista / Windows 8 / Windows 10) to recover FAT12 / 16/32, NTFS, NTFS5, Ext2FS / Ext3FS (OSX LINUX file system) and UFS1 / UFS2 (FreeBSD / OpenBSD / NetBSD file system) partition file provides the most extensive data recovery solutions. For the user to restore data, to reduce losses caused by data loss.

Released three original articles · won praise 0 · Views 35

Guess you like

Origin blog.csdn.net/wangjd_007/article/details/104306783