admin 管理员组

文章数量: 1087134


2024年12月20日发(作者:cdata 201 商户订单号重复)

设置中文的方法

点击菜单栏最后的“help”-“setup”-“Chinese,please!”

软件使用说明

下面我们来看看该软件的使用。

标题栏:与一般的应用软件一样,标题栏中显示软件名称和当前打开的文件名称;

菜单栏:Winhex的菜单栏由八个菜单项组成-文件菜单、编辑菜单、搜索、定位、工具、

选项菜单、文件管理、窗口和帮助菜单。

在文件菜单中,除了常规的新建、打开文件和保存以及退出命令以外,还有备份管理、创建

备份和载入备份功能。选择文件菜单中的属性项,弹出文件属性窗口,包括文件路径、名称、

大小、创建时间和修改日期等内容。在编辑菜单中,除了常规的复制、粘贴和剪切功能外,

还有数据格式转换和修改的功能。在搜索菜单中,你可以查找或替换文本内容和十六进制文

件,搜索整数值和浮点数值。在定位菜单中,你可以根据偏移地址和区块的位置快速定位。

在工具菜单中,包括磁盘编辑工具、文本编辑工具、计算器、模板管理工具和Hex转换器,

使用十分方便。在选项菜单中,包括常规选项设置、安全性设置和还原选项设置。

在Winhex的工具栏中,包括文件新建、打开、保存、打印、属性工具;剪切、粘贴和复制

编辑工具;查找文本和Hex值,替换文本和Hex值;文件定位工具、RAM编辑器、计算器、

区块分析和磁盘编辑工具;选项设置工具和帮助工具按钮。通过使用工具栏中的快捷按钮可

以更方便的进行操作,这些和菜单中相应的命令是一样的。

在使用Winhex之前需要进行相应的选项设置,点击工具栏中的选项设置快捷图标按钮,弹

出选项设置对话框.它包括是否将WinHex作为默认关联,是否添加WinHex到上下文菜单,

是否不更新文件名,是否快速打开文件以及是否显示文件图标和工具栏。而且你还可以设置

最近打开的文件列表中文件的数目,选择是否用TAB键产生标记,设置临时文件夹、备份文

件夹和文本编辑的路径。在常规设置中,你可以选择是否选择显示双光标和页分隔符,是否

逐行滚动,是否显示Windows进度条,此外你还可以设置字体类型和颜色,相信你很快就

学会了。执行选项菜单中的安全项,弹出安全保护选项设置窗口,你可以选择是否限制驱动

控制,是否计算标准检查和扇区读入缓存以及是否确认更新文件。另外你可以选择是否自动

检查磁簇,是否总显示恢复报告,是否对下个会话保持驱动映像,是否隐蔽输入加密关键码

(*****)以及检查虚拟内存变换和在RAM中是否保留密匙。在所有设置完成后,点击保存

按钮,然后按确定按钮返回主窗口。

数据恢复分类

硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、

盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时

又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和

困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成

的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。因为硬恢复还需

要购买一些工具设备(比如pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电

路基础,我们主要使用软恢复。

数据恢复的前提

数据不能被二次破坏、覆盖!

硬盘数据结构

下面是一个分了三个区的整个硬盘的数据结构

MBR C盘EBRD盘 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 1435329 63 1435329 63 1253889

MBR C盘 EBR D盘 EBR E盘

扩展分区

而每一个分区又由DBR、FAT1、FAT2、DIR、DATA5部分组成:比如C 盘的数据结构:

C 盘

DBR FAT1 FAT2 DIR DATA

恢复教程

Winhex有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘

进行不同方式不同程度的备份,甚至克隆整个硬盘;它能够编辑任何一种文件类型的二进制

内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁盘的任意扇区,是手工恢

复数据的首选工具软件。

首先要安装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

再选中“十进制”,十六进制3F转为十进制等于63。想一想我们前面所讲的,MBR占用63

个扇区,也就是C盘之前已用了的扇区数为63,第64个扇区就是C盘的第一个扇区,但要

注意的是,整个硬盘的LBA地址是从零开始的,0~62的扇区为MBR。

第13、14、15、16字节本分区总扇区数(当然,这也就是C盘的大小):C1 E6 15 00,同样,

实际的十六进制数也要反过来才对,也就是00 15 E6 C1,将它转换成十六进制数是1435329。

给你出个题,你知道D盘的EBR在哪个扇区吗?我们一起来算一下,还记得前面数据结构

那个表吗?C盘后面不就是D盘的EBR吗?D盘EBR的第一个扇区=MBR+C盘的大小,也就

是 63+1435329=1435392。

我们来看看对不对,单击工具栏上的“转到扇区”按钮,出现一个“转到扇区”对话框

然后输入1435392,再点“确定”,就到了1435392扇区了(你可以使用它再转回到0扇区)

这个就是D盘的EBR,也就是D盘的分区表了,怎么知道的呢?因为MBR和EBR的结构是

完全一样的,都是占用了63个扇区,但只用了第一个扇区,其余62个扇区填零不用。第一

个扇区前446个字节都为引导代码,后64个字节为分区表,最后2个字节为55AA结束标

志。因为EBR不是活动分区,不需要引导代码,所以前446个字节为零。

还有另一种方法直接找到D盘的EBR,扇区.

这样,分区表中的第一个分区表项共十六个字节分析完毕,下面我们再来看看第二个分区表

项(扩展分区)。

第1字节00:表示非活动分区

第5字节05:表示扩展分区

第9、10、11、12字节00 E7 15 00:本分区之前的扇区数(扩展分区前面也就是MBR和C

盘,好像我们前面算过这个数?)同样,先将它反过来,就是00 15 E7 00 ,再转为十进制

是1435392,看来我们前面真的算过这个数。

第13、14、15、16字节40 09 29 00:本分区的总扇区数。也就是扩展分区的总扇区数。转

为十进制应该是2689344。想一想,用这个数加上前面的1435392,不正好是整个硬盘的总

扇区数4124736吗?

这样,如果分区表被破坏,我们只要把这些数值都计算出来并填上,分区表不就恢复了?那

么,这里我们为什么不分析第2、3、4字节(本分区的起始磁头号、扇区号、柱面号)和第

6、7、8字节(本分区的结束磁头号、扇区号、柱面号)呢?这是因为C/H/S(柱面/磁头/

扇区)是老式硬盘的寻址方式,这种寻址方式来管理硬盘效率很低;而现在几乎所有的硬盘

都支持LBA(全称是Logic Block Address,即扇区的逻辑块地址)寻址方式,这种管理方式简

单高效。在LBA方式下,系统把所有的物理扇区都统一编号,按照从零到某个最大值排列,

这样只用一个序数就确定了一个唯一的物理扇区。

小知识:具体一个硬盘有多少个LBA(扇区)不需要我们去记忆,因为用各种工具软件(如

MHDD WINHEX等)都可以检测到。我们只要知道个大概就行了:如10G的硬盘大概有2000

万个扇区;20G的硬盘大概有4000万个扇区;40G的硬盘大概有8000万个扇区„„那么,

2G的硬盘大概有400万个扇区。

那么,你可能要问了:如果要恢复分区表,这个起始磁头号、扇区号、柱面号还有结束磁头

号、扇区号、柱面号应该怎么填呢?简单得很,在后面恢复分区表的时候我会告诉你,直接

填,都不用计算。

还有兴趣来分析一下D盘的EBR吗?

其实D盘的EBR和E盘的EBR我们不分析也罢,因为无非也是分区表,跟MBR的结构是一

样的,但却很容易把我们绕晕,又因为EBR一般不容易被破坏,所以我不建议分析EBR。

但如果你一定要分析,那就分析吧。

单击“访问”下拉按钮——“分区二”——“分区表”,直接就到1435392扇区,即D盘的

分区表EBR。

第一个分区表项(D盘):

第1个字节00:表示非活动分区

第5个字节06:表示FAT16分区

第9、10、11、12字节3F 00 00 00:本分区之前已用了的扇区数,也就是EBR的数目,63

个。

第13、14、15、16字节C1 E6 15 00:本分区的总扇区数,也就是D盘的扇区数,先反过来

排列就是00 15 E6 C1,转为十进制就是1435329。

第二个分区表项(D盘后面的):

第1个字节00:表示非活动分区

第5个字节05:表示扩展分区

第9、10、11、12字节00 E7 15 00:本分区之前已用了的扇区数,也就是D盘的EBR加D

盘总共的大小, 63+1435329=1435392

第13、14、15、16字节40 22 13 00:本分区的总扇区数,1253952,也就是E盘的大小再

加上一个EBR的数目。

单击“访问”下拉按钮——“分区三”——“分区表”,直接就到2870784扇区,即E

盘的分区表EBR。因为E盘后面没有分区了,所以没有第二个分区表项。这里我们就不再研

究了,有兴趣的话可以自己多备一块硬盘作从盘,然后自己分分区研究研究。

通过以上的研究我们总结一下,MBR在定义分区的时候,将多余的容量定义为扩展分区,

指定该扩展分区的起止位置,根据起始位置指向硬盘的某一个扇区,作为下一个分区表项,

接着在该扇区继续定义分区,如果只有一个分区,就定义该分区,然后结束;如果不止一个

分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区描述扇区,在该分

区上按照上述原则继续定义分区,直至分区定义结束。这些用来描述分区的扇区形成一个“分

区链”,通过这个分区链,就可以描述所有的分区。系统在启动时按照分区链的连接顺序查

找分区,直至找出所有分区。这个链显然是个开链结构,如果形成一个环,系统本身并不会

去判断它,它只是按照这个链忠实的查找分区,而不进行任何额外的检测与处理。所谓硬盘

逻辑锁,就是让分区链形成一个环,这样系统在启动时就在分区表内循环,表现为系统无法

引导,就是从软盘启动,也不能进入硬盘。明白了其结构原理,解决这个问题就简单了,目

前有很多种方法解决这个问题,后面我们还会讲到。系统就是利用这种方法使一个硬盘分区

后看起来象多个硬盘。系统能够找到C盘以外的其他逻辑盘的唯一办法就是,沿着EBR所

描述的分区链查找分区。

其实,通常情况下EBR是不会被破坏的,或者破坏的几率极低极低,通常情况下,都是只

有MBR被破坏,那么这种情况下,我们只要把MBR的分区表64个字节复原,其他的分区

顺着分区表所提供的链自然而然就出来了。那么,如何才能将分区表复原呢?这就要通过计

算结合Winhex强大的功能来实现了。

下面我们就来模仿分区表被病毒破坏的情况,将MBR全部填零。我们首先将MBR所在的扇

区选中。鼠标指向第一个字节,单击右键,选择“选块开始”

然后鼠标指向MBR的最后一个字节,单击右键,选择“选块结尾”

然后我们在选区内部单击鼠标右键,选择“编辑”

这样就有出来一个菜单

然后我们选“填充选块”,这样就出来一个填充选块对话框

在“用十六进制填充”的输入框中输入“00”,再点“确定”

这样MBR所在扇区全部被我们填充为“00”

如果想取消选区,那就用鼠标拖动随便选中一块区域,那么原来的选区就会取消。注意,如

果扇区数据被修改了而没有存盘就会变为别的颜色。

修改了扇区,这时候还没有存盘生效,如果你想存盘生效的话,就选择“文件”菜单“保存

扇区”命令。

这时候就会出现一个提示,如果你不想存盘了就点取消,如果想存盘,就点确定,再点是。

好,这样就存盘了,扇区被修改的数据又变为黑色。

这样我们就把分区表给删除了,这时候必须重新启动才能生效,如果你打开我的电脑,会发

现三个分区(F 、G、 H)还在那里,并且里面的数据还能正常使用。

现在,我们关闭所有程序将电脑重新启动„„

经过不长时间的等待,电脑启动起来了,我们打开我的电脑看看,发现F 、G 、H三个分

区不见了。

再打开Winhex发现MBR全部为零了,下面我们就着手开始手工恢复分区表

首先恢复引导代码,这最简单了,只要用Winhex到别的系统盘把引导代码复制过来就行了。

我现在的机器上不是挂着两个硬盘吗?一个迈拓2G,一个西数40G,西数40G是我的系统

盘,那就从这个盘上复制就行了。

单击“磁盘编辑器”按钮

出现“编辑磁盘”对话框

选择“HD0WDC WD400EB---00CPF0”,点“确定”

这样我们就把系统盘的分区表给打开了,注意,现在我们是打开了两个窗口,当前的窗口是

“硬盘0”,在标题栏上有显示。另外,打开窗口菜单也能看出来,当前窗口被打上一个勾,

如果想切换回原来的窗口,就点击“硬盘1”。

首先选中系统盘的引导代码

然后在选区中单击鼠标右键,选“编辑”

又出来一个菜单,然后我们选“复制选块”——“正常”

然后我们切换回硬盘1窗口,在零扇区的第一个字节处单击鼠标右键,选“编辑”

然后选“剪贴板数据”——“写入„„”

出现一个窗口提示,点“确定”

这样,我们就把一个正常系统盘上的引导代码复制过来了。

下面,我们就开始恢复分区表(共64个字节,分为4个分区表项,每个分区表项占用16

个字节,一般只使用前两个分区表项),我们首先来恢复第一个分区标项(也就是用来描述

C盘的)。

首先,在第1个字节处(0扇区倒数第五行,倒数第二个字节)填上分区引导标志,因为C

盘是活动分区,所以填上80。

接着是第2、3、4字节(本分区起始磁头号、扇区号、柱面号),填上:01 01 00。

第5字节是分区类型符,因为原先C盘是Fat32格式,所以填上:0B。那么,如果你不知道

C盘是什么格式怎么办呢?你会说问问客户呀,那么如果他也不知道呢?别着急,后面在说

恢复DBR的时候我会教你怎么分辨分区的格式。

第6、7、8字节是本分区的结束磁头号、扇区号、柱面号,这怎么知道呢?别着急,现在的

磁盘都是按照LBA方式寻址,并不按照C/H/S(及柱面、磁头、扇区)方式寻址,所以这个

地方你填些什么一般关系不大,但是我要告诉你有一个通用的填法,那就是:FE FF FF。

第9、10、11、12字节,本分区之前已用了的扇区数,也就是MBR所占用的扇区数,那不

是63吗?对,但是要将63转为十六进制数,再反过来倒着填写上。还记得怎么用计算器吗?

将63转为十六进制数是3F,不够四个字节前面加零,也就是00 00 00 3F,再将此数从右向

左依次序反过来就是3F 00 00 00。

第13、14、15、16字节是本分区的总扇区数,也就是C盘的大小,这就要通过稍微一点点

计算来得到了。因为C盘是从第63个扇区开始,而C盘后面紧接着的是EBR,所以用EBR

所在的第一个扇区数减去63就是C盘的大小。那么如何才能找到EBR所在的第一个扇区呢?

我们前面说过,EBR的结构和MBR是一样的,所以,EBR的结束标志也一定是55AA,那么,

只要我们找到这个结束标志,再看看这个扇区是不是EBR不就行了?

单击“搜索”——“查找十六进制数值„„”,然后出来一个对话框

在文本框中输入“55AA”,搜索框中选“全部”,然后选中“条件”,把偏移量设置为“512=510”。

再单击“确定”。画面如下:

首先找到第一个“55AA”,我们看到,个扇区在第63个扇区上,并不是我们要找的EBR,再

按F3继续查找

又找到好几个扇区,都不是,那么下面这个扇区是不是?

前面我们说过,EBR的结构和MBR的结构是一样的,所以在倒数第五行倒数第二个字节应

该是00 01,并且前446个字节应该是0,显然这也不是EBR,继续按F3查找„„终于找到

了真正的EBR,在1435392扇区。

小技巧:现在的硬盘都比较大,要逐个扇区的查找55AA确实太慢了,那么有没有办法快点

呢?有,那就是先问问客户C盘大概有多大,大多数客户还是知道的,比如他说C盘大概

有10个G,那么你就不要从头开始找了,因为那实在太慢了。10个G大概是2000万个扇

区,那么你可以用转到扇区命令直接到1900万扇区,从那个地方再开始找不就省事多了。

用1435392减去63,得到1435329,再转为16进制,就是15E6C1,将他倒转过来就是

C1E61500,这就是C盘的大小。这样,第一个分区表项填写完毕,我们保存一下,再接着

填写第二个分区表项。

第二个分区表第1个字节:因为是非活动分区,所以写00

第2、3、4字节,填写01 01 00(通用的)

第5字节:因为是扩展分区,所以填写0F

第6、7、8字节:填写FE FF FF(通用)

第9、10、11、12字节是本分区之前已用了的扇区数,应该就是C盘大小加63,也就是1435392,

前面刚计算出来的,转为十六进制数再反过来就是00 E7 15 00

第13、14、15、16字节是本分区的总扇区数,也就是扩展分区的总扇区数,也就是用整个

硬盘的大小减去C盘的大小再减去63,即4124736 -1435329-63=2689344,转为十六进制就

是290940,反过来就是40092900。

这样,第二个分区表项就填写完了。

不要忘了把最后的结束标志55AA填上,这样,MBR就全恢复完了,最后,保存,再重新启

动„„

启动完毕,迫不及待的打开我的电脑,发现三个分区全部又回来了,并且里面的数据完好无

损。

再右击“我的电脑”,选“管理”

出现一个对话框,选“磁盘管理”,在右边可以看到磁盘一的三个分区(Fat32、Fat16、Ntfs)

全部都回来了,至此,手工恢复分区表顺利完成。

手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找

不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什

么,操作完了会有什么后果,能不能退回到上一步状态。特别是对一些破坏性操作,一定要

考虑周到,只要条件允许,就一定要在操作之前进行备份,否则会造成“血”的教训,切记!


本文标签: 分区 扇区 分区表