硬盘分区表恢复的研究与实现

2012-04-29 05:12冯宪光
电脑知识与技术 2012年5期
关键词:数据恢复

冯宪光

摘要:分区表易被破坏而导致数据丢失,针对这种情况,通过分析硬盘的逻辑参数和硬盘的两种寻址模式,提出了一种通过恢复分区表从而恢复数据的解决办法。在重点剖析了硬盘分区结构的基础上,介绍了MBR和EBR的恢复原理,阐述了分区表恢复的详细过程,给出了恢复分区表的实现方案,经测试可以成功恢复因分区表被破坏而丢失数据。

关键词:数据恢复;分区表;MBR EBR LBA

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)05-1164-02

自2000年以来,计算机的应用全球普及,信息化飞速发展,作为信息数据的最重要载体-硬盘,由于本身原因和人为误操作不可避免的出现了损坏,进尔数据丢失。数据恢复是指依靠技术手段将存储于故障存储介质上的文件攻取出来的过程。

计算机数据主要以磁盘存储,硬盘是最主要的存储设备,因硬盘特点,如硬盘的物理故障、用户的误操作、病毒等会导致分区表损坏、文件误删除等等。数据丢失大部分是由于分区表损坏造成的,而数据本身并没有被破坏,所以只要恢复分区表即可找回丢失的数据。本课题从分析硬盘分区表存储原理入手阐述分区表恢复过程从而实现数据恢复的方法。

1硬盘的数据存储结构

现在硬盘多数是一个盘片,少数是两个盘片,表面进行格式化,划分磁道、扇区,磁道由内向外从0开始依次编号,扇区从1开始编号,扇区是最小的存储单元,第个扇区512字节,同时编号相同的磁道又称为柱面。每个盘片有两个面,都用来存储数据,每个面对应一个磁头,磁头数对应着磁面数,数据的读写按柱面进行的,先从同一柱面的0号磁头开始以扇区为单位进行读写操作,同一柱面上的所有磁头读写完成后才开始下一磁头。

为方便硬盘读写操作,为每个扇区进行编号,方式有两种,一种是按物理地址方式:柱面/磁头/扇区,简称C/H/S(Cylinde/Head/ Sector),随着硬盘的容量增大,每磁道上的扇区按等密度结构划分,读写操作方式按新的寻找址方式-LBA,每个扇区都按某种规则编号,从0开始。在磁盘内部定位到某扇区进可进行LBA到CHS的转换:LBA=C×255×63+H×63+(S-1)。

2硬盘的分区

硬盘必须先分区再使用,分区类型分为主分区、扩展分区,在扩展分区中包含逻辑分区,主分区和扩展分区总数最多仅有4个。分区后硬盘的第一扇区保存主引导记录(MBR),512字节,包括引导程序、分区表和引导标志。

MBR的分区表存储了每个分区占16个字节的四个分区信息,包括1个字节的活动分区标志、3个字节的起始扇区地址、1个字节的分区类型、3个字节的分区结束扇区CHS地址、4个字节的分区起始LBA地址和4个字节的分区大小。

MBR最多表现4个分区的信息,用EBR描述4个分区外的扩展分区,是一个指向下一个分区表的指针,实际上下一个分区也不只一个,则EBR是一个分区和指向下一个分区的指针。常见的分区结构如图1:

图1分区结构图

3分区表的恢复

当分区表破坏,主要是分区表指针链表被破坏,产生断开,这时该分区将不能被操作系统识别,进尔这个分区的数据将无法访问,这种情况下的数据恢复就是分区表的恢复。

常见的分区表破坏是由于人为的误操作和恶意病毒所至。当MBR破坏后,操作系统会无法引导,也就是进入不了系统,同时硬盘的原有分区就找不到了,若EBR被破坏,则会出现部分分区访问不到。虽然可以将此硬盘挂到其它机器上,用其操作系统识别硬盘,可以对该硬盘进行初台化,用软件方式可以修复其引导代码,但分区信息仍需要手动恢复。

3.1 MBR修复

MBR破坏后一般只损坏MBR分区信息,这样不能找到主分区和扩展分区,一般逻辑分区没有被破坏,只要修复MBR的分区信息即可。

分区信息中主要是起始扇区地址和分区大小,一般硬盘有一个主分区和一个扩展分区,扩展分区中再包含多个逻辑分区,主分区起始位置是63个扇区来保留MBR,主分区的大小需找到EBR后才能计算。

方法一:用DiskGenuis的分区恢复功能,打印硬盘,搜索固定分区或整个硬件,若能找到分区,并显示分区内的内容,说明分区查找正常,可保存来恢复分区信息。

方法二:用WinHex磁盘编辑器打开硬盘,通过搜索固定位置的“55AA”标志找到第一个EBR,同时注意区分是否是正确的EBR扇区,计算方法:

主分区大小=第一个EBR的LBA地址- 63

扩展分区大小=硬盘总大小-第一个EBR的LBA地址

通过上面算法可以确定主分区信息和扩展分区信息。分区表的分区类型通过搜索逻辑驱动器的起始扇区确定,是操作系统进入文件系统后访问的第一个扇区,该扇区的标志是第一个字节是“EB”,0x03-0x0A为文件系统类型,对于扩展分区分区类型为05。在WinHex中计算出的数值和分区类型输入,MBR分区恢复完成。

3.2 EBR修复

EBR是记录扩展分区的地址的指针,被破坏后,扩展分区断开,则逻辑分区无法识别。分析一下EBR的分区信息。EBR分区表有两个信息:一个记录逻辑分区的起始扇区的LBA地址和逻辑分区大小。若存在第二个逻辑分区,则第二条分区信息记录下一个EBR的LBA地址和下一个逻辑分区的大小。

因一般情况下硬盘有一个主分区和一个扩展分区,扩展分区中包含多人逻辑分区。则逻辑分区的起始扇区地址和大小的公式:

当前逻辑分区大小=上一个扩展分区大小–63

当前分区的起始LBA =下一个EBR的LBA–63

通过搜索之前和之后的EBR,将当前EBR的分区信息计算出来,搬运恢复断开的扩展分区链表。

4结束语

在MBR和EBR修复中,根据以下信息:一个EBR扇区的结束标记是“55AA”,另一个是EBR扇区的偏移446-477间的分区信息必须是合法的,最后逻辑分区的起始扇区是否合法。

在进行分区恢复中要了解MBR和EBR的结构,认识分区表基本原理,总结出分给表恢复方案,在发表此文后,作为研究课题继续完善和扩展该方案,以解决分区丢失的数据恢复,进一步解决硬盘分区交错等复杂情形下的数据恢复。

参考文献:

[1]鲁恩铭.硬盘格式化数据恢复技术研究与实现[D].中国优秀硕士学位论文全文数据库,2009(2).

[2]王强.Windows平台下磁盘数据恢复技术的研究与实现[D].中国优秀硕士学位论文全文数据库,2008(1).

[3]朱珍民,黎慧,魏丕武,等.硬盘数据逻辑结构及其数据恢复[J].湘潭大学自然科学学报, 2000(2) .

[4]戴士剑,涂彦晖.数据恢复技术[M].北京:电子工业出版社,2008(7).

猜你喜欢
数据恢复
常见硬盘数据丢失的分析与恢复
浅议数据安全与恢复
基于Android—x86的windows恢复系统研究与设计
Windows操作平台下的数据恢复技术
Redis基于RDB+AOF的数据恢复策略研究
浅析数据恢复技术
数据备份技术
Windows下数据恢复的一点认识
服务器数据备份和恢复研究
浅谈计算机数据恢复