用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc

上传人:hw****26 文档编号:3116673 上传时间:2019-05-21 格式:DOC 页数:11 大小:542.50KB
下载 相关 举报
用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc_第1页
第1页 / 共11页
用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc_第2页
第2页 / 共11页
用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc_第3页
第3页 / 共11页
用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc_第4页
第4页 / 共11页
用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)Microsoft Word 文档.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、用 WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)用 WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识)1. MBR(主引导记录)and Partition Table(分区表)MBR是磁盘第一个扇区,CHS 地址是 0柱面,0 磁头,1 扇区;LBA 地址是 0。布局如下:MBR扇区内偏移 描述0x0000 引导代码0x018A 4个 9字节供 IBM扩展的分区表项0x01B8 4字节磁盘签名0x01BE 4个 16字节主分区表项0x01FE 2字节 MBR签名(0xAA55) 110x01FE是 55,0x01FF 是 AA。分区表项表项内偏移 描述0x00 可

2、引导标志0x01 起始 CHS地址0x04 分区类型0x05 结束 CHS地址0x08 4字节起始 LBA地址0x0C 4字节分区大小,以扇区计算3. 修复过程理解了 MBR和 Partition Table,修复思路就很清晰了。我的数据分区大概是占用 250G硬盘的后 180G,所以从硬盘头六分之一的位置开始,搜索分区表的明显标志 0x55AA。WinHex 的方便的搜索功能还可以设置只搜索存在于整数倍于 512字节块的末尾的 0x55AA,速度快很多。每找到一个最后两字节为0x55AA的扇区,就分析 4个分区表项是不是合理的,以及它所描述的分区大小,终于找到一个扇区,含有一个分区表项,大小

3、 180G,哈哈,肯定就是它了。这个扇区肯定就是扩展分区的起始扇区,它含有的那个分区表项肯定就是它唯一包含的一个逻辑分区了。在 MBR中创建一条属性为扩展分区(05)的分区表项,填入其他相关位置信息,以描述刚才找到的这个扩展分区:CHS起始位置:一般是逻辑分区表项中的 CHS起始位置,把磁头数改为 0。CHS结束位置:照抄逻辑分区表项中的 CHS结束位置。LBA偏移量,写入那个扩展分区相对磁盘起始位置的扇区偏移量。分区大小:应该是逻辑分区表项中逻辑分区大小加上 63个扇区。存盘,运行 Windows管理工具,查看磁盘信息,数据分区赫然在目。:)4. 备份 MBR终于找回我的电影和 mp3了,激

4、动啊。赶紧做个备份。MBR 本来没有第二份拷贝,不像 FAT,所以用 winhex把 MBR复制一份到磁盘最后一个扇区,这个扇区一般不可能被用到。好了,再也不怕你硬盘掉电了。相信听说过硬盘 MBR、硬盘分区表、DBR 的朋友一定都不少。可是,你清楚它们分别起什么作用吗?它们的具体位置又在哪里呢?硬盘上的 MBR只有一份吗?什么是硬盘逻辑锁?如何制造和破解它呢?别急,让我们一步步来搞清楚吧!=必备基础知识:=以下先介绍一下有关扇区编号的基本知识:介绍一下有关硬盘扇区编号规则的 3个易混淆的术语“物理扇区编号”、“绝对扇区编号”和“逻辑扇区编号”。我们都知道硬盘扇区的定位有两种办法:1、直接按柱面

5、、磁头、扇区 3者的组合来定位(按这种编号方式得到的扇区编号称为物理扇区编号);2、按扇区编号来定位(又分“绝对扇区编号“和“逻辑扇区编号“两种)。这两种定位办法的换算关系如下图:(设图中所示硬盘每道扇区数均为 63)如图所示,由于目前大多数硬盘采用的是一种“垂直分区结构“,故左图一磁头数为 2、盘片数为 1的硬盘,图中 0磁头所对扇区的表示方法就有 2种,即:0 柱面 0磁头 1扇区=绝对 0扇区,而 1磁头所对扇区的表示方法也有2种,即:1 柱面 0磁头 1扇区=绝对 63扇区。如果是如右图所示磁头数为 4、盘片数为 2的硬盘,那么则顺着垂直于盘片的箭头线方向进行如图的绝对扇区的编号。以上

6、,我们说了物理扇区、绝对扇区的编号方式,而逻辑扇区编号由于是操作系统采用的扇区编号方式,而操作系统只能读取分区内部的数据内容,故逻辑扇区是从各分区内的第一个扇区开始编号,如我们下文对 mbr的说明可以知道:mbr 这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容,因此一般来说绝对 63扇区= c:分区逻辑 1扇区。以下让我们总结一下 3种编号方式的不同:编号方式 表示方法 采用该种方式编号的对象 起始编号物理扇区编号 0 柱面 0磁头 1扇区 BIOS 内置中断服务程序 0柱面 0磁头 1扇区绝对扇区编号 绝对 X扇区 人们为方便所采用的办法 绝对 0扇区逻辑扇区编号 逻

7、辑 X扇区 操作系统 逻辑 1扇区需要说明的是:本文假设所使用的硬盘每道扇区数都为 63。各位手头上所使用的硬盘具体的每道扇区数则可以在 BIOS设置内有关硬盘参数的设置内查到。=有关 MBR、分区表、DBR 的基本知识:=硬盘 MBR(硬盘主引导记录)及硬盘分区表介绍硬盘 MBR就是我们经常说的“硬盘主引导记录”,简单地说,它是由FDISK等磁盘分区命令写在硬盘绝对 0扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字(55AA)这 3个部分组成,如下:组成部分 所占字节数 内容、功能详述主引导程序区 446 负责检查硬盘分区表、寻找可引导分区并负责将可引导分区的引导扇区(DBR)装

8、入内存;硬盘分区表区 16X4=64 每份 16字节的 4份硬盘分区表,里面记载了每个分区的类型、大小和分区开始、结束的位置等重要内容;结束标志字区 2 内容总为”55AA”。结束标志字区 2 内容总为”55AA”这 3部分的大小加起来正好是 512字节=1 个扇区(硬盘每扇区固定为512个字节),因此,人们又形象地把 MBR称为“硬盘主引导扇区”。这个扇区所在硬盘磁道上的其它扇区一般均空出,且这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面的才是分区的内容(也就是说假如该盘每磁道扇区数为 63,那么从绝对 63扇区开始才是分区的内容)。硬盘 DBR(硬盘分区引导记录)介绍DBR是各个分

9、区自己的引导记录,又称“分区引导记录”,它是由 FORMAT高级格式化命令写在各个分区开始处第一个扇区(比如说:主分区 C:从 1磁头 0柱面 1扇区=逻辑 1扇区=绝对 63扇区)开始,那么 C:区逻辑 1扇区就是 DBR所存放的位置)的一段数据.这段数据主要由以下几个部分组成:1、占 3个字节的跳转指令;2、占 8个字节的操作系统厂商标识及版本号;3、占 19个字节的分区参数表(又称 BPB),里面存放着对该分区进行读写操作时所必备的参数 (如该分区内每扇区所包含的字节数、每簇扇区数、每个磁道的扇区数、该分区 FAT份数等);4、占 480个字节的 DOS引导代码,它负责把 DOS引导文件

10、 IO.SYS、MSDOS.SYS装入内存;5、占 2个字节的结束标志字”55AA”.以上 5个部分也正好占 1个扇区;和 MBR有所不同的是:DBR 扇区后面一般就紧接着存放该分区的 FAT(文件分配表,共 2份)。综上所述,我们知道硬盘 MBR负责总管硬盘分区,只有分区工具才能对它进行读写(如 FDISK);而 DBR则负责管理某个具体的分区,它是用操作系统的高级格式化命令(如 FORMAT)来写入硬盘的。在系统启动时,最先读取的硬盘信息是 MBR,然后由 MBR内的主引导程序读出 DBR,最后才由 DBR内的 DOS引导代码读取操作系统的引导程序,其中任何一个环节出了问题,操作系统都无法

11、正常启动成功,如果是 MBR部分出了问题,即使只是”55AA”标志字丢失或被改为其他值,通常都会出现“无效分区表“、逻辑盘丢失、启动死机等现象;而如果是 DBR部分出了问题,通常会出现“未格式化的分区”的错误提示。实际上,在每一个分区的前面,都有一份 MBR,在每一个分区的开始处,都有一份 DBR。通常我们把存放在绝对 0扇区的那份 MBR称为主 MBR或 C分区MBR。这样我们就能画出如下的 MBR、DBR 的存放位置表:市面上很多分区表保存软件(如 KV3000的分区表保存功能)实际上保存的就是表中各个分区前 MBR区的数据。在中篇里,我们将来看看怎样实际操作,观察我们硬盘上的 MBR、D

12、BR。动手观察 MBR、DBR:近距离观察 MBR、DBR:口说无凭,眼见为实。还是让我们用工具来具体观察一下吧:)我们要观察的盘全部分作 DOS区,在 DOS区内共分 C:、D:、E:三个盘。1、观察主 MBR:首先得准备工具,这里我们推荐 DISKEDIT兼容 FAT32的版本,可以到搜索 DISKEDIT并下载。该程序启动后界面如下:选“PHYSICAL DEVICE”按 OK进入。这时候,DISKEDIT 首先显示的就是硬盘绝对 0扇区的 MBR信息,如下图:从图中我们可以看到 MBR的 001BD字节为主引导程序;01BE01FD 这 64字节为硬盘分区表信息,每项分区表占 16字节

13、;最后是结束标志字 55AA。下面我们详细分析一下分区表各个字节所表示的意思:注 1:此处第一个字节存放磁头号(01、0B),第二字节低六位存放扇区号 01=00(00 0001)=00(01)、FE=11(11 1110)=11(3F),第二字节高 2位+第三字节为柱面号 00(00)=000、11(7F)=37F。还需要说明的是 01BF01C1这 3个字节在分区表里面,视后面 01C2字节所示分区类型的不同而代表不同的含义。如果 01C2是代表主分区的 01、04、06 或 0B,那么 01BF01C1所表示的就是该分区 DBR所在的位置,如果 01C2是代表扩展分区的 05或 0F,那

14、么 01BF01C1所表示的就是该分区 MBR所在的位置。看完上面我们给出的第一份 MBR,不知道大家注意到没有,在硬盘分区表数据区里面只有两个分区表项,而我们的盘明明是分成 C:、D:、E:三个盘的,怎么回事呢?再仔细观察一下分区表,我们还会发现在这份 MBR里,第一个分区表项(01BE01CD)描述的是 C:盘的信息,第二个分区表项(01CE01DD)描述的是整个扩展分区的信息,它把剩下的 D:、E:全部包含在里面了!未免太笼统了点吧。那么,如果我们要查看 D:、E:各自详细的分区情况怎么办呢?参考上一段我们给出的 01BF01C1这 3个字节所代表的不同含义,我们发现,第二个分区表项的分

15、区类型符为 0F,也就是说是扩展分区,那么分区类型符前面 3个字节所代表的应该是扩展分区 MBR所在的位置。可见不光是全盘最前面的 0磁头 0柱面 1扇区有一份主 MBR,扩展分区的最前面也有一份MBR!还是让我们顺着系统启动的顺序先到 1磁头 0 柱面 1扇区去看看主分区DBR,然后再看扩展分区的 MBR是什么样的吧!2、观察 C分区 DBR:在 DISKEDIT界面输入“ALT+S”,在出现的菜单内选“GOTO。”,如下图:接下来,按表 1内 01BF01C1字节所示的主分区 DBR位置,在出现的菜单内依次输入 DBR所在的柱面数(CYLINDER)=0,磁头数(HEAD)=1,扇区数(S

16、ECTOR)=1,如下图:哈哈,第一份 DBR的数据就调出来啦:)3、观察 D分区 MBR:按照表 1扩展分区 01CF01D1字节所示分区 MBR位置,进入图 4的菜单内输入 281(119h)柱面、0 磁头 、1 扇区;D 分区 MBR就出来了:)哈哈,正如大家所看到的,这第二份 MBR其实只是一个分区表而已。同第一份 MBR一样,也只是描述了当前主盘(D:盘)和剩余空间的分区状况。按照和第 3步中同样的办法,我们同样能够定位出 D:盘的 DBR和 E分区MBR(最后一份 MBR)所在的位置并用 DISKEDIT进行观察。在下篇内将对以上知识进行总结,并对逻辑锁进行一个详细的分析。前两篇文

17、章中我们了解了硬盘逻辑分区的概念也实际看到了分区的情况,下面是对前问的总结,附带逻辑锁的详解。=通过观察,我们证实了每一个硬盘分区,都有各自的 MBR和 DBR;操作系统启动时,不论是从硬盘还是从软盘启动,都需要先由 BIOS读绝对 0扇区的主 MBR,找到标志为 80的可引导分区,然后由 MBR负责读出该分区内的 DBR,再由 DBR负责读出存在该分区的系统启动程序(IO.SYS 等),最后在 DOS系统程序 IO.SYS的指挥下遍历所有的 MBR和 DBR,从而获知完整的硬盘分区结构。使用 FDISK分区时也需要进行同样的过程。而 IO.SYS遍历所有的 MBR和 DBR的时候,是按照如下

18、表的顺序进行:=分区表知识实际应用=,制作一个硬盘逻辑锁观察上面我们给出的遍历流程表,参考一中关于 01C2字节的说明,如果我们在描述 D分区 MBR位置的 01CF01D1字节处作点手脚,把这里本来存放D:盘 MBR位置的字节改成 00 01 00(就是 C分区 MBR所在的位置)那么遍历流程不就变成下表所示了吗:,表面上看,应该这样就可以做成一个逻辑锁了吧。可是实际情况一定会让你失望,98 根本一点反应也没有,居然给我一切正常!,再试试动动其它歪脑筋好了。咦。总觉得 01D2字节表示 D:盘分区类型的 0F怪怪的,把它改成 05,这下硬盘总算在出现 98欢迎画面的时候陷入上表所示的死循环了

19、:)好,现在我们换软盘启动看看。,咦。怎么出现一大堆 E文后居然还能引导成功!。如果把表示 C:盘分区类型的 01C2字节的 0B改成其它数会怎样?把它改成 0A终于大功告成了,无论是软盘或者是硬盘启动,面就给出一种完美的硬盘逻辑锁主 MBR样本:(图中黄色字体的为改动的部分,只需要改区区4个字节哦!)好了,我们来总结一下制作逻辑锁的必要步骤吧!1、先把 C:盘 MBR的 01CF01D1字节处表示的 D:盘 MBR位置改成 00 01 00;2、然后把紧接着的表示 D:盘分区类型的 01D2字节改成 05;3、最后改 C:盘 MBR中表示 C:盘分区类型的 01C2字节,把它改成0A、04、03、02 或者 00这 5种字节都可以。这样一来,不论是从软盘或者硬盘用 DOS7.0版本启动,甚至加挂正常的可引导硬盘,都难逃死机的恶运了,至于为什么还要改两个盘的分区类型,这个本鸟也还没有完全想通 L不过有一点可以肯定的是:即使不改分区类型,在使用FDISK时也是必死无疑的.哎呀,差点忘了说了,中了锁怎么解呢?别急,前面我们不是说到:”不论是从硬盘还是从软盘启动,都需要在 DOS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。