您现在所在位置:迅维职业技能培训中心 > 维修技术 > 硬盘维修 >
数据恢复-用winhex重建MBR
更新时间:2013-09-09 浏览量:1270
我们来模仿分区表被病毒破坏的情况,将MBR全部填零。我们首先将MBR所在的扇区选中。鼠标指向第一个字节,单击右键,选择“选块开始”然后鼠标指向MBR的最后一个字节,单击右键,选择“选块结尾”然后我们在选区内部单击鼠标右键,选择“编辑”这样就有出来一个菜单然后我们选“填充选块”,这样就出来一个填充选块对话框在“用十六进制填充”的输入框中输入“00”,再点“确定”这样MBR所在扇区全部被我们填充为“00”如果想取消选区,那就用鼠标拖动随便选中一块区域,那么原来的选区就会取消。注意,如果扇区数据被修改了而没有存盘就会变为别的颜色。
修改了扇区,这时候还没有存盘生效,如果你想存盘生效的话,就选择“文件”菜单“保存扇区”命令。这时候就会出现一个提示,如果你不想存盘了就点取消,如果想存盘,就点确定,再点是。好,这样就存盘了,扇区被修改的数据又变为黑色。这样我们就把分区表给删除了,这时候必须重新启动才能生效,如果你打开我的电脑,会发现三个分区(F 、G、 H)还在那里,并且里面的数据还能正常使用。现在,我们关闭所有程序将电脑重新启动……经过不长时间的等待,电脑启动起来了,我们打开我的电脑看看,发现F 、G 、H三个分区不见了。再打开Winhex发现MBR全部为零了,下面我们就着手开始手工恢复分区表首先恢复引导代码,这最简单了,只要用Winhex到别的系统盘把引导代码复制过来就行了。我现在的机器上不是挂着两个硬盘吗?一个迈拓2G,一个西数40G,西数40G是我的系统盘,那就从这个盘上复制就行了。单击“磁盘编辑器”按钮出现“编辑磁盘”对话框选择“HD0 WDC 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)全部都回来了,至此,手工恢复分区表顺利完成。手工恢复数据恢复成功率比较高,而且比较有趣味和挑战性,能找回许多傻瓜似的软件所找不回来的文件,但是要求工程师一定要有耐性,而且一定要保持清醒,清楚自己正在操作什么,操作完了会有什么后果,能不能退回到上一步状态。
下一篇:写6Y的固件的问题和解决方法
培训科目
- 苹果手机维修远程培训,安卓手机2021-07-05
- 手机维修从业人员进修培训【实地2021-01-04
- 手机维修高级实训班【实地】2021-07-23
- 安卓·苹果手机维修培训【实地】2021-01-04