0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器数据恢复- Ext4文件系统服务器数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2023-09-04 15:32 次阅读

Ext4文件系统相关概念:
块组:Ext4文件系统的空间被划分为若干个块组,每个块组内的结构大致相同。
块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,其主要描述块位图、i-节点位图及i-节点表的地址等信息
超级块(Superblock):用于存储文件系统的配置参数(如块大小、总块数、i-节点数)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块(Superblock)开始于1024字节处,即2号扇区。
i节点:描述文件的时间信息、大小、块指针等信息。
块组描述符和超级块在块中的位置:当块大小为2个扇区时,0号块是引导程序或者保留块,超级块起始于1号块。当块大小为4个扇区时,引导程序或者保留块位于0号块的前两个扇区,超级块位于0号块的后两个扇区。当块大小为8个扇区时,引导程序或者保留块位于0号块的0-1号扇区,超级块位于0号块的2-3号扇区。
Ext4文件系统结构及第一个块组结构:

pYYBAGNSNzqAU2nXAAEm0EIImZA324.png

北亚企安数据恢复——Ext4文件系统数据恢复


Ext4文件系统故障&初检&分析:
公司服务器Ext4文件系统umount失败,管理员执行fsck操作检查一致性,导致Ext4文件系统mount不上并报错,报错信息:“mount:wrong fs type,bad option,bad superblock”。
日志和数据的不一致导致正常文件系统数据被覆盖的情况在Ext3、Ext4文件系统中发生频率较高。因为.journal日志文件保留了缓冲数据,可以通过.joumal日志文件找到相应信息并重建源文件。
通过查看MBR分区表得知本案例中的Linux操作系统分了两个分区:交换分区+Ext4文件系统。北亚企安数据恢复工程师通过对该Ext4文件系统的分析,得到以下信息:
1、块大小为固定的4KB,即8个扇区。
2、超级块(Superblock)起始位置在1024字节处,即2号扇区,大小为2个扇区。
3、块组描述表从第一个块开始,即从4096字节处开始。

服务器数据恢复过程:
1、将故障服务器上硬盘取出,检测后没有发现硬件故障。以只读方式将磁盘做全盘镜像,镜像完成后按照原样将磁盘还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、用工具打开Ext4文件系统,可以看到0-23扇区的数据(包括超级块和块组描述符)被日志记录覆盖。Ext3、Ext4文件系统的日志页以C0 3B 39 98开头。

pYYBAGNSN0WAXVA7AAILaPxQPHk007.png

北亚企安数据恢复——Ext4文件系统数据恢复


在journal日志中将超级块的备份查找出来,通过工具查找超级块信息,其标志是“53ef”。超级块0x18-0x1B处描述块大小,确定本案例块大小为4KB。
查找超级块:

poYBAGNSN0yAPuagAAOP2HRmpK8266.png

北亚企安数据恢复——Ext4文件系统数据恢复



通过超级块查看块大小:

pYYBAGNSN1OAU5tnAAKQn9LY-UI346.png

北亚企安数据恢复——Ext4文件系统数据恢复



块大小:

pYYBAGNSN1iAOeAPAAJ-Gs-RoJY400.png

北亚企安数据恢复——Ext4文件系统数据恢复


3、由于原文件系统超级块损坏,所以恢复文件时,要把这部分超级块信息粘贴回去,放在2号扇区开始,或1024字节处。做完以上操作,超级块备份某些地方与实际的超级块数值可能不一致,需要通过工具进行修改。对超级块所在的块组进行了修改,超级块在第0个块组里。

pYYBAGNSN12Aa-5GAAModKHgGMo455.png

北亚企安数据恢复——Ext4文件系统数据恢复


4、由于部分块组描述表被破坏,所以需要在.journal日志文件里找到所有的块组描述表并把它们粘贴回去。.journal日志文件里的块组描述符表存储在超级块的后面,要找块组描述表可以先找到超级块,找到后将块组描述符表内容粘贴到4096字节处。
5、恢复某个文件夹比如kyproc文件夹里的数据时,我们发现这些文件夹在WinHex里是不能打开的状态(如下图1所示),很明显这个目录损坏了。打开其节点信息,发现正常数据被日志填充(如下图2所示)。

poYBAGNSN2WAHiggAAIKHVH8Vx0023.png

北亚企安数据恢复——Ext4文件系统数据恢复

poYBAGNSN22APq6dAAJf-vmwbGs449.png

北亚企安数据恢复——Ext4文件系统数据恢复



找到它的上一级目录,即var文件夹。右击点“open”,打开看到var文件里的所有文件的目录信息。找到要恢复的kyproc目录的信息,12 32 EE 00是其i-节点号,10 00表示其目录项长度,06表示其文件名称长度,02表示其文件类型为目录(如下图所示)。

poYBAGNSN3OAfeihAAKVGaqmAGk968.png

北亚企安数据恢复——Ext4文件系统数据恢复



在var文件夹的目录块下查找kyproc目录的位置(如下图所示),标红的位置是找到的结果。此位置显示所在块号为62399108。

pYYBAGNSN3iAUx6WAAQQOI_JXdE900.png

北亚企安数据恢复——Ext4文件系统数据恢复



根据所在块号可以定位kyproc目录相应节点的位置。打开.journal日志文件,从里面找到其节点信息,把相应的信息粘贴回去。
6、通过上述方法重建目录后开始重建目录里的文件。重建目录里的文件也是使用同样的方法:从.journal日志文件里找到相应的文件的节点信息,找到后粘贴回原来的位置,达到重建文件的目的。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82525
  • 数据恢复
    +关注

    关注

    10

    文章

    418

    浏览量

    16882
收藏 人收藏

    评论

    相关推荐

    服务器误删除邮件数据数据恢复案例

    服务器数据恢复环境: 8块盘组成的RAID5磁盘阵列; EXT3文件系统服务器故障:
    的头像 发表于 09-22 11:26 840次阅读
    <b class='flag-5'>服务器</b>误删除邮件<b class='flag-5'>数据</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】linux ext3文件系统执行FSCK后无法挂载的数据恢复案例

    服务器数据恢复环境: POWEREDGE系列某型号服务器; LINUX系统+RAID5。 服务
    的头像 发表于 10-27 11:58 514次阅读
    【<b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】linux <b class='flag-5'>ext</b>3<b class='flag-5'>文件系统</b>执行FSCK后无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复】Zfs文件系统误删除的数据恢复案例

    一台zfs文件系统服务器,运维人员误操作删了服务器上的数据,用户联系到我们数据恢复中心要求
    的头像 发表于 12-05 10:50 978次阅读
    【<b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】Zfs<b class='flag-5'>文件系统</b>误删除的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器reiserfs文件系统损坏的数据恢复案例

    服务器数据恢复环境: 某品牌服务器由4块SAS硬盘组成RAID5,Linux操作系统; 存储分区结构:boot分区+LVM卷(划分了一个
    的头像 发表于 02-08 15:22 480次阅读

    EXT4文件系统下分区不能挂载的数据恢复案例

    服务器数据恢复环境: 某品牌PowerEdge系列服务器,磁盘阵列存储型号为该品牌MD3200系列存储,分配lun; linux centos 7操作
    的头像 发表于 02-23 14:44 570次阅读

    服务器数据恢复-EXT3文件系统下邮件数据恢复案例

    服务器数据恢复环境: 一台服务器有一组由8块盘组建的RAID5阵列,EXT3文件系统
    的头像 发表于 08-08 15:15 299次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>-<b class='flag-5'>EXT</b>3<b class='flag-5'>文件系统</b>下邮件<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复-ext4文件系统服务器数据恢复案例

    一台服务器挂载一台存储设备,存储中划分一个Lun;服务器操作系统是Linux centos,EXT4文件系统
    的头像 发表于 08-10 14:03 406次阅读

    服务器数据恢复-LINUX下误删除/格式化的数据恢复方案

    服务器数据恢复环境: 基于EXT2/EXT3/EXT4/Reiserfs/Xfs
    的头像 发表于 09-15 15:29 557次阅读

    服务器数据恢复-zfs文件系统服务器数据恢复案例

    服务器数据恢复环境: 一台服务器共配备32块硬盘,组建了4组RAIDZ,Windows操作系统+zfs
    的头像 发表于 09-27 14:46 274次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>-zfs<b class='flag-5'>文件系统</b><b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—Zfs文件系统数据恢复案例

    一台zfs文件系统服务器,管理员误操作删除服务器上的数据
    的头像 发表于 11-03 15:02 224次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Zfs<b class='flag-5'>文件系统</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—ocfs2文件系统被误格式化为Ext4文件系统数据恢复案例

    由于工作人员的误操作,将Ext4文件系统误装入到存储中Ocfs2文件系统数据卷上,导致原Ocfs2文件系统被格式化为
    的头像 发表于 12-04 10:49 238次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—ocfs2<b class='flag-5'>文件系统</b>被误格式化为<b class='flag-5'>Ext4</b><b class='flag-5'>文件系统</b>的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    【北亚服务器数据恢复】ZFS文件系统服务器RAIDZ数据恢复案例

    服务器数据恢复环境: 服务器中有32块硬盘,组建了3组RAIDZ,部分磁盘作为热备盘。zfs文件系统
    的头像 发表于 12-28 15:17 227次阅读
    【北亚<b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>】ZFS<b class='flag-5'>文件系统</b><b class='flag-5'>服务器</b>RAIDZ<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复—分享几个服务器数据恢复的案例

    服务器数据恢复案例之服务器raid6中3个磁盘离线导致阵列崩溃的数据恢复案例;
    的头像 发表于 03-04 13:21 216次阅读