记一次数据恢复经历

有将近一周没有写文章了,经历了一场所有IT从业者的梦魇——数据丢失。一块1T的移动硬盘中,约500G的分区数据无故消失,想必挺多人都遇上过这种事,无奈,尽快尝试恢复,能恢复多少是多少了。

分区格式

由于此块移动硬盘经常要在windows和mac平台来回切换使用,在不纠结单文件4GB的限制的情况下,当时使用的FAT32格式。还好此类格式和NTFS格式较为常见,恢复起来也较为容易。这里要说一下:

FAT32格式磁盘可在windows和mac平台读写,但有单个文件4GB限制;NTFS完美兼容windows平台,但在mac平台下,默认为只读,但是通过魔改mac系统配置或者通过第三方插件可以取得写入权限;exfat格式同样兼容windows和mac平台读写,但是此类格式不太稳定,会有丢数据的现象,且一旦出问题,一般技术手段,基本难以恢复数据。

恢复工具

市面上硬盘数据恢复工具很多,大多是无法完全恢复丢失数据的。一般个人不是很重要的数据,且文件格式比较常规的,在数据丢失后立马停止文件写入,尝试修复还是有可能恢复90%+的数据的。这里说一下,我亲身试用过的一些工具,希望可以帮到有需要的朋友们,少走弯路。EasyRecovery (Kroll Ontrack)注意括号内软件厂商名字,由于市面上还有很多国产山寨数据恢复工具也叫EasyRecovery(大小写,空格啥的不同),名字上基本难以区分,所以要注意厂商名字。此款工具在10年前我就有使用过,即便是6.0的老版本,恢复能力也很强,就是扫描速度较慢。曾经恢复了300G的丢失数据,90%基本完美恢复。DiskGenius 老牌工具了,装过系统的应该都知道,在PE里基本都集成的磁盘分区工具,也有数据恢复功能。此次400+G的数据就是使用这个工具恢复的,常规文件格式恢复都OK,但是对PSD,拆分的压缩文件恢复成功率不高。总的来说还是可用的,注意某度下载的大部分最新破解版其实都是免费版,正常使用但是对单个大文件恢复有限制,以至于会误导以为数据无法恢复了。推荐使用4.7或者4.2的老版本有功能完整的破解版。finaldata 口碑在外的数据恢复工具,实际使用恢复情况并不理想,也可能是我找的版本不对。easyrecovery 国产山寨Kroll Ontrack厂商的工具名字,虽然抄袭大厂的工具名字,但是实际恢复能力也不差,基本能恢复。

数据量较大的推荐使用DiskGenius,扫描进度还能存档。数据量不大的可以选择easyrecovery,国外原版或者国产版均可。
具体的恢复过程这里就不细说了,都是windows工具,图形界面,看着就会,主要就是恢复时间较长。

Linux数据恢复

既然说到数据恢复了,我们工作中接触的服务器,还是Linux居多,这里也说说从rm -rf /* 到不跑路的常规救急方法。
在我初出茅庐,刚干运维的那段岁月,也曾年轻气盛,逮哪都是rm -rf *一把梭,终于有一次梭出问题了,把线上数据给梭没了,然后….此处省略中间办公室精彩剧情部分,直接上恢复过程。

exundelete恢复Linux文件系统数据

exundelete是用于针对Linux ext3,ex4的文件系统数据恢复的工具,大致原理就是扫出文件系统的inode的信息,然后根据iNode信息结合日志去查询对应的block位置,包括直接块和间接块,然后通过dd命令备份这些信息,恢复数据。

exundelete安装

官网下载最新版,extundelete-0.2.4
安装三连不再赘述

1234
$tar jxvf  extundelete-0.2.4.tar.bz2$./configure$make$make install

extundelete用法

首先及时卸载需要恢复数据的分区,然后查询分区可恢复的数据信息:

1
extundelete  /dev/sdc1  --inode 2

恢复单个文件

1
extundelete /dev/sdb1 --restore-file hosts

恢复一个目录

1
extundelete /dev/sdb1 --restore-files test/

恢复整个分区

1
extundelete /dev/sdb1 –-restore-all

经过实际测试,restore-all比较好用,在初次删除后可以很好的恢复文件及目录结构,但是如果我在相同位置新建了相同的文件名或者目录名,就会恢复失败。而恢复单独的文件或者目录则没有成功,也可能是我的姿势不对。

文章来源:

Author:hyperxu
link:http://www.hyperxu.com/2017/11/18/data-recovery/