ext3grep 模拟恢复删除文件
一,下载ext3grep-0.10.1.tar.gz
二,安装
#tar zxvf ext3grep-0.10.1.tar.gz #cd ext3grep-0.10.1 #./configure #make #make install
如果缺乏e2fsprogs-devel和e2fsprogs-devel,yum安装
#yum install e2fsprogs-libs
#yum install e2fsprogs-devel
三.模拟删除
1.制造一个分区
#mkdir /home/test #cd /home/test #dd if=/dev/zero of=file count=102400 #mkfs.ext3 file
2.挂载
#mount -o loop /home/test/file /mnt/ #df -lh
/dev/sda1 485M 32M 429M 7% /boot
/home/test/file 49M 4.9M 42M 11% /mnt
查看发现已挂载
3.写入数据到mnt
#mkdir /mnt/del #echo 1 > /mnt/del/1 #echo 2 > /mnt/del/2 #echo 3 > /mnt/del/3
4.删除数据
#rm -rf /mnt/del
四.开始恢复
1.卸载分区
#cd / *退入根目录,否则在mnt目录下会提示,busy,无法卸载 #umount /home/test/file
2.确认卸载
#df -h
3.查看根的inode
#ls -id /
输出
2 /
发现是2
4.扫描
#ext3grep /home/test/file --ls --inode 2
输出
Indx Next | Inode | Deletion time Mode File name
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 2 drwxr-xr-x .
1 2 d 2 drwxr-xr-x ..
2 end d 11 drwx------ lost+found
3 end d 7329 D 1461612320 Mon Apr 25 15:25:20 2016 drwxr-xr-x del
5.del目录的inode为7329,D标示为可恢复
6.扫描del下目录
#ext3grep /home/test/file --ls --inode 7329
输出
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 7329 D 1461612320 Mon Apr 25 15:25:20 2016 drwxr-xr-x .
1 2 d 2 drwxr-xr-x ..
2 3 r 7330 D 1461612316 Mon Apr 25 15:25:16 2016 rrw-r--r-- 1
3 4 r 7331 D 1461612316 Mon Apr 25 15:25:16 2016 rrw-r--r-- 2
4 end r 7332 D 1461612316 Mon Apr 25 15:25:16 2016 rrw-r--r-- 3
7.恢复单个文件1
#ext3grep /home/test/file --restore-file del/1
恢复后的文件在当前的RESTORED_FILES目录下
8.恢复全部文件
ext3grep /home/test/file --restore-all