存储 频道

数据恢复与软故障处理基本指南(二)

【IT168 资讯】数据恢复的准备知识

  1、系统工作机理的简单介绍(本节由lowpower缩写)这一部分在原作中是最重要的一章,考虑到篇幅关系,进行了大量的删节。

  ①、 DOS(DOS兼容系统)硬盘数据的构成

  DOS磁盘系统,可以按照逻辑分区的概念管理物理空间,不同分区可以装载不同的OS系统。示意如下:

  硬盘空间
  第一扇区 | 分区1 | 分区2| 分区3 |分区4 |
  主引导扇区|引导扇区|引导扇区|引导扇区|引导扇区|
  各分区公用|各个分区相对独立,可安装不同操作系统。

  对FAT结构的分区每一分区都有独立的引导记录,FDT表,FAT表等。同时,系统还有一个最为重要的主引导记录。在0柱0面1扇区,今后我们用CYL代表柱、SIDE代表面,SEC代表扇区。以下一个FAT结构分区的简图。

  保留区--磁盘参数表、DOS引导记录
  控制区--FAT表1、FAT表2根目录区
  数据区--数据区

  以下简单介绍一下重要的部分:

  主引导记录又称主分区表、MBR等等:MBR占一个扇区,在CYL 0、SIDE 0 、SEC 1,由代码区和数据区构成。其中代码区是一端标准的程序,完成 BIOS自举到OS BOOT之间的工作,为OS启动做最后的准备。标准代码区可以由FDISK/MBR重建,但对于多系统引导的不标准MBR,将被这一操作破坏。MBR的数据区记录了分区情况。
  系统扇区:CYL 0、SIDE 0 、SEC 1-CYL 0、SIDE 0 、SEC 63,共62个扇区引导区又称BOOT区:CYL 0、SIDE 1 、SEC 1 这是我们过去称的DOS引导区。也占一个扇区。

  文件分配表又称FAT:是记录文件占用簇的情况和连接关系的地方。一般有两个FAT表,起到备份的作用。FAT12、FAT16的第一FAT表一般均在0-1-2,FAT32的第一FAT表在0-1-33。由于FAT表记录文件占用扇区连接的地方,如果两个FAT表都坏了,后果不堪设想。

  由于FAT表的长度与当前分区的大小有关所以FAT2的地址是需要计算的。

  根目录区(ROOT、FDT):这里记录了根目录里的目录文件项等,ROOT区跟在FAT2后面。

  数据区:跟在ROOT区后面,这才是数据内容。

  其实, MBR、隐含扇区、BOOT区,重建都比较容易。数据恢复的关键在于恢复数据文件。由于FAT表记录了文件在硬盘上占用扇区的链表,如果2个FAT表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。

  ②、 主引导记录简单说明:

  主引导记录是硬盘引导的起点,关于代码区不多说了,其数据区,比较重要的是2个标志,80H和55AA,80H一般在偏移1BE处,80是分区激活的标志的标记表示系统可引导,且整个分区表只能有一个80标记。另一个就是结尾的55AA标记,用来表示主引导记录是一个有效的记录。另外,各个分区自身的引导记录,也是以55AA结束,这是我们查找分区的标志。我们后面在介绍如何主引导记录中,给出了一个完整的分区表的例子,大家可对照查看。数据区中,用10H字节表示一个分区,最多可表示4个分区,分别从1BE、1CE、1DE、1EE开始,我们后面给出了分区表项对应地址的含义。大家可以对应分析一下以下分区的情况。

  80 01 01 00 0B FE BF FC 3F 00-00 00 7E 86 BB 00
  ① ② ③ ④ ⑤ ⑥

  ①:激活标记,80表示可引导分区
  ②:分区开始的磁头号为01、开始的扇区号为01、开始的柱面号为00,由于开始的扇区号为2进制6位,而开始的柱面号为2进制10位,因此扇区号所用字节的高两位要加在柱面号高两位。
  ③:分区的系统类型FAT32(0B),01是FAT12,04为FAT16,06为BIGDOS,07为NTFS,其他参见分区类型表。
  ④:分区结束磁头号254、分区结束扇区号63、分区结束柱面号764
  ⑤:首扇区的相对扇区号63
  ⑥:总扇区数12289622

  2、常见手工处理工具与DOS外部命令介绍

  DEBUG:古老和最为常见的调试跟踪软件,始终捆绑在微软的DOS/WIN9X操作系统中。有19个子命令。有编写执行汇编指令,直接读写绝对扇区和内存单元等功能,可以在最艰苦的条件下工作。DOS6.22以下的系统,DEBUG.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  DISKEDIT:常见16进制编辑软件,字符界面,可以以文件方式和扇区方式读写逻辑内容,可以读写绝对扇区,可以方便的查找编辑分区表、FAT表、ROOT区等重要扇区。这一点要比DEBUG更方便。但在一些重要扇区损坏的情况下,DISKEDIT可能无法启动。DISKEDIT软件可以在著名的Norton Utilities软件包中找到。最新的DISKEDIT出现在NU4中。

  NDD:常见的FAT文件结构磁盘修复工具,就是著名的NORTON磁盘医生,可以自动修复分区丢失等情况,可以抢救软盘坏区中的数据,强制读出后搬移到其他空白扇区。希望大家不要再使用NORTON FOR DOS7或8的NDD,这个版本由于不支持大分区、FAT32、长文件名等技术,会给你带来大量的麻烦。建议大家使用Norton Utilities4或更高版本中的NDD.EXE,这是纯DOS下的工具。在硬盘崩溃或异常的情况下,他可能可以带给用户以希望。WIN9X下的磁盘医生调用的并不是这个程序,而是NDD32.EXE.

  FDISK:FDISK当然是个危险的命令,很多人非常恐惧,事实上,FDISK命令的运行并不影响任何分区内的硬盘数据,他对分区的设置操作,只改变主分区表的数据区。而特别是FDISK异常重要的隐含参数/MBR,可以重建主分区表的代码区,清除主引导型病毒等。这是非常有用的操作。DOS6.22以下的系统,FDISK.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  FORMAT:在一些人眼中,FORMAT是最可怕的命令,但他并不是对硬盘清零,特别值得注意的是,很多文件恢复工具都建议你恢复前先FORMAT该分区起到保护的饿作用。DOS6.22以下的系统,FORMAT.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  HD-COPY:传统的软盘COPY工具,2.0版本以后加入了强制读的功能,可以读出一些损坏扇区的内容。

  SYS:SYS命令是重建BOOT区的最简洁的手段,也可以杀除BOOT区病毒。DOS6.22以下的系统,sys.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  令我非常遗憾的是,至今我没有发现比较出色的扇区级备份镜象工具,我曾写过一个HD-MIRROR,但由于错误较多,我提供下载的第二天就停止了发布,另外fixc的作者noz写过一个clone.exe,但可惜只适合相同的硬盘。我也曾以为GHOST可以做到这点,事实上,你目前还不能指望他为你备份一块深度破损的硬盘。。如果有一个有效的能以按扇区机制(而不是文件机制)压缩备份一块硬盘将之做成一个镜象文件的话,那么我们的恢复工作就拥有了更多的保证和余地。我们可以更大胆的做恢复的尝试。

  3、一些自动处理工具或软件包

  首先介绍国内的一些免费修复工具

  FIXMBR:何公道先生写的一个修复MBR的工具,适合处理逻辑分区丢失的情况, 有一些可选参数,支持FAT32、FAT16,不支持NTFS、LINUX等分区,支持8.4G以上硬盘。可修复CIH发作后的扩展逻辑分区。

  VRVFIX:北信源公司的推出的修复硬盘共享工具,适合处理逻辑分区丢失的情况,处理的基本比较准确。支持FAT32、FAT16,不支持NTFS、LINUX等分区。也不支持8.4G以上硬盘。

  FIXC:国内最早出现的可以修复部分被CIH破坏的C盘的工具,作者是NOZ,新版本也加入了修复分区信息的功能,支持FAT32、FAT16,有限支持NTFS,不支持8.4G以上硬盘。目前的版本已经比较完善。

  FIXHDPT:TBSOFT工作室的分区信息修复工具。支持FAT32、FAT16,不支持NTFS和LINUX,不支持8.4G以上硬盘,是历史比较长的工具之一。

  RE(ReapirEasy):本人早期写的分区表修复工具,支持FAT32、FAT16,有限支持NTFS,不支持8.4G 以上硬盘,和某些BIOS不兼容。其整体水准低于前面列举的工具。国外一些系统维护的工具目前已经达到了非常强大的程度。

  Norton Utilities:历史最悠久的系统维护工具。不仅可以数据恢复,还可以系统加速和修补内存错误。目前最新的版本是NU4.5 FOR 9X、NU2 FOR NT等。

  Tiramint:最为出色的灾难恢复工具之一,有NTFS、FAT32、FAT16、NOVELL4种版本。生成急救软盘,可以对深度破坏的磁盘进行交叉恢复。

0
相关文章