winhex 教程
winhex
数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如
有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不
容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里
面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓
软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数
据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。
这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如
pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这
里所讲到的所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工
准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快
速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。
数据恢复的前提:数据不能被二次破坏、覆盖!
关于数码与码制:
关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数
据恢复来说帮助不大,而且很容易把我们绕晕。如果你感兴趣想多了解一些,
可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。
数据恢复我们主要用十六进制编辑器:Winhex (数据恢复首选软件)
我们先了解一下数据结构:
下面是一个分了三个区的整个硬盘的数据结构
MBR
C 盘
EBR
D 盘
EBR
E 盘
MBR,即主引导纪录,位于整个硬盘的 0 柱面 0 磁道 1 扇区,共占用了 63 个扇
区,但实际只使用了 1 个扇区(512 字节)。在总共 512 字节的主引导记录中,
MBR 又可分为三部分:第一部分:引导代码,占用了 446 个字节;第二部分:
分区表,占用了 64 字节;第三部分:55AA,结束标志,占用了两个字节。后面
我们要说的用 winhex 软件来恢复误分区,主要就是恢复第二部分:分区表。
引导代码的作用:就是让硬盘具备可以引导的功能。如果引导代码丢失,分区
表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能
够用来启动进系统了。如果要恢复引导代码,可以用 DOS 下的命令:FDISK /MBR;
这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据。另外,也可
以用工具软件,比如 DISKGEN、WINHEX 等。
但分区表如果丢失,后果就是整个硬盘一个分区没有,就好象刚买来一个新硬
盘没有分过区一样。是很多病毒喜欢破坏的区域。
EBR,也叫做扩展 MBR(Extended MBR)。因为主引导记录 MBR 最多只能描述 4
个分区项,如果想要在一个硬盘上分多于 4 个区,就要采用扩展 MBR 的办法。
MBR、EBR 是分区产生的。
比如 MBR 和 EBR 各都占用 63 个扇区,C 盘占用 1435329 个扇区……那么数据结
构如下表:
63
MBR
1435329
C 盘
63
EBR
1435329
D 盘
63
EBR
扩展分区
1253889
E 盘
而每一个分区又由 DBR、FAT1、FAT2、DIR、DATA5 部分组成:比如 C 盘的数
据结构:
DBR
FAT1
FAT2
DIR
DATA
C 盘
Winhex
Winhex 是使用最多的一款工具软件,是在 Windows 下运行的十六进制编辑软件,
此软件功能非常强大,有完善的分区管理功能和文件管理功能,能自动分析分
区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;
它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器
可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢复数据的首选工具软件。
首先要安装 Winhex,安装完了就可以启动 winhex 了,启动画面如下:首先出
现的是启动中心对话框。
这里我们要对磁盘进行操作,就选择“打开磁盘”,出现“编辑磁盘”对话框:
在这个对话框里,我们可以选择对单个分区打开,也可以对整个硬盘打开,HD0
是我现在正用的西部数据 40G 系统盘,HD1 是我们要分析的硬盘,迈拓 2G。这
里我们就选择打开 HD1 整个硬盘,再点确定.然后我们就看到了 Winhex 的整个
工作界面。
最上面的是菜单栏和工具栏,下面最大的窗口是工作区,现在看到的是硬盘的
第一个扇区的内容,以十六进制进行显示,并在右边显示相应的 ASCII 码,右
边是详细资源面板,分为五个部分:状态、容量、当前位置、窗口情况和剪贴
板情况。这些情况对把握整个硬盘的情况非常有帮助。另外,在其上单击鼠标
右键,可以将详细资源面板与窗口对换位置,或关闭资源面板。(如果关闭了
资源面板可以通过“察看”菜单——“显示”命令——“详细资源面板”来打
开)。
最下面一栏是非常有用的辅助信息,如当前扇区/总扇区数目……等
向下拉拉滚动条,可以看到一个灰色的横杠,每到一个横杠为一个扇区,一个
扇区共 512 字节,每两个数字为一个字节,比如 00。
下面我们来分析一下 MBR,因为前面我们说过,前 446 个字节为引导代码,对
我们来说没有意义,这里我们只分析分区表中的 64 个字节。
分区表 64 个字节,一共可以描述 4 个分区表项,每一个分区表项可以描述一个
主分区或一个扩展分区(比如上面的分区表,第一个分区表项描述主分区 C 盘,
第二个分区表项描述扩展分区,第三第四个分区表项填零未用)
每一个分区表项各占 16 个字节,各字节含义如下:(H 表示 16 进制)
字节位置 内容及含义
第 1 字节 引导标志。若值为 80H 表示活动分区;若值为 00H 表示非活动分区。
第 2、3、4
字节
第 5 字节 分区类型符:
本分区的起始磁头号、扇区号、柱面号
00H——表示该分区未用
06H——FAT16 基本分区
0BH——FAT32 基本分区
05H——扩展分区
07H——NTFS 分区
0FH——(LBA 模式)扩展分区
83H—— Linux 分区
本分区的结束磁头号、扇区号、柱面号
本分区之前已用了的扇区数
本分区的总扇区数
第 6、7、8
字节
第 9、10、
11、12 字节
第 13、14、
15、16 字节
此硬盘的第一分区表(即 MBR)分析如下:
第一个分区表项(C 盘)
第 1 字节 80:表示此分区为活动分区;
第 5 字节 0B:表示分区类型为 Fat32;
第 9、10、11、12 字节 系统隐含扇区 3F 00 00 00:所谓系统隐含扇区就是本
分区(C 盘)之前已用了的扇区数,这是一个十六进制数,但要注意:真正的
隐含扇区数应该反过来填写(比如:隐含扇区数为 3E 4D 5A 6F,则反过来就
是 6F 5A 4D 3E ,这才是实际的隐含扇区数)。那么,3F 00 00 00 反过来写
就是 00 00 003F,也就是 3F,将他转成十进制数我们才能知道实际的隐含扇区
数是多大。这可以使用计算器来算,单击工具栏上的“计算器”按钮,如下图:
这样就启动了计算器
计算器有两种型号,我们要进行进制转换,就要选择“科学型”
比如我们要将十六进制 3F 转换为十进制,就要先选中“十六进制”,然后输入
3F