欢迎来到天天文库
浏览记录
ID:20844375
大小:50.50 KB
页数:7页
时间:2018-10-17
《ext2文件系统删除后恢复》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据恢复ext2文件系统下数据进行数据恢复摘要ext2文件系统下数据进行数据恢复--------------------------------------------------------------------- 本系的BBS系统真是多灾多难(嗯....其实是因为我的疏忽,才会这么多灾多难....),继这几日系统时间不正确,造成许多人的ID被误砍后,又一次因系统设定上的问题,将BBS的重要备份档给杀了。这件事是学弟发现后告诉我的,当我上站来一见到他的mail,当真是欲哭无泪,差点没去撞墙。 那时已是周
2、六晚11:00左右,我一边想着要编一套说辞向大家解释无法替大家进行数据恢复旧信件与设定了,一边还在想是否能够挽回局面。大家知道,UNIXlike的系统是很难像M$的系统一样,做到undelete的,所有网管前辈都曾再三警告我们,要小心!小心!砍档之前三思而后行,砍了之后再后悔也没用。虽然我已渐渐做到砍档三思而后行,但之次误砍事件是系统在背景中定时执行的,等到我找出原因时已是数据被砍后一个多小时。我凭着一点点的印象,想起在网络上,有人讨论过在Linuxext2filesystem中undelete的可能性,但我所
3、见到的多半是负面的答案,但好象真的有人做过这件事,于是我第一个所做的,就是马上将该数据原来所在的partitionmount成read-only,禁止任何的写入动作,不是怕再有数据被误砍(因为已没什么可砍的了),而是怕有新数据写进来,新资料可能会覆盖到旧资料原本存在的磁区(block)。我们现在唯一个指望,就是企图将数据原来存在的磁区一个个找回来,并且「希望」这些磁区上的旧资料都还在,然后将这些磁区串成一个数据。终于被我找到了!!原来这方面的技术文件就存在我自己的系统中:-))/usr/doc/HOWTO/mi
4、ni/Ext2fs-Undeletion.gz 于是我就按照这份文件的指示一步步来,总算将一个长达8MB的压缩档数据恢复了99%,还有一个长达1.1MB的压缩档完整无缺地救了回来。感谢上帝、Linux的设计者、写那篇文件的作者、曾经讨论过此技术的人、以及Linux如此优秀的ext2filesystem,让我有机会抢救过去。现在,我将我的抢救步骤做一个整理让大家参考,希望有派得上用场的时候(喔!不,最好是希望大家永远不要有机会用到以下的步数:-))) 在此严正声明!!写这篇文章的目的,是给那些处于万不得已情况
5、下的人们,有一个挽回的机会,并不意味着从此我们就可以大意,砍档不需要三思。前面提到,我有一个数据无法100%救回,事实上,长达8MB的数据能救回99%已是幸运中的幸运,一般的情况下若能救回70%-80%已经要愉笑了。所以,不要指望undelete能救回一切。预防胜于治疗!7/7数据恢复请大家平时就养成好习惯,砍档前请三思!!! 理论分析 我们能救回的机会有多大?在kernel-2.0.X系列中(本站所用的kernel是2.0.33),取决以下两点: 数据原来所在的磁区是否没有被覆写? 数据是否完全连续?
6、 第一点我们可以与时间竞赛数据恢复,就是当一发现数据误砍时,要以最快的速度umount该filesystem,或将该filesystemremount成唯读。就这次的情况而言,数据误砍是在事发一个小时后才发现的,但由于该filesystem写入的机会很少(我几乎可确定一天才只有一次,做backup),所以第一点算是过关了。 第二点真的是数据恢复要听天由命了,就本站所使用的kernel,必须要在假设「长数据」所占的block完全连续的情况下,才有可能完全救回来!一个block是1024bytes,长达8MB的
7、数据就有超过8000个block。在经常读写的filesystem中,可以想见长数据很难完全连续,但在我们的系统中,这一点似乎又多了几分指望。同时,Linuxext2如此精良的filesystem,能做到前7950多个block都连续,这一点也功不可没。 好了,以下我就讲一下我的步骤。 数据恢复,抢救步骤I-mountfilesystemreadonly 该数据的位置原来是在/var/hda/backup/home/bbs下,我们系统的filesystem组态是:root@bbs:/home/ftp/re
8、scue#dfFilesystem1024-blocksUsedAvailableCapacityMountedon/dev/sda13965003127696325083%//dev/sda377741053763319961573%/home/dev/hda11990473692715184020%/var/hda/dev/hda2102902349099848571050%/ho
此文档下载收益归作者所有