硬盘数据丢失找回的方法
脚本之家
硬盘分区方式
硬盘分区后一般形成3种形式的分区,即主分区、扩展分区和非DOS分区。其中主分区又称为主DOS分区(Primary DOS Partition),扩展分区又称为扩展DOS分区(Extended DOS Partition)。非DOS分区(Non-DOS Partition)是一种特殊的分区形式,它是将硬盘中的一块区域单独划分出来供另一个操作系统使用,如Windows NT、Linux和Unix等。对主分区的操作系统来讲,非DOS分区是一块被划分出去的存储空间。只有非DOS分区内的操作系统才能管理和使用这块存储区域,非DOS分区之外的系统一般不能对该分区内的数据进行访问。
主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其他逻辑磁盘。
扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于微机操作系统仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。由于操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
---- 需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
硬盘分区结构
为了方便操作系统在启动过程中访问硬盘的分区参数,分区的相关数据存储在一个被称为主引导扇区(MBR)的特殊存储空间中,也就是存储在硬盘的0磁头0柱面 1扇区。主引导扇区为分区数据保留了64个字节的存储空间,每个分区的数据占用16个字节的存储空间。硬盘分区数据由于受主引导扇区中只能存储4个分区数据的影响,因此采用的是一种混合的分区数据保存结构,这种混合的分区数据结构由以下3个部分组成:
1.主分区的分区数据存储在主引导扇区中,并且通常是分区表数据中的第一项。考虑到应用的广泛性,主分区通常也是活动分区。
2.根据用户需要,可以建立一个扩展分区。扩展分区的相关数据也存储在主引导扇区中。扩展分区实际上是一个指针,它指向系统下一个分区,也就是下一个逻辑磁盘的位置。
3.根据是否已经建立了扩展分区,系统允许建立2~3个非DOS分区,用于建立其他操作系统的存储和管理区域。
根据分区的结构,我们知道在主引导扇区的分区表中存储上述3种类型分区形式的参数,这些参数包括分区的起始磁头、柱面、扇区和分区结束的磁头、柱面、扇区参数,以及分区的类型和是否为活动分区等对分区至关重要的数据。对于主分区和非DOS分区来讲,这些参数就是分区实际的参数。而对于扩展分区来讲,其扩展分区的起始物理地址实际上是另一个分区表数据的存储物理地址。根据扩展分区中所建立的逻辑磁盘的数量,将相应产生相同数量的分区数据。例如,假设一个物理磁盘的扩展分区中建立了3个逻辑磁盘,则在主引导扇区中存储的分区表中可以找到第一个逻辑磁盘的起始分区地址;而在第一个逻辑磁盘的起始物理地址中将存储两项分区数据,一项是当前逻辑磁盘的分区数据,另一项是指向下一个逻辑磁盘的起始分区地址。也就是说,每一个逻辑磁盘
实际上均有一个分区引导扇区,该分区引导扇区存储当前分区和下一个分区的引导扇区的物理地址。若分区引导扇区中仅存有当前分区的物理地址,没有下一个分区的物理地址,则表示当前分区是最后一个逻辑磁盘。所以,我们称这种逐项给出下一个分区地址的指针链表为一个分区结构的链表。
包括有4个逻辑磁盘的分区数据存储结构如图所示。
根据上图所阐述的分区与逻辑磁盘结构关系,不难得出这样的结论:逻辑磁盘实际上就是一个独立的分区,只不过分区的参数不是存储在主引导扇区中,而是存储在各个分区的第一个扇区中。通过存储在主引导扇区中的扩展分区参数,按单向链表的方式可以逐个访问到逻辑磁盘的分区参数。
用实际的分区数据来理解磁盘参数的存储结构
下面我们用一组实际的数据对上述分区结构理论进行论证,有关的数据如图所示。
根据图提供的数据,主引导扇区(0磁头0柱面1扇区)中存储的分区表数据表示物理硬盘分成两个区,其中第1个分区为主分区(分区类型标志为06H),且为活动分区。而第2个分区为扩展分区(分区类型标志为05H),下一个分区表数据的存储地址为0磁头F4H柱面(即244柱面)1扇区。用汇编语言程序读入0 磁头F4H柱面1扇区的数据,发现其分区表的数据结构与主引导扇区完全相同,但没有分区引导程序部分,除了分区表数据外,其余数据均为0。第2个分区引导扇区中存储的分区表数据表示该分区从1磁头F4H柱面1扇区开始,这是该分区的逻辑0扇区的位置,而分区标志(06H)表示对应的分区为主分区,下一个分区从0磁头1ABH(即427)柱面(柱面参数共10位二进制,其中第9和10位由前一个字节的最高两位提供)1扇区开始,为扩展分区。依次类推,可以通过第1个扩展分区的数据依序找到每一个分区或逻辑磁盘的数据。在0磁头262H(即610)柱面1扇区中存储的分区表数据表示该分区是最后一个分区。
根据上图所提供的硬盘实际存储的分区数据,不难得出这样的结论:该硬盘共有两个分区,其中主分区构成逻辑C磁盘,扩展分区构成D、E和F 3个逻辑磁盘。
至此,我们了解了硬盘分区及逻辑磁盘的构成原理,同时掌握了分区的数据存储结构。通过掌握分区的数据存储结构有助于我们了解数据恢复的意义。
常用数据恢复软件介绍:
PCtools9.0(DOS)
改软件具有初级的数据恢复功能,使用计算机时间较长时间的用户对此软件较为熟悉。由于只在DOS下使用改工具,目前此款软件的应用范围已经大大缩小,取代它的则是在操作系统下使用的数据恢复软件。
工具软件PCTOOLS是由美国Central Point软件公司对PC机设计的一实用工具箱。自1985年第一版问世,已经历多次版本更新。功能从初期的方便快速的磁盘/文件操作(弥补DOS功能的不足)到如今的集磁盘维护、桌面管理、支持网络通讯等多种强有力的功能于一体。操作极为方便、灵活,使一般用户能做以前只有专家才能进行的一些工作,诸如编辑EXE文件、汉化软件、恢复被删除的数据。查看磁盘状态:用PCTOOLS的MAP功能,可以获知磁盘上是否有坏的扇区,磁盘上自由空间百分比、可用空间、文件分配表、已分配的文件、BOOT区、目录、只读、隐含等文件的分布状况。排序(SORT):可将磁盘上的所有文件按文件名、扩展名、文件最后修改日期和文件大小进行的分布重新排列恢复已删除文件(UNDELETE):只要被删掉文件的存贮区域未被其他文件覆盖,均可恢复。搬动文件(MOVE):可将文件
源盘上移到目标盘上。此外,PCTOOLS还提供了磁盘初始化、硬盘磁头复位、查找字符串和打印文件清单等其它功能。
Easyrecovery
Easyrecovery是一个非常著名的老牌数据恢复软件。该软件功能可以说是非常强大。无论是误删除/格式化还是重新分区后的数据丢失,其都可以轻松解决,其甚至可以不依*分区表来按照簇来进行硬盘扫描。但要注意不通过分区表来进行数据扫描,很可能不能完全恢复数据,原因是通常一个大文件被存储在很多不同的区域的簇内,即使我们找到了这个文件的一些簇上的数据,很可能恢复之后的文件是损坏的。所以这种方法并不是万能的,但其提供给我们一个新的数据恢复方法,适合分区表严重损坏使用其他恢复软件不能恢复的情况下使用。Easyrecovery最新版本加入了一整套检测功能,包括驱动器测试、分区测试、磁盘空间管理以及制作安全启动盘等。这些功能对
日常维护硬盘数据来说,非常实用,我们可以通过驱动器和分区检测来发现文件关联错误以及硬盘上的坏道。
Finaldata
Finaldata2.0 是目前Finaldata的最新版本。Finaldata是一个日本人开发的数据恢复软件,Finaldata自身的优势就是恢复速度快,可以免去搜索丢失数据漫长的时间等待。不仅恢复速度快,而且其在数据恢复方面功能也十分强大,不仅可以按照物理硬盘或者逻辑分区来进行扫描,还可以通过对硬盘的绝对扇区来扫描分区表,找到丢失的分区。Finaldata在对硬盘扫描之后会在其浏览器的左侧显示出文件的各种信息,并且把找到的文件状态进行归类,如果状态是已经被破坏,那么也就是说如果对数据进行恢复也不能完全找回数据。这样方便我们了解恢复数据的可能性。同时此款软件还可以通过扩展名来进行同类文件的搜索,这样就方便我们对同一类型文件进行数据恢复。
Finaldata 的速度之快不仅表现在对硬盘扫描时迅速,把已经找到要恢复的文件进行保存的速度也非常迅速,Finaldata能充分利用IDE硬盘的ATA133、 ATA100等最大接口速度,对数据进行快速保存,在保存数据时间方面,Finaldata比其他同类型软件要快一倍以上。
几种常见情况下的数据恢复
·误操作导致高级格式化分区后的数据恢复
在DOS 时代有一个非常不错工具称为UnFormat,它可以恢复由Format命令清除的磁盘。如果用户是在DOS下使用Format命令误格式化了某个分区的话,那不防使用该命令试试。不过UnFormat只能恢复本地硬盘和软件驱动器,它不能恢复网络驱动器。UnFormat命令除了上面的反格式化功能,它还能重新修复和建立硬盘驱动器上的损坏分区表。
但目前使用UnFormat来恢复格式化后分区的方法已经不那么实用了,我们可以使用多种恢复软件来进行数据恢复,比如诺顿、Easyrecovery和Finaldata2.0等恢复软件均可以方便的进行数据恢复工作。
·零磁道损坏时的数据恢复
硬盘的主引导记录区(MBR)在零磁道上。MBR位于硬盘的0磁道0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。零磁道一旦受损,将使硬盘的主引导程序和分区表信息将遭到严重破坏,从而导致硬盘无法引导。
0磁道损坏判断:系统自检能通过,但启动时,分区丢失或者C盘目录丢失,硬盘出现有规律的“咯吱……咯吱”的寻道声,运行SCANDISK扫描C盘,在第一簇出现一个红色的“B”,或者Fdisk找不到硬盘、DM死在0磁道上,此种情况即为零磁道损坏!
零磁道损坏属于硬盘坏道之一,只不过由于它的位置太重要,因而一旦遭到破坏,就会产生严重的后果。如果0磁道损坏,按照目前的普通方法是无法使数据完整恢复的,通常0磁道损坏的硬盘,可以通过PCTOOLS的DE磁盘编辑器(或者DiskMan)来使0磁道偏转一个扇区,使用1磁道来作为0磁道来进行使用。而数据可以通过Easyrecovery来按照簇进行恢复,但数据无法保证得到完全恢复。