您的当前位置:首页正文

基于WinHex的磁盘分区数据恢复技术分析与实现

2020-03-22 来源:小奈知识网
基于WinHex的磁盘分区数据恢复技术分析与实现 袁海峰 (苏州科技学院网络与教育技术中心,江苏苏州21501 1) 摘要:结合实例概括介绍了磁盘分区人为删除或病毒破坏,导致分区丢失,使用WinHex磁盘编辑软件恢复磁盘 分区数据的方法。 关键词:WinHex软件;磁盘分区;数据恢复 在信息化越来越集中的今天.计算机教学已成为现代教 育技术的主要技术手段,在教育教学中发挥着越来越重要的 作用。计算机中存储的教学资源数据,也越来越极其重要。 而人为删除、病毒破坏、存储介质质量缺陷等众多因素都在 威胁着教学资源数据的安全,给我们造成巨大的损失,这些 损失往往无法用金钱来衡量。因此。如何预防计算机中存储 的数据免遭破坏,如何在硬盘数据遭到破坏后迅速恢复,这 就是所要探讨的问题。 在这些数据丢失中,有一种常见的故障,就是分区丢失。有 的是因为重装系统误删了分区,有的是病毒篡改了分区,导致 硬盘分区消失,里面的资料找不到。这些分区丢失的情况,都 可以通过基于WinHex的磁盘分区数据恢复技术,手工计算和 调整分区参数,恢复分区信息,来实现数据恢复的目的,Win. Hex在硬盘扇区数据编辑上具有强大优势及其应用的便利性。 1 MBR磁盘分区存储结构 作为目前最主流的操作系统Windows,它能够支持的分区 结构主要有MBR磁盘分区和GPT磁盘分区。但只有基于EFI 主板的系统才能从GPT启动。本文只讨论应用最广泛且最常 见的MBR磁盘分区。 MBR磁盘分区是目前使用最广泛的一种分区结构。Linux 系统、基于x86架构的UNIX系统也都能够支持MBR磁盘分 区【l1 MBR磁盘分区主要分为基本分区和扩展分区两种,其中 扩展分区又可以划分出多个逻辑分区。 MBR分区的分区表存储结构如图1所示。 MBR主引导记录 和基本分区表 基本分区1 l l基本分区2I l基本分区3l I扩展分区表1 逻辑分区1 l _扩展分区表2 卣圆‘蠢团 匝固 囱 图1 MBR分区的分区表存储结构 基本分区表只有4个表项.只能包括4个基本分区表 项或者3个基本分区表项和1个扩展分区表项。如果硬盘 划分的分区少于或等于4个,使用基本分区表就可以完整 标记4个磁盘分区信息。如果硬盘划分的分区大于4个,则 要使用基本分区表和扩展分区表一起来完整标记磁盘的分 区信息。 扩展分区表使用类似链表的结构来描述分区,每一个扩 展分区表包含一个逻辑分区信息和下一个扩展分区表信息。 直到最后一个扩展分区表只包含一个逻辑分区为止。磁盘管 理程序通过解析分区表链来完整识别整个磁盘的分区信息。 1.1 MBR主引导扇区 硬盘的0扇区为MBR扇区,又叫做主引导扇区。MBR主 引导扇区包括MBR主引导记录和基本分区表。其开头的446 字节内容为MBR主引导记录,其后是4个16字节的基本分 区表项,以及2字节的结束标志(0x55AA)t2]。主引导扇区记 录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信 息,是数据信息的重要入I:I。如果它受到破坏,硬盘上的基 本数据结构信息将会丢失。 通过一个实例分析MBR主引导扇区。表1是一个磁盘 MBR主引导扇区。 表1磁盘MBR主引导扇区 offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0O0000o00 33 CO 8E D0 BC 00 7C 8E C0 8E D8 BE O0 7C BF OO 0O00001B0 65 6D 00 O0 00 63 7B 9A EF CD 70D7 O0 00 80 20 0Ooooo1C0 21 OO 07 FE FF FF OO 08 00 00 00 O0 40 O1 00 FE 0OO0o01DO FF FF 07 FE FF FF O0 08 40 01 OO OOA0 00 00 FE 0Ooooo1E0 FF FF 07 FE FF FF OO 08 EO 0l OO OOA0 00 oo FE 0O0o001F0 FF FF OF FE FF FF 00 08 80 02 00 FO 7F 01 55 AA 偏移地址Ox00000000~0x000001BD这446字节为引导代 码。主要作用是检查分区表是否正确,并且在系统硬件完成 自检以后将控制权交给硬盘上的引导程序。它不依赖任何操 作系统,而且引导代码也是可以改变的,从而能够实现多种 作者简介:袁海峰(1977一),男,本科,学士,工程师,研 究方向:高校网络建设。 收稿日期:2015—03—15 。 。 。 。 ’ 。‘ 。。 实用第一 智慧密集 .. . 。.. ... .. . . .. 。..。 . .。。。 。 。 。 操作系统引导。 接下来的0x0OOOOIBE一0x00001FD这64个字节为基本分 区表项.可以对4个磁盘分区的信息进行描述。具体每个字 节的定义如表2所示。 表2 MBR磁盘分区分区表项结构信息 偏移 长度(字节) 意义 00H 1 分区状态:0o~>非活动分区;80一>活动分区 O1H 1 分区起始磁头号(HEAD),用到全部8位 分区起始扇区号(SECTOR),占据02H的位0-5;该 O2H 2 分区的起始磁柱号(CYLINDER),占据02H的位6— 7和03H的全部8位 04H l 文件系统类型:常见有OB(FAT32),07(NTFS), }0F(扩展分区表),05(扩展分区表) 05H 1 分区结束磁头号(HEAD),用到全部8位 分区结束扇区号(SECTOR),占据06H的位0-5;该 O6H 2 分区的结束磁柱号(CYLINDER),占据06H的位6— 7和07H的全部8位 O8H 4 分区起始位置相对分区表位置的扇区数 0CH 4 分区总的扇区数 根据MBR磁盘分区分区表项结构信息.我们可以分析出 这个MBR主引导扇区里一共有4个分区表项。整个MBR主 引导扇区中分区表项的信息如表3所示。 表3整个MIqR主引导扇区中分区表项的信息 分区序号 分区表项1 分区表项2 分区表项3 分区表项4 活动标志 80 00 0o 00 开始磁头号 32 254 254 254 开始扇区号 33 63 63 63 开始柱面号 O 1023 1023 1023 文件系统类型 07(NTFS) 07 fN11 s1 ∞fNTP3) OF 展分区 结束磁头号 254 254 254 254 结束扇区号 63 63 63 63 结束柱面号 1023 1023 l023 1023 起始位置相对扇区数 2O48 20973568 31459328 41945088 总扇区数 2097l520 lo48576O 1O485760 25 161728 对于现在大容量的硬盘,磁头、扇区、柱面的表示方法 已经无效,通常设为FEFFFF,这部分值可以直接忽略掉。分 区表项4的文件系统类型为0F,说明该表项指向的位置是一 个扩展分区表。需要解析扩展分区表来分析逻辑分区信息。 1.2扩展分区表 由于MBR主引导扇区仅仅为分区表保留了64字节的存 储空间,而每个分区表项需要16字节,因此,MBR主引导扇 区最多只可以存人4个分区表项。在具体的应用中,4个分区 往往不能满足实际需要。为了建立出更多的磁盘分区.系统 弓1人了扩展分区。扩展分区在分区表项中的文件系统类型为 OF或05。系统中有多少个逻辑分区,就有多少个扩展分区 表。扩展分区表的结构与MBR的分区表结构一致,但是只使 用前2个表项。后两个表项参数全部为0。 根据MBR磁盘分区分区表项结构信息,分析全部分区表 项后可知整个MBR磁盘分区的各分区信息如表4所示。 表4整个MBR磁盘分区的各分区信息 分区类型 分区起始扇区相对位置 分区总扇区数 分区起始扇区绝对位置 基本分区1 2048 20971520 2048 基本分区2 20973568 lO485760 20973568 基本分区3 31459328 lO485760 31459328 扩展分区表1 4l945088 25161728 4l945088 逻辑分区1 2O48 lO485760 41947136 扩展分区表2 1O4878O8 14673920 52432896 逻辑分区2 2O48 14671872 52434944 1.3 Windows磁盘签名Ox55AA标志 主引导扇区的最后两个字节一定是结束标志0x55AA.是 检验主引导记录是否有效的标志。也叫做Windows磁盘签名, 是Windows系统在对硬盘做初始化时写入的一个标签。如果 硬盘的签名丢失,Windows系统就会认为该硬盘没有初始化, 也不会继续解析分区表项。在扩展分区表所在扇区的最后2 个字节,最后两个字节也一定是结束标志Ox55AA。 2数据恢复技术与实现 MBR分区丢失常见的故障有分区误删除和MBR主引导扇 区损坏两种情况。其中第一种情况会导致被误删除的分区数 据无法访问,其他分区正常,而第二种情况则导致磁盘所有 分区数据无法访问。以下两种数据恢复都是通过多次实例总 结的。 2.1分区误删除 一个容量为32GB的MBR磁盘分区的硬盘.一共有3个 分区,因误操作导致第二个分区被删除,分区丢失。使用 Winhex查看该硬盘的MBR,发现分区表项剩余2项,最后两 项全为0 MBR主引导扇区数据如表5所示。 表5 MBR主引导扇区数据 offset 0 l 2 3 4 5 6 7 8 9 A B C D E F 50ol00lB0 80 20 5oo10o1C0 2l 00 07 FE FF FF 00 08 00 00 00 00 40 O1 00 FE l500lo0lD0 FF FF 07 FE FF FF 00 08 E0 01 00 E8 1F 02 00 00 I5o010o1EO 00 00(30 O0 O0 0o O0 00 00 O0 00 O0 O0 oo O0 O0 I5001o01FD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 主引导扇区、扩展分区表和Windows文件系统的分区起 始扇区的结束引导标志均为55AA,且在扇区最后2个字节。 虽然第二个分区并不知道它的具体文件系统.但知道它的文 件系统的分区起始扇区位于分区1的结束扇区20973567和分 区3的开始扇区31459328之间。在这个范围内,使用Win Hex软件强大的搜索功能,找到20973568扇区是一个完好的 NTFS文件系统的分区起始扇区。 

因篇幅问题不能全部显示,请点此查看更多更全内容