FAT32格式化恢复
ps:已下所有操作均在打开分区内进行操作计算
恢复子目录内数据
首先搜索格式化前 父目录高低簇都为 00 00 的子目录的目录项
2E2E2020202020203F3F3F3F3F3F3F3F3F3F3F3F00003F3F3F3F000000000000

找到自己需要恢复的子目录后,记录下该子目录 目录项的高低簇号
跳转到根目录 虚拟一下子目录 簇号填写上一步记录下的高低簇号,保存
刷新一些磁盘 在winhex内的文件浏览器找到目录,右键即可提取保存数据
在目录内无法找到文件时
先查看一下高低簇号填写是否正确
如果正确,则是格式化后的簇大小,和FAT表无法定位相应目录磁盘位置
修复方法:
计算出格式化前每簇大小,和FAT表大小即可复制恢复以前数据
计算格式化前每簇大小
搜索到两个格式化前的子目录 记录下每个子目录 的高低簇号和位于的扇区
例如得到的数据是
子目录1 高位簇号为0(十进制),低位簇号为 3(十进制) 位于40992扇区
子目录2 高位簇号为0(十进制),低位簇号为 10(十进制) 位于41216扇区
进行以下运算
(子目录1扇区 - 子目录2扇区 )/ [子目录1(高位簇 * 65536 + 低位簇) - 子目录2(高位簇 * 65536 + 低位簇)] = 格式化前的每簇大小(结果取绝对值)
224 / 7 = 32
计算FAT表大小
因为FAT32系统的根目录位于2号簇
由上可知 格式化前的子目录1 位于3号簇 40992扇区
格式化前子目录1扇区 - [(格式化前子目录1起始簇号 - 2 ) * 每簇大小 ]= fat表大小
40992 - 32 = 40,960

浙公网安备 33010602011771号