LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5558|回复: 18

怎样恢复 ext2文件系统中的被删除文件。

[复制链接]
发表于 2002-10-2 18:06:28 | 显示全部楼层 |阅读模式
如果你不小心误删除了一个重要的文件,如rm -rf kkk ,而kkk是你的一个非常重要的文件,你肯定非常痛苦,这时你千万不能惊慌,应该马上停止向你的硬盘写入任何文件。它完全是可以恢复的。(我这里专门针对ext2文件系统写了如下的内容,其它的文件系统也有办法,我以后在写):
#debugfs  /dev/hda1(被删除文件所在的分区)
debugfs:lsdel
就可列出你最近被删除文件的inode表,大致如下:
Inode  Owner  Mode    Size    Blocks   Time deleted
依此是节点表号,属主,文件属性(即读、写等),大小,block(一般1block=1K),被删除时的时间。有了这些信息,你应该能很快就判断出那个文件是你想恢复的。这时用
debugfs:dump <你想恢复的inode表值>  /home/directory(到那个目录)
OK!就这么简单,在/home/directory中可以找到它。
当然,如果你的文件很多,这样做一个一个的肯定很麻烦,你可以下载一些工具。我这里给个地址:
http://revocer.sourceforge.net/linux/recover
各位,去试试吧,有什么困难可以根我联系。
发表于 2002-10-2 18:17:10 | 显示全部楼层

Very good!

精品!
发表于 2002-10-2 19:02:01 | 显示全部楼层
多谢老兄,这是弟兄们最想要的。
兄弟在实践过程中,出现这样的信息,不知道如何处理。请老兄指教。
311543      0 100600 7603556   14/  14 Wed Oct  2 18:39:21 2002
586046      0 100644   7044    2/   2 Wed Oct  2 18:51:50 2002
760593      0 100600    363    1/   1 Wed Oct  2 18:53:35 2002
9551 deleted inodes found.
debugfs:  dump 311543
dump: Usage: dump_inode [-p] <file> <output_file>
debugfs:  dump 311543 /root
311543: File not found by ext2_lookup
debugfs:
兄弟想恢复311543这个,因为我是在/root目录下删除了一个文件,我看了就是311543这个,但用下面命令恢复,就出现了如上的提示, 不知如何下手。请老兄助兄弟一力。
 楼主| 发表于 2002-10-2 19:04:11 | 显示全部楼层

你应该这样的.

debugfs:dump <311543> /root/ppp(随便什么文件名).
你再试试.
 楼主| 发表于 2002-10-2 19:13:13 | 显示全部楼层

成功了没?

我现在在windows下,而我的linux是JFS的.恢复比较方便.等会我切到LINUX再建一个ext2系统,我以前试过,应该肯定是可以的.
发表于 2002-10-2 19:15:33 | 显示全部楼层
老兄厉害,服了,一下就OK了。。。。
现在兄弟有一个疑问:我删除的是一个.tar.gz文件,但恢复完成后,却不能用
#tar zxvf *tar.gz来解压了。
另外就是如何才能恢复成原来那样的文件名,比如我删除的是wine.tar.gz,但事先我记不得这个具体的文件名是什么的了,但我还想恢复成原来的文件名,比如我删除了系统中重要的文件,但我又不记得它是什么样的文件名了,但这个文件名对系统来说又是极为重要的,比如/usr/bin下的mozilla。我该如何做呢??
 楼主| 发表于 2002-10-2 21:49:05 | 显示全部楼层

哈哈。这个也好办。

主要是要知道原因。先回答简单的。要知道文件名用:
debugfs:ls -d 就可以了。
至于文件不能用,是因为dump下来的是连续块,而你的文件可能不是连续块。
用debugfs:stat <inode>可以看它的状态,原后将他们一一dd下来(当然有工具可以省不少力气)。
算了,我还是写一个详细的教程吧。(大家不要心急啊。过几天见,国庆我可是导游啊!)
发表于 2002-10-2 21:55:57 | 显示全部楼层
多谢老兄,祝老兄节日快乐 !
其实做到这一步,兄弟已经感动万分了。因为兄弟通过老兄的教程看到了linux系统出了意外事故也是能应对的。不能应对,说明兄弟的技术水平不行。还得请老兄多多指教。
期待中,但不急。。。。

北南 致意!
 楼主| 发表于 2002-10-4 02:47:21 | 显示全部楼层

今天游了一天的西湖。

明天还要去。只有晚上空一点。
我发现e2fsprogs1.29版的比较好用,用它来恢复文件较好,建议升级。另外,使用工具的话,建议使用mc, 下载地址为 http://www.gnome.org/projects/mc/ .今天我用google搜索了一下(关键词 rm linux recover how ),发现网上的教程其实很多。缺少的是一些原理的分析部分(其实学过汇编及unix系统的兄弟应该很清楚才对),我过几天就补充讲一下。
发表于 2002-10-4 03:01:13 | 显示全部楼层
老兄先好好的休息一下,好不容易有个假期,也应该好好的放松一下。

兄弟我实践一下,对于这个问题,兄弟现在不急。有问题,我到时再向老兄请教。

老兄早点休息,注意身体。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表