当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux入门

拯救数据

拯救数据--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
  当一个放着几百G数据的硬盘因为误操作而分区全毁时,是什么心情?开窗跳楼?有这个心也没这个胆,我恐高,肯定跳不出去的。。。后悔自己手痒不该乱来?后悔能让数据回来么?所以只有沉住气了,只要还有3.5寸盘在,数据就有希望找得回来的。。。

  话说这个惨剧发生在春节前补的三天年假的第一天下午,想反正本来就要重装系统,不如再试一下传说中的Ubuntu,下载刻盘,进入安装界面,居然没认出我做RAID的硬盘。。。GOOGLE之,发现要手动加载一个模块,加载后硬盘和分区都认出来了,比较奇怪的是除了那棵看上去比较正常的树状分区表外,每个分区还被单独列了一遍,那我该选哪个?有点晕。。。也是N年不碰LINUX了,忘了仔细确认一下各分区的device path,凭所谓的“经验”(其实根本就不存在),选了看上去比较像正常的树状中的一个分区(搏错了。。。),开始安装,进度条显示正在格式化分区,几秒后恶梦降临,一个对话框弹出说无法挂载分区,点了OK,回到分区界面,但。。。之前还每个都列了两遍的分区呢?咋一个都没了。。。当时就懵了。。。400G的硬盘啊。。。怀着侥幸心理重启了一下,启动菜单都么了,彻底废了。。。这就回到原始社会了?绝对不行,不是传说中专做数据拯救的人,多数情况下靠软件就能恢复么,那我应该也可以的

  还好还有个本本活着。。。继续Google,找到一个号称是很好的国产分区软件DiskGenius,不过是DOS下的,他的原理是按某种规律搜分区表的结束标志位,所以只要放分区表的地方没被破坏,理论上都能找回来。从doshome.com下了集成这个的超级急救盘光盘版,找到“重建硬盘分区表”,试跑了一下,自动模式不准,估计类似标志位的地方太多了,在手动模式下,它会把每次猜的分区都让你确认一下,所以一般来说,只要还记得之前分区的大致大小(比如可能是30G左右之类的),基本上都蛮好判断哪些是假的。经过多次尝试,终于把除了第一个分区之外的所有分区都找回来了,这软件还真是不错,第一个分区估计是被LINUX格式化得太惨了,彻底毁了,算了,反正是个XP,上面没多少数据。。。况且我还有下一招。。。

  分区回来后,粗地查看了一下,除了第一个分区外,其它分区的目录显示都正常,当时松了口气,想貌似损失很小(其实又大意了),随便装了个XP,进入第二阶段:文件级恢复。由于第一个分区是被重建后格式化的,所以特地找那种支持误格式化恢复的,装了个Easy Recovery Pro,这个软件还真是蛮EASY的,选了C盘,设了一些参数,让它自己搜吧,过了一阵,整个C盘原来的文件就都出来了,虽然有一大部分还是丢了,但最主要的Document and Settings目录恢复出来了,有这个就足够了。

  至此,我以为抢救工作完成了,只要重装下系统就可以了。谁知道新刻的盘装OS时,装到一半说某文件坏的,以为没刻好,又刻一张,又坏在同一个地方,么想法了。重新从本本上的ISO刻,这次好了,装驱动,居然声卡显卡驱动接连报解压出错,这就很可疑了,一个不好的念头在脑子中闪过。MASAKA,那个LINUX的分区格式化居然是会对整个硬盘写的?这可灾大发了,必须要做一个完整地检查了。从网上又下了一遍驱动,把好的和坏的做二进制比较,果然,两个文件中各有长为4K的区域被写了一个字节的1和4095个0。这个至少还算个不坏的消息吧,至少它写的数据是一样的。接下来就该找它是按什么规律写的了,随手点了硬盘上几个比较小的RAR测试一下,不是个个都坏,似乎还有点救,找了个本本上有好的版本的400多M的文件拿来再作一下比较,结果是每隔128M就被写了4K,按这个规律,128M以上的文件很难幸免了。最大的一个区里放的游戏和各种收藏了还没来得及压或刻的片子,估计全灭了。不过工作区的代码之类应该中的概率很少,也算一个安慰吧。。。

  按这个规律写了个程序对整个硬盘作了一遍检查,结果和预计一样,工作区受损的大多是那些VC编译中生成的很大的临时文件,代码只有少数几个文件中了,反正也有备份,而娱乐区300G不到的数据里,有合计220G的文件受损。。。不过看上去大多数还是能下得到的,但有几部可能历史久了点,估计很难找到源了。不过又发现了BT下载的一个好处,有几十G的数据,因为种子文件还在,直接拉过去重新校验一下,就可以只下被破坏的那部分了。可是BT下的毕竟是少数,大量收藏用的DVDRIP的片子都是通过EM下的,EM居然没这个功能,真是Feature到用时方恨少啊,甚至想自己去下EM的代码来写一个了。。。想想还是算了,不就是多挂几天么,还是让本本受点累,我休息一下吧。。。

  至此,整个灾害拯救和评估过程结束,10天长假中的前一半就耗在这堆烂事上了。灾后重建就得从长计议,慢慢来了。从这件事,总结出这几个经验:

  分区表要记得备份,这样即使不小心删了,恢复起来是很简单的。分区不见或被格式化并不可怕,千万不要过早放弃,只要用适当的软件,还是可以很好的恢复的(至少表面上是这样。)

  家里备一张类似“超级急救盘”这样的盘还是很有必要的

  BT在这种时候还是有其独特的优势的,EM么,但愿有人能做个类似的功能出来。做人要勤快,不能懒,能刻盘时就刻盘,甚至有人说要给我做“异地容灾备份”(其实就是拿硬盘来COPY)手痒想折腾时最好查一下RP值,太低的话还是歇几天吧

  当然,“罪恶”的根源之一Ubuntu是不能轻易放过的,不能让我的数据白白牺牲了,所以春节的后一半假期就耗在这个上面了,但事实证明Ubuntu的确是值得一试的,比一年多前初试Vista时的感觉好得多了,欲知Ubuntu的庐山真面目,且听下回分解。

  原文作者:freelancerhc
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有