移动硬盘手工重建分区表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动硬盘手工重建分区表
这几天对硬盘的分区表很感兴趣,反正有块移动硬盘,就使用diskpart的clean 命令,把这个块移动硬盘的主分区表删除了,删除之后,在磁盘管理里,就看到一块没有进行分区的硬盘,下面,通过winhex这个工具重建硬盘分区表
图一
图二
图三
这就打开了磁盘一,现在显示的是Sector 0,就是磁盘的第一个扇区,也就是传说中的主引导扇区(Master Boot Record),一共512字节(B),前446Byte是引导信息,接着的64Byte是主分区表(Disk Partition Table),最后两个字节55 AA是结束标志。硬盘分区表包含四个项目,每项16字节,代表四个分区的参数。这就是为什么硬盘只能有四个主分区的原因。
DPT中可定义的分区包括主分区和扩展分区。所谓主分区,是指DPT中包含的能够被系统使用的磁盘分区,它是可以设置为活动的,即可以引导操作系统,一个硬盘只能有一个活动分区;而扩展分区并不能被系统使用,它的作用是突破DPT只能定义4个分区的限制。
其做法是:让DPT在定义主分区后,将多余容量定义为扩展分区,指定该分区的起始位置,根据起始位置指向硬盘的某一扇区,称作虚拟MBR,在其中定义下一个分区表。如果只有一个分区,就定义该分区,然后结束;如果不止一个分区,就定义一个基本分区和一个扩展分区,扩展分区再指向下一个分区表,在下一个分区表中继续定义分区,直至结束。这样就形成一个分区链,可以描述所有的分区。
任何分区表中只能有一个扩展分区,扩展分区不能引导操作系统。位于扩展分区中
的可被系统使用的磁盘分区称为逻辑分区,逻辑分区不能设置为活动。由于定义了扩展分区和逻辑分区的概念,windows使用的磁盘盘符可以一直到Z。
接下来,开始重建分区表了,由于我是把移动硬盘分成一个扩展分区,在分了两个逻辑盘,所以在DPT中分区表信息就只有16B。由于是扩展分区,所以可以根据EBR来
推算出DPT中的数据。
图四
如图四所示,扩展分区的分区表其实就是一个分区链表。图中所示,C盘为主分区,D、E盘都是属于扩展分区的。因为55AA是结束标志,所以用winhex查找扇区最后两个字节为55AA的扇区,点击“搜索”-“查找Hex数值”,查找55AA,把Cond前的框勾上,填上offset mod 512=510,然后查找,由于EBR占了一个扇区,所以只有那些数据大部分为0,只有从第447个字节开始才有数据的,并且以55AA结束的扇区才是EBR
所在。像我的查找出来,sector 16065就是第一个EBR,信息如下
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
00 01 01 01 07 FE FF FF 3F 00 00 00 CE 2E C0 03
十进制为63 十进制为62926542
00 00 C1 FF 05 FE FF FF 0D 2F C0 03 D5 39 EC 04
十进制为62926650 十进制为82590165
图五
现在开始写DPT了,第1字节,由于不是引导分区,所以就是00,第2、3、4字节00 01 01,第5字节,由于是扩展分区,又是DPT中,所以用0F,第6、7、8,通用的FE FF FF,因为该EBR是扇区16065,转换成16进制就是3EC1,反过来就是C1 3E 00 00,所以第9、10、11、12字节填C1 3E 00 00,该分区的总扇区数就是62926542 + 82590165 + 63 = 145516770,转换成十六机制就是8AC68E2,反过来就是E2 68 AC 08,所以DPT中的信息就是00 00 01 01 0F FE FF FF C1 3E 00 00 E2 68 AC 08 ,在如图六所示的地方填上,再按Crtl+s保存,把移动硬盘的线拔了,再重新插上,哈哈,分区又回来了。