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

posted @ 2021-03-04 11:45  麻辣小鱼干  阅读(577)  评论(0)    收藏  举报