Linux下如何利用ext3grep恢复被删除的文件

47次阅读
没有评论

共计 4639 个字符,预计需要花费 12 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 Linux 下如何利用 ext3grep 恢复被删除的文件,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

10 个 G 的数据被误删除了,差点崩溃,试遍了所有常规恢复软件,无用,就要放弃的时候,发现了 ext3grep 这个开源东东!

顺利恢复所有数据,所以 linux 下数据删除并不可怕,可怕的是删除后没有恢复的方法,看看下面的操作吧!

[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux

其实什么版本的系统无所谓!

所需的相关库

[root@localhost ~]# rpm -qa |grep e2fsprogs e2fsprogs-libs-1.39-8.el5 e2fsprogs-1.39-8.el5 e2fsprogs-devel-1.39-8.el5

必须要有 e2fsprogs-libs,不然在后面 ext3grep 的安装会有问题。

分区情况:

[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 6.2G 1.8G 4.2G 30% / /dev/sda1 99M 11M 83M 12% /boot /dev/mapper/VolGroup00-LogVol02 1008M 34M 924M 4% /data tmpfs 125M 0 125M 0% /dev/shm

需要软件

http://code.google.com/p/ext3grep/downloads/list

先下载软件

[root@localhost ~]# cd /root/src/ [root@localhost src]# wget http://ext3grep.googlecode.com/files/ext3grep-0.6.0.tar.gz src [root@localhost src]# ls ext3grep-0.6.0.tar.gz [root@localhost src]# tar xfvz ext3grep-0.6.0.tar.gz [root@localhost ext3grep-0.6.0]# ./configure [root@localhost ext3grep-0.6.0]# make install [root@localhost ext3grep-0.6.0]# ext3grep Running ext3grep version 0.6.0

编译然后测试可以使用了,一切做好了以后开始我们的恢复过程。

我的目录是 /data 分区,我先格式化了分区,我放一个文件在根目录下和一个子目录下的文件。

/dev/mapper/VolGroup00-LogVol02 1008M 34M 924M 4% /data

下面斜体部分不是必须的:

其实这里用什么分区倒是无所谓,也可以模拟一个出来,下面是模拟步骤:

mkdir /data1/ cd /data1/ dd if=/dev/zero of=disk1 count=2048000 mkfs.ext3 disk1 mkdir -p /dfs/a mount -o loop /data1/disk1 /dfs/a

这里,我们用 /data 分区,先拷贝些文件过去

[root@localhost ~]# ]# cp /bin/ls /data/ [root@localhost ~]# ]# cp -rf /bin /data/ [root@localhost ~]# ]# ls -la /data/ total 136 drwxr-xr-x 4 root root 4096 Apr 21 17:37 . drwxr-xr-x 25 root root 4096 Apr 21 17:11 .. drwxr-xr-x 2 root root 4096 Apr 21 17:37 bin drwx mdash; mdash; 2 root root 16384 Apr 21 17:15 lost+found -rwxr-xr-x 1 root root 93560 Apr 21 17:37 ls [root@localhost ~]#

一个子目录一个可执行文件

现在删除 ls 文件和 bin 下面的 zcat

[root@localhost ~]# rm /data/ls rm: remove regular file `/data/ls rsquo;? y [root@localhost ~]# rm /data/bin/zcat rm: remove regular file `/data/bin/zcat rsquo;? y [root@localhost ~]# ls -la /data/ls /data/bin/zcat ls: /data/ls: No such file or directory ls: /data/bin/zcat: No such file or directory

文件没有了然后我们来恢复:

首先必须 umount 掉误删除数据的分区:

[root@localhost ~]# umount /dev/mapper/VolGroup00-LogVol02 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 6.2G 1.8G 4.2G 30% / /dev/sda1 99M 11M 83M 12% /boot tmpfs 125M 0 125M 0% /dev/shm

确认卸载,然后使用 ext3grep 来恢复。

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --ls --inode 2

这里会创建扫描分区

[root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --ls --inode 2 [root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file ls Running ext3grep version 0.6.0 WARNING: I don rsquo;t know what EXT3_FEATURE_COMPAT_EXT_ATTR is. Number of groups: 8 Minimum / maximum journal block: 585 / 8787 Loading journal descriptors hellip; sorting hellip; done Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5 Loading VolGroup00-LogVol02.ext3grep.stage2 hellip; done Restoring ls [root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file bin/ls Running ext3grep version 0.6.0 WARNING: I don rsquo;t know what EXT3_FEATURE_COMPAT_EXT_ATTR is. Number of groups: 8 Minimum / maximum journal block: 585 / 8787 Loading journal descriptors hellip; sorting hellip; done Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5 Loading VolGroup00-LogVol02.ext3grep.stage2 hellip; done Restoring bin/ls [root@localhost ~]# ls -la RESTORED_FILES/ total 124 drwxr-xr-x 3 root root 4096 Apr 21 18:01 . drwxr-x mdash; 5 root root 4096 Apr 21 17:55 .. -rwxr-xr-x 1 root root 93560 Apr 21 17:48 ls [root@localhost ~]# ext3grep /dev/mapper/VolGroup00-LogVol02 --restore-file bin/zcat Running ext3grep version 0.6.0 WARNING: I don rsquo;t know what EXT3_FEATURE_COMPAT_EXT_ATTR is. Number of groups: 8 Minimum / maximum journal block: 585 / 8787 Loading journal descriptors hellip; sorting hellip; done Number of descriptors in journal: 58; min / max sequence numbers: 2 / 5 Loading VolGroup00-LogVol02.ext3grep.stage2 hellip; done Restoring bin/zcat [root@localhost ~]# ls -la RESTORED_FILES/bin/ total 188 drwxr-xr-x 2 root root 4096 Apr 21 18:01 . drwxr-xr-x 3 root root 4096 Apr 21 18:01 .. -rwxr-xr-x 1 root root 62136 Apr 21 17:48 zcat

看看都恢复在 RESTORED_FILES 目录下,大小也一样,这里 RESTORED_FILES 目录是执行 ext3grep 的当前目录下!

也可以使用:

ext3grep /termite/cc-disk --restore-all

恢复所有文件和目录,但是目录的话,如果删除时间较长,不一定能完全恢复,压缩文件一般都能恢复。

关于“Linux 下如何利用 ext3grep 恢复被删除的文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4639字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)