Linux中用extundelete恢复误删除的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中用extundelete恢复误删除的数据相关的知识,希望对你有一定的参考价值。
extundelete是一个用来恢复ext3、ext4分区的文件的工具。它会利用分区中的日志信息尝试恢复被删除的文件。但是,并非每个被删除的文件都能确保被恢复,所以养成良好的备份习惯是非常重要的。
extundelete恢复文件的原理
在恢复文件时,extundelete会通过文件系统的inode信息(根目录的inode一般为2)来获得当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inde。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块,间接块等信息,从而恢复数据文件。
安装并测试
请注意切勿将extundelete安装到你误删除的文件所在的硬盘上,这样有可能将需要恢复的数据彻底覆盖,请立即将待恢复的分区解挂载,如#umount /dev/sdb1
(1) 准备安装包
extundelete-0.2.4.tar
(2) 安装编译环境
yum install gcc gcc-c++ -y
(3) 安装依赖包
rpm -ivh e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
rpm -ivh e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
rpm -ivh e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
(4) 将安装包解压至/opt
tar jxvf extundelete-0.2.4.tar.bz2 -C /opt
(5) 配置
cd /opt/extundelete-0.2/
./configure
(6) 编译并安装
make && make install
(7) 测试
使用fdisk命令创建一个分区/dev/sdb1,将其挂载到/tmp下,往该/tmp目录下新建一些文件或目录
模拟误操作(删除文件)并恢复
发现误删除后立即将/dev/sdb1分区解挂载,并进行恢复数据操作,之后会在当前目录下出现/RECOVERED_FILES目录,里面就是恢复出来的文件
特别注意,extundelete在恢复一些空白文件夹或者空文件时会失败。
以上是关于Linux中用extundelete恢复误删除的数据的主要内容,如果未能解决你的问题,请参考以下文章