1、使用 WinHex 手工恢复 MBR分类:硬盘数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢复里面的数据,这些都叫数据恢复,只不过这些故障有容易的和困难的之分;所谓软恢复,就是硬盘本身没有物理损伤,而是由于人为或者病毒破坏所造成的数据丢失(比如误格式化,误分区),那么这样的数据恢复就叫软恢复。这里呢,我们主要介绍软恢复,因为硬恢复还需要购买一些工具设备(比如pc3000,电烙铁,各种芯片、电路板),而且还需要懂一点点电路基础,我们这里所讲到的
2、所有的知识,涉及面广,层次深,既有数据结构原理,为我们手工准确恢复数据提供依据,又有各种数据恢复软件的使用方法及技巧,为我们快速恢复数据提供便利,而且所有软件均为网上下载,不需要我们投资一分钱。数据恢复的前提:数据不能被二次破坏、覆盖!关于数码与码制:关于二进制、十六进制、八进制它们之间的转换我不想多说,因为他对我们数据恢复来说帮助不大,而且很容易把我们绕晕。如果你感兴趣想多了解一些,可以到百度里面去搜一下,这方面资料已经很多了,就不需要我再多说了。数据恢复我们主要用十六进制编辑器:Winhex (数据恢复首选软件)我们先了解一下数据结构:下面是一个分了三个区的整个硬盘的数据结构MBR C 盘
3、 EBR D 盘 EBR E 盘MBR,即主引导纪录,位于整个硬盘的 0 柱面 0 磁道 1 扇区,共占用了 63 个扇区,但实际只使用了 1 个扇区(512 字节)。在总共 512 字节的主引导记录中,MBR 又可分为三部分:第一部分:引导代码,占用了 446 个字节;第二部分:分区表,占用了 64 字节;第三部分:55AA,结束标志,占用了两个字节。后面我们要说的用 winhex 软件来恢复误分区,主要就是恢复第二部分:分区表。引导代码的作用:就是让硬盘具备可以引导的功能。如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统了。如果要恢
4、复引导代码,可以用 DOS 下的命令:FDISK /MBR;这个命令只是用来恢复引导代码,不会引起分区改变,丢失数据。另外,也可以用工具软件,比如 DISKGEN、WINHEX 等。但分区表如果丢失,后果就是整个硬盘一个分区没有,就好象刚买来一个新硬盘没有分过区一样。是很多病毒喜欢破坏的区域。EBR,也叫做扩展 MBR(Extended MBR)。因为主引导记录 MBR 最多只能描述 4个分区项,如果想要在一个硬盘上分多于 4 个区,就要采用扩展 MBR 的办法。MBR、EBR 是分区产生的。比如 MBR 和 EBR 各都占用 63 个扇区,C 盘占用 1435329 个扇区那么数据结构如下表
5、:63 1435329 63 1435329 63 1253889MBR C 盘 EBR D 盘 EBR E 盘扩展分区而每一个分区又由 DBR、FAT1、FAT2、DIR、DATA5 部分组成:比如 C 盘的数据结构:C 盘DBR FAT1 FAT2 DIR DATAWinhexWinhex 是使用最多的一款工具软件,是在 Windows 下运行的十六进制编辑软件,此软件功能非常强大,有完善的分区管理功能和文件管理功能,能自动分析分区链和文件簇链,能对硬盘进行不同方式不同程度的备份,甚至克隆整个硬盘;它能够编辑任何一种文件类型的二进制内容(用十六进制显示)其磁盘编辑器可以编辑物理磁盘或逻辑磁
6、盘的任意扇区,是手工恢复数据的首选工具软件。首先要安装 Winhex,安装完了就可以启动 winhex 了,启动画面如下:首先出现的是启动中心对话框。这里我们要对磁盘进行操作,就选择“打开磁盘”,出现“编辑磁盘”对话框:这样,分区表中的第一个分区表项共十六个字节分析完毕,下面我们再来看看第二个分区表项(扩展分区)。第 1 字节 00:表示非活动分区第 5 字节 05:表示扩展分区第 9、10、11、12 字节 00 E7 15 00:本分区之前的扇区数(扩展分区前面也就是 MBR 和 C 盘,好像我们前面算过这个数?)同样,先将它反过来,就是 00 15 E7 00 ,再转为十进制是 1435
7、392,看来我们前面真的算过这个数。第 13、14、15、16 字节 40 09 29 00:本分区的总扇区数。也就是扩展分区的总扇区数。转为十进制应该是 2689344。想一想,用这个数加上前面的1435392,不正好是整个硬盘的总扇区数 4124736 吗?这样,如果分区表被破坏,我们只要把这些数值都计算出来并填上,分区表不就恢复了?那么,这里我们为什么不分析第 2、3、4 字节(本分区的起始磁头号、扇区号、柱面号)和第 6、7、8 字节(本分区的结束磁头号、扇区号、柱面号)呢?这是因为 C/H/S(柱面/磁头/扇区)是老式硬盘的寻址方式,这种寻址方式来管理硬盘效率很低;而现在几乎所有的硬
8、盘都支持 LBA(全称是 Logic Block Address,即扇区的逻辑块地址)寻址方式,这种管理方式简单高效。在LBA 方式下,系统把所有的物理扇区都统一编号,按照从零到某个最大值排列,这样只用一个序数就确定了一个唯一的物理扇区。小知识:具体一个硬盘有多少个 LBA(扇区)不需要我们去记忆,因为用各种工具软件(如 MHDD WINHEX 等)都可以检测到。我们只要知道个大概就行了:如10G 的硬盘大概有 2000 万个扇区;20G 的硬盘大概有 4000 万个扇区;40G 的硬盘大概有 8000 万个扇区那么,2G 的硬盘大概有 400 万个扇区。那么,你可能要问了:如果要恢复分区表,
9、这个起始磁头号、扇区号、柱面号还有结束磁头号、扇区号、柱面号应该怎么填呢?简单得很,在后面恢复分区表的时候我会告诉你,直接填,都不用计算。还有兴趣来分析一下 D 盘的 EBR 吗?其实 D 盘的 EBR 和盘的 EBR 我们不分析也罢,因为无非也是分区表,跟 MBR的结构是一样的,但却很容易把我们绕晕,又因为 EBR 一般不容易被破坏,所以我不建议分析 EBR。但如果你一定要分析,那就分析吧。单击“访问”下拉按钮“分区二”“分区表”,直接就到 1435392 扇区,即 D 盘的分区表 EBR。第一个分区表项(D 盘):第 1 个字节 00:表示非活动分区第 5 个字节 06:表示 FAT16
10、分区第 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
11、22 13 00:本分区的总扇区数,1253952,也就是 E盘的大小再加上一个 EBR 的数目。单击“访问”下拉按钮“分区三”“分区表”,直接就到 2870784 扇区,即 E盘的分区表 EBR。因为 E 盘后面没有分区了,所以没有第二个分区表项。这里我们就不再研究了,有兴趣的话可以自己多备一块硬盘作从盘,然后自己分分区研究研究。通过以上的研究我们总结一下,MBR 在定义分区的时候,将多余的容量定义为扩展分区,指定该扩展分区的起止位置,根据起始位置指向硬盘的某一个扇区,作为下一个分区表项,接着在该扇区继续定义分区,如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区
12、和一个扩展分区,扩展分区再指向下一个分区描述扇区,在该分区上按照上述原则继续定义分区,直至分区定义结束。这些用来描述分区的扇区形成一个“分区链”,通过这个分区链,就可以描述所有的分区。系统在启动时按照分区链的连接顺序查找分区,直至找出所有分区。这个链显然是个开链结构,如果形成一个环,系统本身并不会去判断它,它只是按照这个链忠实的查找分区,而不进行任何额外的检测与处理。所谓硬盘逻辑锁,就是让分区链形成一个环,这样系统在启动时就在分区表内循环,表现为系统无法引导,就是从软盘启动,也不能进入硬盘。明白了其结构原理,解决这个问题就简单了,目前有很多种方法解决这个问题,后面我们还会讲到。系统就是利用这种
13、方法使一个硬盘分区后看起来象多个硬盘。系统能够找到 C 盘以外的其他逻辑盘的唯一办法就是,沿着EBR 所描述的分区链查找分区。其实,通常情况下 EBR 是不会被破坏的,或者破坏的几率极低极低,通常情况下,都是只有 MBR 被破坏,那么这种情况下,我们只要把 MBR 的分区表 64 个字节复原,其他的分区顺着分区表所提供的链自然而然就出来了。那么,如何才能将分区表复原呢?这就要通过计算结合 Wxinhe 强大的功能来实现了。下面我们就来模仿分区表被病毒破坏的情况,将 MBR 全部填零。我们首先将MBR 所在的扇区选中。鼠标指向第一个字节,单击右键,选择“选块开始”然后鼠标指向 MBR 的最后一个
14、字节,单击右键,选择“选块结尾”然后我们在选区内部单击鼠标右键,选择“编辑”这样就有出来一个菜单然后我们选“填充选块”,这样就出来一个填充选块对话框在“用十六进制填充”的输入框中输入“00”,再点“确定”这样 MBR 所在扇区全部被我们填充为“00”如果想取消选区,那就用鼠标拖动随便选中一块区域,那么原来的选区就会取消。注意,如果扇区数据被修改了而没有存盘就会变为别的颜色。修改了扇区,这时候还没有存盘生效,如果你想存盘生效的话,就选择“文件”菜单“保存扇区”命令。这时候就会出现一个提示,如果你不想存盘了就点取消,如果想存盘,就点确定,再点是。好,这样就存盘了,扇区被修改的数据又变为黑色。这样我
15、们就把分区表给删除了,这时候必须重新启动才能生效,如果你打开我的电脑,会发现三个分区(F 、G、 H)还在那里,并且里面的数据还能正常使用。现在,我们关闭所有程序将电脑重新启动经过不长时间的等待,电脑启动起来了,我们打开我的电脑看看,发现 F 、G 、H 三个分区不见了。再打开 Winhex 发现 MBR 全部为零了,下面我们就着手开始手工恢复分区表首先恢复引导代码,这最简单了,只要用 Winhex 到别的系统盘把引导代码复制过来就行了。我现在的机器上不是挂着两个硬盘吗?一个迈拓 2G,一个西数40G,西数 40G 是我的系统盘,那就从这个盘上复制就行了。单击“磁盘编辑器”按钮出现“编辑磁盘”
16、对话框选择“HD0 WDC WD400EB-00CPF0”,点“确定”这样我们就把系统盘的分区表给打开了,注意,现在我们是打开了两个窗口,当前的窗口是“硬盘 0”,在标题栏上有显示。另外,打开窗口菜单也能看出来,当前窗口被打上一个勾,如果想切换回原来的窗口,就点击“硬盘 1”。首先选中系统盘的引导代码然后在选区中单击鼠标右键,选“编辑”又出来一个菜单,然后我们选“复制选块”“正常”然后我们切换回硬盘 1 窗口,在零扇区的第一个字节处单击鼠标右键,选“编辑”然后选“剪贴板数据”“写入”出现一个窗口提示,点“确定”这样,我们就把一个正常系统盘上的引导代码复制过来了。下面,我们就开始恢复分区表(共
17、64 个字节,分为 4 个分区表项,每个分区表项占用 16 个字节,一般只使用前两个分区表项),我们首先来恢复第一个分区标项(也就是用来描述 C 盘的)。首先,在第 1 个字节处(0 扇区倒数第五行,倒数第二个字节)填上分区引导标志,因为 C 盘是活动分区,所以填上 80。接着是第 2、3、4 字节(本分区起始磁头号、扇区号、柱面号),填上:01 01 00。第 5 字节是分区类型符,因为原先 C 盘是 Fat32 格式,所以填上:0B。那么,如果你不知道 C 盘是什么格式怎么办呢?你会说问问客户呀,那么如果他也不知道呢?别着急,后面在说恢复 DBR 的时候我会教你怎么分辨分区的格式。第 6、
18、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、1
19、4、15、16 字节是本分区的总扇区数,也就是 C 盘的大小,这就要通过稍微一点点计算来得到了。因为 C 盘是从第 63 个扇区开始,而 C 盘后面紧接着的是 EBR,所以用 EBR 所在的第一个扇区数减去 63 就是 C 盘的大小。那么如何才能找到 EBR 所在的第一个扇区呢?我们前面说过,EBR 的结构和 MBR 是一样的,所以,EBR 的结束标志也一定是 55AA,那么,只要我们找到这个结束标志,再看看这个扇区是不是 EBR 不就行了?单击“搜索”“查找十六进制数值”,然后出来一个对话框在文本框中输入“55AA”,搜索框中选“全部”,然后选中“条件”,把偏移量设置为“512=510”。再
20、单击“确定”。画面如下:首先找到第一个“55AA”,我们看到,个扇区在第 63 个扇区上,并不是我们要找的 EBR,再按 F3 继续查找又找到好几个扇区,都不是,那么下面这个扇区是不是?前面我们说过,EBR 的结构和 MBR 的结构是一样的,所以在倒数第五行倒数第二个字节应该是 00 01,并且前 446 个字节应该是 0,显然这也不是 EBR,继续按 F3 查找终于找到了真正的 EBR,在 1435392 扇区。小技巧:现在的硬盘都比较大,要逐个扇区的查找 55AA 确实太慢了,那么有没有办法快点呢?有,那就是先问问客户 C 盘大概有多大,大多数客户还是知道的,比如他说 C 盘大概有 10
21、个 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(通
22、用)第 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 就全恢复完了,最后,保存,再重新启动启动完毕,迫不及待的打开我的电脑,发现三个
23、分区全部又回来了,并且里面的数据完好无损。再右击“我的电脑”,选“管理”出现一个对话框,选“磁盘管理”,在右边可以看到磁盘一的三个分区(Fat32、Fat16、Ntfs)全部都回来了,至此,手工恢复分区表顺利完成。手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了会有什么后果,能不能退回到上一步状态。特别是对一些破坏性操作,一定要考虑周到,只要条件允许,就一定要在操作之前进行备份,否则会造成“血”的教训,切记!下面我们会说到手工恢复 DBR、FAT(此教程被收录在付费教程中
24、),这些比手工恢复分区表还要复杂,更需要大量的计算。再说完了使用 Winhex 手工恢复数据之后,我们会说到一些数据恢复软件,结合数据恢复软件会使数据恢复成功率大大提高,但有一些软件在扫描过程中会对原盘破坏数据,在使用中一定要谨慎!而且同一个软件,一个新手用和一个老手用数据恢复成功率绝对是不一样的,这些软件我们会免费赠送,绝对不会让你学习了资料却找不到软件的在这个对话框里,我们可以选择对单个分区打开,也可以对整个硬盘打开,HD0是我现在正用的西部数据 40G 系统盘,HD1 是我们要分析的硬盘,迈拓 2G。这里我们就选择打开 HD1 整个硬盘,再点确定.然后我们就看到了 Winhex 的整个工
25、作界面。最上面的是菜单栏和工具栏,下面最大的窗口是工作区,现在看到的是硬盘的第一个扇区的内容,以十六进制进行显示,并在右边显示相应的 ASCII 码,右边是详细资源面板,分为五个部分:状态、容量、当前位置、窗口情况和剪贴板情况。这些情况对把握整个硬盘的情况非常有帮助。另外,在其上单击鼠标右键,可以将详细资源面板与窗口对换位置,或关闭资源面板。(如果关闭了资源面板可以通过“察看”菜单“显示”命令“详细资源面板”来打开)。最下面一栏是非常有用的辅助信息,如当前扇区/总扇区数目等向下拉拉滚动条,可以看到一个灰色的横杠,每到一个横杠为一个扇区,一个扇区共 512 字节,每两个数字为一个字节,比如 00
26、。下面我们来分析一下 MBR,因为前面我们说过,前 446 个字节为引导代码,对我们来说没有意义,这里我们只分析分区表中的 64 个字节。分区表 64 个字节,一共可以描述 4 个分区表项,每一个分区表项可以描述一个主分区或一个扩展分区(比如上面的分区表,第一个分区表项描述主分区 C 盘,第二个分区表项描述扩展分区,第三第四个分区表项填零未用)每一个分区表项各占 16 个字节,各字节含义如下:(H 表示 16 进制)字节位置 内容及含义第 1 字节 引导标志。若值为 80H 表示活动分区;若值为 00H 表示非活动分区。第2、3、4字节本分区的起始磁头号、扇区号、柱面号第 5 字节 分区类型符:00H表示该分区未用06HFAT16 基本分区0BHFAT32 基本分区05H扩展分区07HNTFS 分区0FH(LBA 模式)扩展分区83H Linux 分区第6、7、8字节本分区的结束磁头号、扇区号、柱面号第9、10、11、12 字节本分区之前已用了的扇区数第13、14、15、16 字节本分区的总扇区
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。