2005/07/01 | 数据恢复、硬盘修复+系统不认硬盘的常规处理方法
类别(电脑维修经验_软件技巧) | 评论(0) | 阅读(1379) | 发表于 14:03

数据恢复、硬盘修复+系统不认硬盘的常规处理方法
Bad:相信不少人在使用电脑的过程中多多少少会遇到数据丢失的问题。或是因为误删除,或者是软件、硬盘损坏。这个专题,就是来探讨这样的一类问题,让大家对这方面不再陌生。希望有这方面经验的坛友们不要吝言……
区区提供的一些文章只作“抛砖引玉”用:
数据恢复基础知识
出处:赛迪网 作者:cLinuxer
  说到数据恢复,我们就不能不提到硬盘的数据结构、文件的存储原理,甚至操作系统的启动流程,这些是你在恢复硬盘数据时不得不利用的基本知识。即使你不需要恢复数据,理解了这些知识(即使只是稍微多知道一些),对于你平时的电脑操作和应用也是很有帮助的。
  我们就从硬盘的数据结构谈起吧……
  硬盘数据结构
  初买来一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上操作系统才可以使用。就拿我们一直沿用到现在的Win9x/Me系列来说,我们一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT、DIR和Data等五部分(其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加)。
  主引导扇区
  主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一提的是,MBR是由分区程序(例如DOS 的Fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。
  操作系统引导扇区
OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。
  文件分配表
  FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份, FAT区紧接在OBR之后,其大小由本分区的大小及文件分配单元的大小决定。关于FAT的格式历来有很多选择,Microsoft 的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
  目录区
  DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,才是真正意义上的数据存储区,即DATA区。
  数据区
  DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破坏的话,也足够咱们那些所谓的DIY老鸟们忙乎半天了……需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件……)。
  硬盘分区方式
  我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。
  主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。
  扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
  所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
  需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
  数据存储原理
  既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题……
  文件的读取
  操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。
  操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。
  文件的写入
  当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。
  文件的删除
  看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动――将目录区的文件的第一个字符改成了E5就表示将改文件删除了。
  Fdisk和Format的一点小说明
  和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复……


--------------------------------------------------------------------------------

-- 作者:admin
-- 发布时间:2004-11-23 9:19:16

--
硬盘是计算机中极为重要的存储设备,计算机工作所用到的全部文件系统和数据资料的绝大多数都存储在硬盘中。硬盘是产生计算机软故障最主要的地方。计算机常见软故障有:文件丢失,电脑不能起动;碎片过多,电脑运行速度变慢;硬盘分区后丢失容量。对付上述软故障,只要会用下列工具软件,就能轻松搞定。
GHOST:硬盘拷贝镜象工具。PQMAGIC:硬盘分区大师。DISKEDIT:磁盘编辑工具。FDISK:分区工具。FORMAT:格式化工具。VOPT99:硬盘碎片整理工具。SYS:系统文件传送工具。

  使用上述工具,应先知道下列基本概念:硬盘主分区,引导分区,扩展分区,磁道,簇,扇区,FAT16,FAT32文件分配表。一个硬盘要能存放文件,必须经过硬盘分区,格式化等操作步骤,因为经过这些步骤之后,在硬盘中就建立起了主分区,引导分区,确定了FAT16或FAT32文件表。主分区的作用是保存硬盘中各逻辑分区在盘片上起始位置和终止位置及分区的容量大小。引导分区的作用是:在固定的位置存放有操作系统文件,在电脑送电或复位时,由BIOS程序将处于固定位置的系统文件装入内存,再将电脑控制权交给系统文件人而完成引导过程。

  以下为硬盘分区的具体参数:主分区表位于硬盘主引导扇区(0柱面0磁头1扇区)的后部,从1BEH字节开始,共占用64个字节,包含四个分区表项。每个分区表项的长度为16个字节,它包含一个分区的引导标志、系统标志、起始和结尾的柱面号、扇区号、磁头号以及本分区前面的扇区数和本分区所占用的扇区数。其中"引导标志"表明此分区是否可引导,即是否活动分区。当引导标志为"80"时,此分区为活动分区;"系统标志"决定了该分区的类型,如"06"为FAT16分区,"0b"为FAT32分区,"63"为UNIX分区等;起始和结尾的柱面号、扇区号、磁头号指明了该分区的起始和终止位置。分区表项的16个字节分配如下:

第1字节:引导标志。
第2字节: 起始磁头。
第3字节:低6位为起始扇区,高2位与第4字节为起始柱面。
第4字节:起始柱面的低8位。
第5字节:系统标志。第6字节:终止磁头。
第7字节:低6位为终止扇区,高2位与第8字节为终止柱面
第8字节:终止柱面的低8位。
第9-12字节:该分区前的扇区数目。
第13-16字节:该分区占用的扇区数目。

  扩展分区作为一个主分区占用了主分区表的一个表项。在扩展分区起始位置所指示的扇区(即该分区的第一个扇区)中,包含有第一个逻辑分区表,同样从1BEH字节开始,每个分区表项占用16个字节。逻辑分区表一般包含两个分区表项,一个指向某逻辑分区,另一个则指向下一个扩展分区。下一个扩展分区的首扇区又包含了一个逻辑分区表,这样以此类推,扩展分区中就可以包含多个逻辑分区。

  以上参数用NU中DISKEDIT工具软件可轻松获取,操作步骤如下:①启动DISKEDIT。②选中硬盘和物理磁盘选项后确定。③在对象菜单上选中分区表(T)。以下数据为主分区信息

000001B0 00 00 00 00 00 00 00 00--00 00 00 00 00 00 80 01
000001C0 01 00 0B FE 7E 04 3F 00-00 00 86 FA 3F 00 00 00
000001D0 41 05 0F FE 3F 01 C5 FA-3F 00 BD 86 BB 00 00 00
000001E0 C1 FE 65 FE FF FE 82 81-FB 00 9D 2C 36 00 00 00
000001F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA

  以上数据中有下划线的80表示活动分区,0B OF都表示FAT32分区,65表示NOVELL分区,此是一个10.2G硬盘,有C:,D:,E:三个盘区,一个NOVELL盘区,其中D:,E:为扩展分区的逻辑盘,因为用手工计算盘区容量比较复杂,一般不能用DISKEDIT去改动分区表中容量数据(如起终止磁头和柱面)。如要改动分区在大小,可用PQMAGIC工具软件,启动后界面如下(在纯DOS下使用更可靠)


  改变分区的大小,只要点击Option中的Resize,再用鼠标拖动盘区亮带边缘或在容量框中直接输入数值,此操作只能空出盘区中的空闲部分,空出的部分可加入相邻盘区中,扩大其容量。有时在分区时由于误操作,使硬盘容量丢失,PQMAGIC和FDISK均不能操作时,可用DISKEIT直接把硬盘中000001B0到000001F0的数值清为0(注:55AA不能动)然后写入硬盘(改DISKEDIT为写模式),之后重新分区,即可轻松恢复。

  硬盘安装操作系统文件后,即可便用。由于操作系统的BUG和软件种类繁多,在各种软件的多次安装和删除操作后,使硬盘中碎片繁多,严重降低读写速度,这时只要启动VOPT99,硬盘文件就会摆放的规规矩矩,VOPT99比WINDOWS98自带的碎片整理软件要快的太多了。但是由于系统注册表的不断膨胀,也严重影响速度。注册表减肥可不容易,尽管有多种注册表工具,但本人用后均感觉不尽人意,远不如用GHOST来得干脆利索,本人的操作是:安装WINDOWS98Ⅱ系统,安装设备驱动程序(显卡、声卡、MODEM),安装常用软件(DirectX,Office软件,其它),总容量控制在620MB左右。之后启动GHOST60,选择LOCAL→Partition→To Image→OK→选中C:区创建一个IMAGE文件,再将此文件保存硬盘上或刻录成光碟。以后整理系统时,启动GHOST选择LOCAL→Partition→From Image→输入此文件的路径和文件名,6分钟左右即可,新一轮工作由此开始。

  工具软件是提高工作效率的基础,对工具软件的应用先要做到心中有数,才能事半功倍。象DISKEDIT,其功能非常强大,应用不当会有很大错误,请各位注意使用方法.
0

评论Comments