数据恢复之XFS分区如何恢复
2014-01-05 21:03:46 来源:华军科技数据恢复
XFS分区主要应用在Linux、Unix系统上,前阵子笔者有遇到一个XFS分区类型的数据恢复,是一个组RAID1的XFS分区损坏。
具体情况是这样的,客户表示系统重启突然,进入系统发现文件系统无法挂载。使用mount命令提示 mount: wrong fs type, bad option, bad superblock on /dev/sdb1, or too many mounted file systems.
数据恢复详解:
XFS分区底层数据前面几个扇区分别是
对于扇区开始分别为 XFSB XAGF XAGI ABTB ABTC IABT 然后是 INA。
用winhex查看,发现MBR正常,找到分区起始位置,发现XFSB标记丢失,看内容像是inode节点,估计是文件系统异常造成的数据写入错误,正常的superblock被覆盖。没有superblock当然没法正常挂载了。磁盘63-70扇区数据都不正常。71扇区是ABTB 即 AG Free Space B+trees the block offset B+tree,往下数据正常。所以需要恢复 63-70这几个扇区。还好XFS对这部分数据是有备份信息的,用Winhex 搜索XFSB搜索备份。
找到superblock备份,贴回原来位置(63-70扇区)。进入系统挂载(sudo mount /dev/sdb1 /mnt ,发现提示superblock错误。mount: wrong fs type, bad option, bad superblock on /dev/sdb1, or too many mounted file systems. 继续分析,可能是文件系统本身已经存在问题了了,尝试用系统自带文件系统修复工具fsck。全盘备份,用文件系统自检工具,检测并修复(fsck.xfs /dev/sdb1),大概半小时,完成后挂载,成功,基本上全部恢复。
0扇区MBR 显示正常正常 第一个分区
找到63扇区
数据不正确,这里应该是超级块,以 XFSB开头
71扇区
ABTB数据正常
8593815扇区找到备份
华军深圳数据恢复中心建议:
一、已经接到两个这种情况的单子了,而且都是磁盘空间使用超过95%估计是Linux系统XFS模块有问题,系统使用容量太大时计算有问题,或者是数据回写出错;
二、做好备份工作
三、XFS分区还需要深入研究
四、fsck有时候是可以用来恢复数据的,不过要备份好。