用WinHex直接修改磁盘分区表找回丢失的分区(另附分区表知识) 1
为什么写这篇blog 上个星期SATA开始不停地出问题,经常性的在使用中分区信息丢失
开始只是 C盘信息丢失,也就忍了,每次用Ghost还原
最后一次居然整个扩展分区 没了,所有电影音乐游戏一概报销
只好临时把系统又装回老硬盘
虽然丢失的没有重要资料,毕竟是一大堆攒下来的东西,很不爽,决定找回来
在网上搜硬盘工 具没找到理想的,倒是顺便又温习了一遍分区表知识,于是决定自己动手,丰衣足食
装上WinHex,直接开干
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)[1] [1] 0x01FE是 55,0x01FF是 AA
分区表项 表项内偏移 描述 0x00 可引导标志 0x01 起始CHS地址 0x04 分区类型 0x05 结束 CHS地址 0x08 4字节起始LBA地址 0x0C 4字节分区大小,以扇区计算 3
修复过程 理解了 MBR和 Partition Table,修复思路就很清晰了
我的数据分区大概是占用250G硬盘的后 180G,所以从硬盘头六分之一的位置开始,搜索分区表的明显标志 0x55AA
WinHex的方便的搜索功能还可以设置只搜索存在于整数倍于 512字节块的末尾的0x55AA,速度快很多
每找到一个最后两字节为 0x55AA的扇区,就分析 4个分区表项是不是合理的,以及它所描述的分区大小,终于找到一个扇区,含有一个分区表项,大小 180G,哈哈