[教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

其它类软件,非上述版软件
头像
jkll
帖子: 508
注册时间: 2008-06-11 11:23
来自: 金华
联系:

[教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#1

帖子 jkll » 2008-10-21 10:04





严重提示:请非常谨慎执行本文操作,操作前备份有用重要文件,出现问题请快回帖或向版主举报,以警示后人,切记切记。



最近老误删一些有用的文件(手贱),心里郁闷阿那个。于是痛下决心要学习文件恢复。上论坛找到一篇名为《[原创]学会恢复Linux系统里被删除的 Ext3文件 http://www.sjvj.com》viewtopic.php?f=42&t=128676的文章详细说明了方法。但是据回复贴子看,此方法不行,再百度 谷哥一下午,发现网上有很多人也在介绍这个方法。例如http://linux.chinaunix.net/techdoc/syst ... 2367.shtmlhttp://blog.163.com/qqbxclboy@126/blog/ ... 872350729/
方法都是同一个。但我试过,都是不行的。也许真的像一篇文章里说的:大家是以讹传讹,把ext2的恢复方法当成ext3的恢复方法,虽然ext,ext3基本相同,但反正上面的方法都是恢复不了我的误删ext3数据。

难道就这样放弃了吗,我不想,于是又开始新一轮的google,《谁说误删Ext3下的文件一定找不回》出自http://www.linuxdiyf.com/viewarticle.php?id=74382让我有点希望,不过他是来恢复纯Ascll文件的。不过让我看到了希望。


终于,我找到了文献1:《ext3 文件系统上恢复误删除文件》http://webwhere.cn/2008/7/6/recover-del ... ile-system他介绍了ext3grep这个恢复工具,正是今天我要郑重向大家推荐的主角。如果你以了解ext3grep,(下面的内容就当我是从火星来的怪物说的)。
本文参考文献还有文献2:《linux系统恢复删除文件》http://hi.baidu.com/wangtao8899/blog/it ... 12f2d.html

要看ext3grep恢复文件的原理或下载源代码,请到(英文的)http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html我就略过了哈

上面两篇文章都是在redhat环境下的,经过本人实践在ubuntu下修改一下命令格式,完全能恢复ubuntu下ext3文件系统误删文件
==============================================
方法如下

一。预备。(请先看注)
据文献2,要装一个e2fsprogs才能安装ext3grep恢复软件
代码:

代码: 全选

apt-get install e2fsprogs
(注:不装应该也没事,好像是编译库什么的,反正我根据他还是编译不成功,本文介绍用deb直接装的)


二。安装
安装我们今天的主角:ext3grep,我下载官方源代码编译不成功(菜鸟),所以向大家介绍另一种方法,下载deb文件直接装。
下载地址:
(幸好ubuntu源自deban,我们有很多东西都可从他那里下)
双击安装就好了


三。恢复误删文件
我这里演示一下:首先我的分区如下(虚拟机哈)(用

代码: 全选

df -h
查看)
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 1.9G 477M 1.3G 27% /
varrun 130M 104K 130M 1% /var/run
varlock 130M 0 130M 0% /var/lock
udev 130M 80K 130M 1% /dev
devshm 130M 12K 130M 1% /dev/shm
lrm 130M 38M 92M 30% /lib/modules/2.6.24-19-generic/volatile
/dev/sda1 76M 17M 56M 23% /boot
/dev/sda3 950M 30M 873M 4% /home
/dev/sda5 3.7G 1.6G 2.0G 46% /usr
/dev/sda7 183M 5.6M 168M 4% /vext3 这就是我误删文件的分区了
/dev/sda8 265M 13K 251M 1% /wext2
/dev/sda9 95M 33M 62M 35% /xreiserfs
/dev/sda10 93M 144K 93M 1% /yjfs
/dev/sda12 109M 1.0K 109M 1% /zfat32
/dev/sda11 184M 4.3M 180M 3% /zxfs

我误删文件的分区是在/wext3,也就是/dev/sda7,文件格式当然是ext3了,系统当然是ubuntu(都是废话)

现在真的开始恢复



1.卸载误删文件的分区(这点很重要)
代码:

代码: 全选

umount /vext3
注:如果被删除的文件在/或者其他系统分区,那就只能拆下盘挂到其他机子弄,或者livecd下弄吧?(livecd下可以装软件的说),不太清楚,找别的方法去把,不要再看下去了 :em06



2.查看被删除的文件
代码:

代码: 全选

ext3grep /dev/sda7 --ls --inode 2
会出来下面一段

Running ext3grep version 0.9.0
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 24
Loading group metadata... done
Minimum / maximum journal block: 526 / 4640
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1224513073 = Mon Oct 20 22:31:13 2008
Number of descriptors in journal: 28; min / max sequence numbers: 8 / 13
Inode is Allocated
Loading sda7.ext3grep.stage2... done
The first block of the directory is 512.
Inode 2 is directory "".
Directory block 512:
.-- File type in dir_entry (r=regular file, d=directory, l=symlink)
| .-- D: Deleted ; R: Reallocated
Indx Next | Inode | Deletion time Mode File name
==========+==========+----------------data-from-inode------+-----------+=========
0 1 d 2 drwxr-xr-x .
1 2 d 2 drwxr-xr-x ..
2 end d 11 drwx------ lost+found
3 4 r 12 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa
4 5 r 13 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa (3rd copy)
5 6 r 14 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa (4th copy)
6 7 r 15 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa (another copy)
7 8 r 16 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa (copy)
8 end r 17 D 1224546806 Tue Oct 21 07:53:26 2008 rrw-r--r-- aaa~

注意:最后的几行就是我误删除的文件了,名字分别为aaa,aaa (3rd copy),aaa (4rd copy).........


3.恢复想要恢复的文件请先看完注意再执行本行
比如说这里我希望恢复aaa文件,

代码:

代码: 全选

ext3grep /dev/sda7 --restore-file aaa

就会提示你
Running ext3grep version 0.9.0
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 24
Minimum / maximum journal block: 526 / 4640
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1224513073 = Mon Oct 20 22:31:13 2008
Number of descriptors in journal: 28; min / max sequence numbers: 8 / 13
Loading sda7.ext3grep.stage2... done
Restoring aaa
表示恢复成功,恢复好的文件在你当前目录的 RESTORED_FILES 文件夹中,,我这里就在/root/RESTORED_FILES中,打开一看,果然有无误删的文件aaa
注意:最好不要恢复在/root下吗,先执行 cd /tmp 或其他地方再执行步骤3比较好,这样恢复的文件就在 /tmp/RESTORED_FILES了



以上为我两天来恢复我的误删ext3分区里文件的心得,望对大家有用,望高手莫见笑,错误之处请快指出,不然我要被人批,窝窝





附:《ext2文件系统下恢复误删除的文件》http://www.datahf.net/wjwl/105017983.html
上次由 jkll 在 2008-10-21 10:34,总共编辑 2 次。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#2

帖子 xiooli » 2008-10-21 10:23

如果被删除的文件在/或者其他系统分区,那么怎么能umount的了?
头像
jkll
帖子: 508
注册时间: 2008-06-11 11:23
来自: 金华
联系:

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#3

帖子 jkll » 2008-10-21 10:24

先占个位置发别的 :em06
头像
jkll
帖子: 508
注册时间: 2008-06-11 11:23
来自: 金华
联系:

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#4

帖子 jkll » 2008-10-21 10:27

xiooli 写了:如果被删除的文件在/或者其他系统分区,那么怎么能umount的了?
拆下盘,挂到别的linux系统弄

或livecd下弄,听说livecd下能装软件的,卡不卡看内存了 :em06


ls的ls抢位置够快 :em11
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#6

帖子 eagle5678 » 2008-11-10 17:50

syrano 写了:mark :em11
最不爽的是某些网站以讹传讹,不做测试
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#8

帖子 eexpress » 2009-03-12 8:59

小白上,不敢测试。
一般删除了,自己认了。
对于删除的动作,我倒是不担心误操作。担心的是,某命令多了一个符号,冲掉文件。这样怎么恢复。
● 鸣学
czy5025
帖子: 15
注册时间: 2008-01-06 23:07

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#9

帖子 czy5025 » 2009-03-20 15:01

感谢这个帖子,成功找回丢失数据 :em02
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#11

帖子 BigSnake.NET » 2009-09-01 22:17

xiooli 写了:如果被删除的文件在/或者其他系统分区,那么怎么能umount的了?
硬上, 完事后 fsck 就是
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
jinsaiuser
帖子: 100
注册时间: 2007-10-10 9:25

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#12

帖子 jinsaiuser » 2009-09-16 10:30

在虚拟机下删除文件能不能按照此方法恢复这是一点问题,还有一点就是在大的文件系统下能不能恢复这是另外一点?
bibi951
帖子: 7
注册时间: 2009-06-20 22:02

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#13

帖子 bibi951 » 2010-03-27 23:46

我误删了/usr/include 文件夹……

df -h
bibioo@bibioo-desktop:~$ df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda8 62G 25G 34G 42% /
tmpfs 1.5G 0 1.5G 0% /lib/init/rw
varrun 1.5G 104K 1.5G 1% /var/run
varlock 1.5G 0 1.5G 0% /var/lock
udev 1.5G 160K 1.5G 1% /dev
tmpfs 1.5G 76K 1.5G 1% /dev/shm
lrm 1.5G 2.2M 1.5G 1% /lib/modules/2.6.28-18-generic/volatile
/dev/sda6 118G 90G 28G 77% /media/e
/dev/sda7 137G 79G 58G 58% /media/f
/dev/sda5 118G 22G 96G 19% /media/soft
/dev/sda1 30G 8.0G 22G 28% /media/c

是不是在/ 分区下,只能安lz说的 让别人的机器装上ext3grep软件 然后在恢复?

另 我删了以后就发现了 现在可以关机么? 然后把硬盘整个拆下来? 我是装的xp和ubuntu双系统
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#14

帖子 BigSnake.NET » 2010-03-28 0:25

^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
liang_2008
帖子: 46
注册时间: 2010-07-28 15:19

Re: [教学]使用ext3grep恢复ext3文件系统中误删除文件(我在ubuntu中恢复文件的心得)

#15

帖子 liang_2008 » 2010-12-22 9:11

mark
从今天起,嫁与ubuntu,我无怨无悔!!!
回复