Google有一个开源的包 叫ext3grep工具他能够回复删除的文件,甚至是drop database,想什么呢,数据库啦!
这个工具须要在ext3或者ext4 的文件系统上才能够实现,由于ext3文件系统是日志型文件系统,ext3文件系统储存信息的时候是由inode号和block块存储的。
一个分区好比一本书,那么block块就是书每页的内容,而inode号 就是书的目录,系统找文件的时候先找inode号 而后根据inode号去找硬盘上的block快信息。node
ext3grep恢复原理:数据库
利用ext3grep恢复文件时并不依赖特定文本格式。首先ext3grep经过文件系统的root inode(根目录的inode通常为2)来获取当前文件系统下全部文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。而后利用inode信息结合日志去查询该inode所在的block位置,包括直接块、间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。
打比方讲,当硬盘上的一个文件删除,其实没有真正想象中的那样在硬盘上清除掉的,系统把inode号和block块的那个链子 断开,可是真正的数据仍是在硬盘上的,有没有感受在windos上删除是那么快,当你在删除文件的地方从新复制了新文件,那时候才会把以前的文件覆盖掉,也就是说删除了没有关系,千万不要往那个位置放文件了。工具
ext3grep官网地址:https://code.google.com/archive/p/ext3grep/,国内下载地址:https://files.cnblogs.com/files/peteremperor/ext3grep-0.10.2.tar.gzgoogle
ext3grep的安装:spa
实战ext3grep恢复文件日志
查询数据恢复信息code
这条命令主要用于扫描当前文件系统下全部的信息,包括存在的和已删除的文件,其中含有D标识的就是文件已被删除。经过如下命令能够获取文件要恢复的路径信息。blog
恢复删除数据rem
恢复的文件存放在/opt/RESTORED_FILES目录下。get
恢复全部已删除数据的命令以下: