使用exundelete在Linux下恢复删除的文件

原创
2014/05/07 23:52
阅读数 3.3W

Linux下执行 rm 并不会真正删除,而是将inode节点中的扇区删除,同时释放数据块。在数据块被系统重新分配前,这部分数据还是可以找回来的。

网上说在删除文件后要立即unmount这个分区,这样做其实是为了让外界不再写入,我们也可以设置为readonly模式代替。当然,如果为了不影响其它应用的运行,也可以不做unmount。

好的,现在就该神器extundelete上场了。以CentOS6.5为例

依赖

yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel

安装

wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelte-0.2.4
./configure
make; make install

查找要恢复的驱动器名

df

Filesystem             1K-blocks     Used   Available Use% Mounted on
/dev/sda1                 495844    64150      406094  14% /boot

运行恢复

默认恢复到当前目录下的RECOVERED_FILES目录中去

恢复单个文件

extundelete /dev/sdb1 --restore-file hosts

恢复一个目录

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

恢复整个分区

extundelete /dev/sdb1 –-restore-all

这个工具貌似支持EXT4文件系统,经过实际测试,restore-all比较好用,在初次删除后可以很好的恢复文件及目录结构,但是如果我在相同位置新建了相同的文件名或者目录名,就会恢复失败(找不到了)。而恢复单独的文件或者目录则没有成功,如果有成功的可以告诉我。

展开阅读全文
打赏
9
149 收藏
分享
加载中
路小磊博主

引用来自“D哥”的评论

SSD 含泪飘过。。。
extundelete: Bad magic number in super-block when trying to open filesystem /dev/xvdb
貌似和是否为SSD无关吧,我Google了一下,貌似和LVM有关?你是否用到了相应的技术?
2014/05/11 15:26
回复
举报
SSD 含泪飘过。。。
extundelete: Bad magic number in super-block when trying to open filesystem /dev/xvdb
2014/05/11 14:36
回复
举报
路小磊博主

引用来自“摔死的鸟”的评论

神器啊~先mark一下,以后会用到的
2014/05/11 12:38
回复
举报
路小磊博主

引用来自“tolive”的评论

好的,试试
2014/05/11 12:37
回复
举报
路小磊博主

引用来自“Elvis_xj”的评论

我的试试
嗯,平时尝试一下,以备不时之需~我想误删的概率还是很小的~
2014/05/11 12:37
回复
举报
路小磊博主

引用来自“滔哥”的评论

好眼熟的内容。。。
http://www.lvtao.net/tool/463.html
眼熟很正常,这只是一个工具,使用方法大同小异,这篇文章是我们遇到问题的时候解决过程中一些经验,参考了网上很多的帖子,而我们总结的经验在于在什么情况下可以很好的恢复、哪种方法恢复可以成功,少走弯路(最后一句)。您给予的这个链接只强调使用而已~~不知这样解释是否满意?
2014/05/11 12:36
回复
举报
神器啊~先mark一下,以后会用到的
2014/05/11 11:33
回复
举报
好的,试试
2014/05/11 10:29
回复
举报
好眼熟的内容。。。
http://www.lvtao.net/tool/463.html
2014/05/11 09:50
回复
举报
我的试试
2014/05/09 21:35
回复
举报
更多评论
打赏
14 评论
149 收藏
9
分享
返回顶部
顶部