Linux系统【使用extundelete恢复误删除文件】
在Linux下,基于开源的数据恢复工具常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大。
特别重要的数据,建议寻找专业数据修复机构的帮助。使用extundelete工具恢复误删除的文件不一定可以成功找回,请谨慎思考后再操作。
原理
利用extundelete恢复文件时并不依赖特定文件格式,首先extundelete会通过文件系统的inode信息(根目录的inode一般为2)来获得当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块,间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。
处理步骤
- 安装extundelete软件
- 命令安装:sudo apt-get install extundelete
- 离线安装包路径:https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/e/extundelete/
2. 执行extundelete --help命令,获取使用帮助。
- 1)我们知道当我们不小心删除了有用的文件,我们一般是比较容易知道删除的时间的,因此,使用时间这个节点可以很快并且精确的恢复出我们想要的文件。那这个dtime怎么生成。请参考命令:
- 2) %s的意思是seconds since 1970-01-01 00:00:00 UTC,就是输入时间与1970-01-01 00:00:00的时间差。
- 3)然后就可以使用这个来恢复了:
sudo extundelete /dev/sdb1 --after 1401634920 --restore-all。(这个命令是指恢复从2014-06-01 23:02:00以后误删的文件,/dev/sdb1指的是需要恢复误删文件的分区)。 - 4) 也可以使用在~/目录下执行下面代码,恢复/dev/sdb1的分区中所删除的文件:
sudo extundelete /dev/sdb1 --restore-all