如何手工恢复分区表

时间:2022-09-06 07:59:02

如何手工恢复分区表

摘要:手工恢复分区表是一种比较可靠的恢复方法,使用这一方法必须首先掌握硬盘分区的划分策略、分区数据的记录位置、分区数据的记录格式、分区数据之间的相互关系以及分区表组的相关知识;其次要能够使用WINHEX软件,去处理访问硬盘有关扇区的数据,并根据处理结果来推导出丢失的分区信息,进而实现分区表的恢复。

关键词:MBR;EBR;扇区数;分区记录项

中图分类号:TP309文献标识码:A文章编号:1009-3044(2009)24-6610-03

How to Restore the Partition Table by Hand

JIN Tian-xin

(Wuxi Nanyang Vocational and Technical College,Wuxi 214081,China)

Abstract: Hand to restore the partition table is a relatively reliable method to restore the use of this method must first master the strategy division of the hard disk partition, partition the data records of the location, area of the recording format of data, area data of the inter-relationship between as well as the partition table of the relevant knowledge group; WINHEX followed by the use of software to be able to deal with access to hard data on the sector, and in accordance with the results derived to deal with the loss of the partition information, and to achieve the restoration of the partition table.

Key words: MBR; EBR; fan area number; subarea record an item

操作系统在硬盘中读写数据的操作,是根据地址进行的。因而硬盘的可用存储空间必须都有地址记录。那么,硬盘中的地址是如何记录的呢?从硬盘出现开始,即采用了划分区块的策略,将整个可用空间首先划分为若干个分区,再在分区内进一步进行存储单元的地址标识,为以后的数据读写提供一个基础。分区表就是记录地址信息的一组表项,是硬盘中极其关键的数据,当分区表损坏时,硬盘空间的目录就丢失了,也就无法再进行数据读写了。所以恢复分区表是挽回数据的重要步骤之一。进行分区表恢复有手动恢复和使用软件自动恢复两种方法,本文将就手动恢复的原理及过程进行分析。

下面让我们先来了解一下硬盘的物理结构。在密封的金属壳体中,包含一片或几片表面镀有磁性物质的盘片,盘片两面安装有磁头以及相应的控制电路。硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后进行读写操作。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或使线圈阻抗产生变化,经相关电路处理后还原成数据。

我们再来了解一下硬盘分区的逻辑结构。硬盘出厂前已进行过低级格式化,将空白的磁盘盘面划分成若干个同心圆磁道(逻辑上的),再将每根磁道划分为若干个扇区,扇区是硬盘上最小存储单元 。硬盘内有若干盘片,每个盘片的两个面都各有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号,形成磁头号;每个盘面的划分规则通常是一样的。这样每个盘片上半径R值相同的同心圆,在逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……形成柱面号;而每个磁道又被划分为几十个扇区(Sector),通常的容量是512字节,并按照一定规则编号1、2、3……形成扇区号。至此,硬盘上已经有了许多的扇区,而且,每个扇区都有自己的位置标记,其表达形式是Cylinders×Heads×Sector,称为绝对地址。但是,由于记录地址的字节数有限,采用这样的方法,标记容量最多只有8G的空间,过去硬盘容量较小,是能满足使用要求的,但是随着硬盘容量发展到10G、20G时,就无法满足要求了。

目前,对扇区的标记定位采用逻辑块地址的方法(也叫线性寻址方式),即LBA,是一个相对地址。它将每一个扇区重新编号,每一个位置不再用过去的由三个数字表示,而是用一个数字表示。举例说明,住宅楼某号门中,一楼的三户人家一般标记为101、102、103;二楼的标记为201、202、203;如果采用相对地址模式标记,则是101记1,102记2,103记3,201记4,202记5,203记6。采用这一方法,只用很少的字节就可以记录一个扇区,从而使分区的分配变得十分灵活,所能支持的寻址空间也大大增加,硬盘的最大标记容量可以达到2000G。

对硬盘进行分区,也就是将众多扇区分片,形成我们在操作系统中看得见的C盘、D盘、E盘等,以方便使用。分区表就是记录这个分片信息的表项,操作系统能否安装、数据能否读写都是以此为前提的。

分区表严格的说不是一个表,而是一组表,由零磁道的主分区表和各个后续分区的次分区表共同组成。若一个硬盘分四个区,则分区表组构成如表1:

MBR是主引导记录,包含主分区表,记录主分区(C盘)的位置信息及扩展分区的位置信息;EBR,也叫做扩展MBR(Extended MBR),是余下分区(逻辑分区)的引导记录,包含所在逻辑分区的分区位置信息和其下一个逻辑分区的位置信息;EBR3的分区表中就只有F盘的分区信息,而没有下一个分区的信息,至此硬盘中分区的地址就这样形成一个“分区链表”, 通过这个分区链表,操作系统就可以识别到所有的分区,并能够访问分区内的每一个地址。

通常情况下EBR是不会被破坏的,或者破坏的几率极低,倒是位于零磁道的主引导记录MBR因为病毒攻击、分区调整失败、多系统引导菜单出现错误、安装非MS操作系统等容易遭到损坏,造成“分区链表”第一项的丢失。所以,我们就是针对这一特点,利用各个EBR留存的信息,来恢复MBR中的分区表。

分区表是由分区工具建立的。第一分区表的存储位置在整个硬盘的最前端,绝对地址Cylinders×Heads×Sector是0柱面/0磁头/1扇区,该磁道的后62个扇区不使用;后续分区表位于各个逻辑分区的最前端,其数据结构与第一分区表完全相同。

前面提到,每扇区的大小是512字节,在这个空间中,前446字节是主引导代码,后64个字节是分区记录项,可以记录4个分区的分区信息,每个分区的信息占用16个字节,不使用的记录项则添0(大多数情况下只使用前面两个记录项,只有存在多个操作系统需要引导时才会使用更多的记录项),最后两个字节是结束标志55AA。分区表内部结构如表2:

上一篇:浅析VB中的数据库技术 下一篇:关系规范化理论在数据库设计中的重要性