用 直接修改磁盘分区表找回丢失的分区另附分区表知识)
用 WinHex 直接修改磁盘分区表找回丢失的分区(另附分区表知识)
1. 为什么写这篇 blog
上个星期 开始不停地出问题,经常性的在使用中分区信息丢失。开始只是 盘信息丢失,
也就忍了,每次用 还原。最后一次居然整个扩展分区没了,所有电影音乐游戏一概报销。只好
临时把系统又装回老硬盘。虽然丢失的没有重要资料,毕竟是一大堆攒下来的东西,很不爽,决定找
回来。在网上搜硬盘工具没找到理想的,倒是顺便又温习了一遍分区表知识,于是决定自己动手,丰
衣足食。装上 ,直接开干。
2. MBR(主引导记录)and Partition Table(分区表)
是磁盘第一个扇区,
地址是 柱面, 磁头, 扇区;
地址是 。布局如下:
扇区内偏移 描述
引导代码
个 字节供 ! 扩展的分区表项
字节磁盘签名
"
个 字节主分区表项
#"
字节 签名($$)
%&
%&
#" 是 $$,## 是 。
分区表项
表项内偏移 描述
可引导标志
起始 地址
分区类型
$
结束 地址
字节起始 地址
字节分区大小,以扇区计算
3. 修复过程
理解了 和 '()(*+,修复思路就很清晰了。我的数据分区大概是占用 $ 硬盘的
后 ,所以从硬盘头六分之一的位置开始,搜索分区表的明显标志 $$。 的方便的
搜索功能还可以设置只搜索存在于整数倍于 $ 字节块的末尾的 $$,速度快很多。每找到一个
最后两字节为 $$ 的扇区,就分析 个分区表项是不是合理的,以及它所描述的分区大小,终于
找到一个扇区,含有一个分区表项,大小 ,哈哈,肯定就是它了。这个扇区肯定就是扩展分区
的起始扇区,它含有的那个分区表项肯定就是它唯一包含的一个逻辑分区了。
在 中创建一条属性为扩展分区($)的分区表项,填入其他相关位置信息,以描述刚才找到的
这个扩展分区:
起始位置:一般是逻辑分区表项中的 起始位置,把磁头数改为 。