恢复linux下误删除的文件

本文介绍如何在Ext3文件系统中恢复误删的文件。通过使用e2fsprogs和ext3grep工具,在Red Hat Enterprise Linux Server 5环境下进行数据恢复测试。详细步骤包括创建测试环境、模拟文件删除及使用ext3grep恢复文件。
在使用linux的过程中,难免会误删除一些文件,可是怎样找回呢?
下面介绍一下ext3文件系统的数据恢复:


系统环境:Red Hat Enterprise Linux Server release 5

需要软件
e2fsprogs
ext3grep


测试
e2fsprogs这个软件系统自带,检查一下

如果没有在光盘中找,或到网上找
http://rpmfind.net/linux/RPM
http://rpm.pbone.net
这两个网站不错,几乎所有的包都能找到

下载安装ext3grep
#wget http://ext3grep.googlecode.com/files/ext3grep-0.7.0.tar.gz
#tar zxf ext3grep-0.7.0.tar.gz
#cd ext3grep-0.7.0
#./configure
#make && make install
#ext3grep
没错误的话就安装成功了

下面我们模拟一个环境(用真实的也可以)
#mkdir /termite

#cd /termite
#dd if=/dev/zero of=cc-disk count=1024000
#mkfs.ext3 cc-disk
#mount /termite/cc-disk /home
这样我们的环境就建好了,查看一下


现在往/home下写入些文件
#cd /home
#echo test1 > 1
#cp /etc/resolv.conf .
#mkdir -p cc/cc1/cc2
查看一下


然后删除这些文件和目录


现在开始恢复操作
首先umount掉分区
#umount /home

然后运行ext3grep
#ext3grep /termite/cc-disk --ls --inode 2
等待一会出现如图


看到刚才删除掉的文件了吧
现在恢复文件,见图


会自动在你执行ext3grep命令的当前位置下建立RESTORED_FILES目录,恢复的文件就在这里面


从图中可看到目录cc恢复的不正确,cc下面应该还有cc1的,可知--restore-file适用与恢复文件,可以用--restore-all尝试恢复所有文件:

#ext3grep /termite/cc-disk --restore-all
但是也不一定能完全恢复。我试过有时可以把目录恢复(包括子目录),但是其中的文件却找不到。

如果想详细的了解ext3grep,可以到它的的HOW TO页去看看:
http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值