首先ext3grep要安装好,可以参考:https://www.cnblogs.com/sillage/p/14491434.html
我们添加一块新的磁盘来做实验
查看磁盘:fdisk -l
然后就是对磁盘的分区、格式化、挂载、卸载操作,此处就不详讲了,可以参考:https://www.cnblogs.com/sillage/p/14608287.html
然后我们在/mnt下新建一个test目录,且挂载到格式化好的分区
然后使用ext3grep对sdb1删除的文件进行恢复
查询所挂载的分区可恢复的文件(inode 2表示从该分区的根目录开始查询):
ext3grep /dev/sdb1 --ls --inode 2
查询被删除的文件及其路径:
ext3grep /dev/sdb1 --dump-names
恢复单个文件:
ext3grep /dev/sdb1 --restore-file 1.txt
注:恢复的文件会保存在当前目录的RESTORED_FILES目录下
也可以通过restore-inode对应的值进行恢复对应的文件,如1.txt对应的inode为12:
ext3grep /dev/sdb1 --restore-inode 12
恢复所有文件及其目录:
ext3grep /dev/sdb1 --restore-all
注:同样是恢复到RESTORED_FILES目录下
随后重新挂载分区,将恢复得到的文件及其目录移动到相应目录即可(注:恢复后的文件与原文件权限是否一致,这个我没有留意观察,请读者自行试验)
实测是可以恢复的,截图此处就不放了。
本博文参考:http://blog.chinaunix.net/uid-25544300-id-3278608.html
遇到报错待解决:
ext3grep: init_directories.cc:534: void init_directories(): Assertion `lost_plus_found_directory_iter != all_directories.end()' failed.
已放弃(吐核)