www.138139.cn

返回总目录 上一页 目录页 下一页

CIH硬盘数据恢复方法与实例


    一、基础知识
1、DOS(DOS兼容系统硬盘数据)的构成&nbsp
&nbsp
  主分区和扩展分区结构基本相似,以下以主分区为例。&nbsp
&nbsp
  主引导记录(MBR):MBR占一个扇区,在CYL&nbsp0、SIDE&nbsp0&nbsp、SEC&nbsp1,由代码区和分区表构成。其中代码区可以由FDISK/MBR重建。&nbsp
&nbsp
  系统扇区:CYL&nbsp0、SIDE&nbsp0&nbsp、SEC&nbsp1-CYL&nbsp0、SIDE&nbsp0&nbsp、SEC&nbsp63,共62个扇区。&nbsp
&nbsp
  引导区(BOOT):CYL&nbsp0、SIDE&nbsp1&nbsp、SEC&nbsp1&nbsp这是我们过去称的DOS引导区。也占一个扇区。&nbsp
&nbsp
  隐藏扇区:CYL&nbsp0、SIDE&nbsp0&nbsp、SEC&nbsp1,如果是FAT16那么占一个扇区,如果是FAT32则由此占32个扇区。&nbsp
&nbsp
  文件分配表:一般有两个FAT表,FAT12、FAT16的第一FAT表一般均在0-1-2,FAT32的第一FAT表在0-1-33。FAT表是记录文件占用扇区连接的地方,如果两个FAT表都坏了,后果不堪设想。由于FAT表的长度与当前分区的大小有关所以FAT2&nbsp的地址是需要计算的。&nbsp
&nbsp
  根目录区:(ROOT)这里记录了根目录里的目录文件项等,ROOT区跟在FAT2后面。&nbsp
&nbsp
  数据区:跟在ROOT区后面,这才是数据内容。&nbsp
&nbsp
  2、主引导记录简单说明
&nbsp
  主引导记录是硬盘引导的起点,关于代码区不多说了,其分区表,比较重要的是2个标志,在偏移1BE,处的80&nbsp的标记表示系统可引导,且整个分区表只能有一个80标记。&nbsp另一个就是结尾的55&nbspAA标记。用来表示主引导记录是一个有效的记录。&nbsp
&nbsp
  其实,无论MBR还是隐含扇区还是BOOT区,都不重要,这些重建都比较容易。对数据恢复来说,能否成功的找回数据文件是重要的。另外,由于FAT表记录了文件在硬盘上占用扇区的链表,如果2个FAT表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。&nbsp

基本思路是:&nbsp
&nbsp
  1、FAT2没有损坏的情况,用FAT2覆盖FAT1。&nbsp
&nbsp
  2、FAT2也已经损坏的情况,我一般是只期待找回其中某些关键的文件了。我们最期待的是这些文件是连续的。如果不连续的话,也并非没有可能,但这往往还要知道文件的一些细节,包括对一些文件本身的连接结构有了解。如果FAT2没有完全破坏,是有一定用处的,另外,一般来说,FAT16的硬盘因为FAT表靠前破坏的比较严重,一般两个FAT表都坏了,小硬盘也很难恢复了。&nbsp
&nbsp
  二、一个基本恢复被CIH破坏硬盘数据的例子&nbsp
&nbsp
  一直有朋友问手工恢复的技巧,近来恢复了多块被CIH破坏的硬盘,之所以选取这一次,是因为尽管恢复成功,但其中犯了一些错误,值得注意。&nbsp
&nbsp
  委托恢复用户:某银行系统&nbsp
&nbsp
  硬盘情况:CIH发作有该单位电脑人员曾用KV300&nbspF10进行修复,但没有成功,又恢复了保存的MBR。&nbsp
&nbsp
  准备好软盘3张:&nbsp

  DISK1&nbsp:WIN98启动盘(带DEBUG)&nbsp
&nbsp
  DISK2:DISKEDIT等工具(此盘不要写保护)&nbsp
&nbsp
  DISK3:DOS下杀CIH的工具&nbsp
&nbsp
  把我的硬盘摘下,挂上待恢复的的硬盘,开机,进入SETUP,检测硬盘,把参数记下。&nbsp
&nbsp
  CLY&nbsp620&nbspHEAD&nbsp128&nbspPRECOMP&nbsp0&nbspLANDZ&nbsp4959&nbspSECTOR&nbsp63&nbspMODE&nbspLBA。&nbsp
&nbsp
  用准备好的软盘启动:&nbsp
&nbsp
  A:>C:&nbsp
&nbsp
  显示Invalid&nbspdrive&nbspspecification&nbsp
FDISK/MBR重建主引导记录(这是个习惯),重新软盘引导(可能没有必要):此时已经看的见C:硬盘。启动DISKEDIT,启动过程中显示Invalid&nbspmedia&nbsptype&nbspreading&nbspDRIVER&nbspC,哎呀,算了,还是先用DEBUG&nbsp清空分区表,&nbsp并置80和55aa标志。重新启动,再运行DISKEDIT,显示设定为READ&nbspONLY,&nbsp没关系,把CONFIGURATION中的只读选项去掉,存盘,好了,可以编辑了。&nbsp
&nbsp
  由于当时接的硬盘有多块,我把这块当成了是一块只有C分区(这是等待修复的另一块硬盘),所以没看别的东西,我们期待FAT2没有损坏,以用FAT2覆盖FAT1,在这个时候DISKEDIT要比DEBUG容易的多,在FIND&nbspOBJECT中选择&nbspFAT,查一下起始扇区,好的,在CYL&nbsp0&nbspSIDE68&nbspSEC&nbsp14,0000H,F8&nbspFF&nbspFF&nbsp0F&nbsp(FAT32的),好的,FAT2没坏。其实如果不用DISKEDIT的可以用DEBUG查,偏移0000的F8&nbspFF&nbspFF。&nbsp
&nbsp
  由于以为只有C分区,所以,上来就在FIND中查找IOSYS(IO&nbsp和SYS中要有空格)以查找ROOT区。找到后观察,是否有C:\&nbsp下常见文件。好的,ROOT区没被破坏。记下了该扇区:CYL&nbsp0&nbsp、SIDE&nbsp68&nbsp、SEC&nbsp14,备用。&nbsp
&nbsp
  FAT1一般前面已经被破坏了,但后面应该还在,这可以作为检查。因为是32位的,FAT1&nbsp一般在CYL&nbsp0&nbspSIDE1&nbspSEC&nbsp33。&nbsp因为有了ROOT&nbsp区然后应该计算FAT表的长度了,因为FAT2到ROOT前一扇区为止,所以非常简单。然后可以用FAT2覆盖FAT1,这里用DEBUG还是DISKEDIT都可以,如果用DEBUG一般是用INT&nbsp25读绝对扇区,再用INT&nbsp26写入,不过一般要分几次。记得保留断点呀:-)用DISKEDIT可以MARK&nbspFAT2的内容COPY下来,在WRITE到FAT1。&nbsp
&nbsp
  然后可以恢复主引导记录、隐含扇区和BOOT区,可以先用NDD修复分区表,然后可以考虑用标准覆盖法,如果你希望下一步由NORTON&nbspUtilities&nbsp,来接手这些都可以不做。我从另一台FAT32上取来了,相应的部分,写了进去。我这是发现好象有一个D盘。先看一下在说吧。好了,关机串上我的硬盘,用NORTON&nbspUtilities扫描C盘,文件基本恢复,对C盘杀毒,WHY,没有发现病毒,换了2种杀毒软件还是没有病毒,更糟糕的是,显示C盘是948M,有一个D盘,但是95下无法浏览,DOS&nbsp下乱码。于是打电话核实当时的情况,原来是26日那天,放进一张光盘,光驱灯亮了一会,就硬盘狂响,蓝屏死机了。应该证实我的推断一样,是光盘的AUTORUN程序有CIH病毒。所以说没有实时防御能力的软件是没有意义的。另外,他们的硬盘确实分两个区,而且重要文件在D区。(气死我了!)&nbsp
&nbsp
  然后在修复D盘吧,再回到DOS,用DEBUG查找结束标志为55AA&nbsp的扇区,由结构判定是否为扩展分区。此时可算出大小来返主分区表。当然,许多工具也可以很好的完成这一工作。如果你没有把握,就用他们完成好了。&nbsp

经验总结
&nbsp
  1、你不要听信或者凭记忆想一块硬盘该是怎么样的,一定要自己去看,我就是犯了这个错误。&nbsp
&nbsp
  2、KV300&nbspF10确实如一些网友所讲,有一定隐患,如果银行的电脑人员在用KV300&nbspF10处理之前没有备份,可能要给我找些麻烦。&nbsp
&nbsp
  3、恢复数据要本着几项原则:&nbsp

   a、先备份,这也是而后我写HD-MIRROR的原因;

   b、优先抢救最关键的数据;

   c、在稳妥的情况下先把最稳定的鸡蛋捞出来(理应先修复扩展分区,再修复C),最好修复一部分备份一部分;

   d、要先作好准备,不要忙中出错,由于我的机器没有装过NORTON,先解压,习惯的敲了一个D:\TEMP,这才想起来文件险些解在没有完全修好的C盘上。&nbsp
&nbsp
  其实看来,如果FAT2没有损坏的情况下,恢复C盘数据是非常容易的,可以编程实现。如果FAT2损坏了,最容易恢复的当然是只占用一个扇区的文件和连续的文件。&nbsp

址163164.cn 微信1631640 QQ3149886

返回总目录 上一页 目录页 下一页