wsszsmx 发表于 2007-11-1 19:20:09

FAT32的DBR备份损坏,手工的修复DBR!

下面是我在http://benyouhui.it168.com/forum-55-1.html网发现的!
感谢:本友会的 lasteye (小鼠膘)

双击分区提示未格式化的解决方法(FAT篇)

有朋友给我发短消息,说他的移动硬盘有两个FAT32逻辑分区打不开了,双击之后跳出如下图所示的提示信息,问如何恢复数据。


出现这样的提示,首先可能是分区表参数有误,例如分区类型标识错误,本来是FAT32标记为NTFS,系统按NTFS来解读,发现分区不符合NTFS格式,从而提示未格式化;或是分区DBR位置信息错误,OS找不到DBR,无法解释文件系统,也会提示分区未格式化。遇到这种情况用软件或手工修复分区表就解决了,具体操作请参阅我的另一篇帖子《手工恢复硬盘分区表记述》。

其次可能是分区DBR受损,BPB中存储的该分区重要的参数错误或者丢失,使得OS无法解释文件系统,只能当作RAW格式处理。本文主要探讨第二种情形,有关的背景知识DBR、BPB的定义以及FAT文件系统的解析请参阅附件里的资料,这里不再赘述。
一般情况下,FAT32分区的DBR备份存储在分区6号扇区,将备份扇复制到0号扇(即DBR扇区)也就解决了,但是这位朋友不幸的是他的分区DBR备份也损坏了(FAT32的DBR和备份扇区相隔不远,确实容易一损俱损,这一点不如NTFS安全)。

在这种情况下可以试试EasyRecovery 的Advanced Recovery(见5楼),不行的话就用Raw Recovery。Advanced Recovery 有时不太可靠,而Raw Recovery恢复出来的数据杂乱无章,文件名、目录结构丢失,难以整理。所以我考虑手工重建分区DBR。

首先,你需要一个没有问题的FAT32分区,以它的分区DBR作为模板,注意该分区不能存有重要数据,因为要修改分区重要参数,可能会造成分区无法访问。运行十六进制编辑器winhex,点击“工具”菜单,选择“磁盘编辑器”,在弹出的窗口中选中“物理媒介”下的对应磁盘,这里选择“HD0...”作为例子。

点击“访问”菜单,选中模板分区的“启动扇区(模板)”项。

弹出的窗口显示的是分区DBR的各项参数,其中我们需要修改的是“扇区/簇”(即簇大小)、“保留扇区”、“隐藏扇区”(表示从该分区DBR到分区表需移动多少扇区)、“扇区(大容量)”(即分区大小)、“扇区/FAT”(即文件分配表大小)五项(下图中以红框标出),其实还有根目录第一簇的位置也很重要,不过这个数值一般为2,似乎不用修改。

如果根目录第一簇位于其他位置,那就需要手动搜索根目录的特征字段。根目录下可能会有回收站文件夹和卷标文件,可以搜索RECYCLER、卷标名,或者搜索根据记忆搜索根目录下的某个文件/文件夹名称从而确定根目录所在扇区,然后根据簇大小计算出根目录第一簇的簇号。

关闭“启动扇区(模板)”窗口,点击“访问”菜单,选中问题分区的“分区表(模板)”项。

弹出的窗口中显示的是问题分区所在的分区表。如果问题分区是逻辑分区,“分区表项 #1”就是该分区的分区表参数列,如果是主分区,就根据分区位置和大小判断。

在这个例子中,问题分区是逻辑分区,所以我们需要查看的是“分区表项 #1”,其中“扇区在分区 1”一项代表分区总扇区数,记下这个数字4096512;“扇区在前的分区 1”即“隐藏扇区”一项的数值,记下这个数字63。

关闭“分区表(模板)”窗口,点击“搜索”菜单,选择“查找16进制值”,输入F8 FF FF 0F FF FF FF FF,这是FAT32文件分配表的标志(也有可能是别的数值,但差异不大),执行搜索转到以下页面,即第一文件分配表的起始扇区,记下“相关扇区编号”38,这就是保留扇区数。

按下F3继续搜索,转到第二文件分配表的起始扇区,记下“相关扇区编号”4031,4031 - 38 = 3993,得到文件分配表的扇区数。


个关键参数中,我们已经找回了四个,还有一个每簇扇区数,可以由前几个参数计算得出:

(分区总扇区数 - 保留扇区数 - 文件分配表扇区数 X 2) / (文件分配表扇区数 X 512 / 4),结果向下取整即为每簇扇区数。

由此得出该分区每簇扇区数为8,注意每簇扇区数必为1、2、4、8、16、32、64其中一数值,FAT32分区簇最大为32KB。

然后再点击“访问”菜单,选中模板分区的“启动扇区(模板)”项,把这五个数值填入相应的编辑框,并按回车确认,修改后的数据(以蓝色显示)将写入模板扇区,注意此时千万不要点击“保存”,因为这些数据对于模板分区DBR来说是错误的,一旦写入硬盘,将可能造成模板分区不能访问,甚至导致死机、系统无法启动。

选中模板扇区,按下Ctrl + C,转到问题分区启动扇区,将光标移至偏移0处,点击“编辑”菜单,选择“剪贴板数据-写入”。


移至问题分区6号扇区,将剪贴板内容写入备份扇。

别忘了将模板分区6号扇区的内容复制到启动扇区,还原模板分区DBR的内容。

检查一遍写入的各个扇区,确认没有写错以后,点击“保存”按钮。关闭winhex,双击问题分区,于是所有的分区数据又呈现在眼前啦。


问题:这两步,不懂!
选中模板扇区,按下Ctrl + C,转到问题分区启动扇区,将光标移至偏移0处,点击“编辑”菜单,选择“剪贴板数据-写入”。
别忘了将模板分区6号扇区的内容复制到启动扇区,还原模板分区DBR的内容。

[ 本帖最后由 wsszsmx 于 2007-11-1 19:41 编辑 ]

yuhenet 发表于 2007-11-1 19:24:34

(38:不错顶一个

yaodaweiyy 发表于 2007-11-1 19:26:33

不是很懂啊

丑八怪 发表于 2007-11-1 19:31:53

只说过程 不说原理...

嘿嘿

wsszsmx 发表于 2007-11-1 19:52:34

丑八怪   我是转载别人的文章的!我都不懂原理!你比我懂!你出来分析一下呀!
我见rainhe出了教程!你打算什么时候,出呀!

dong31680 发表于 2007-11-1 20:00:24

用易我呀(38: (38:

丑八怪 发表于 2007-11-1 20:06:15

原帖由 wsszsmx 于 2007-11-1 19:52 发表 http://bbs.intohard.com/images/common/back.gif
丑八怪   我是转载别人的文章的!我都不懂原理!你比我懂!你出来分析一下呀!
我见rainhe出了教程!你打算什么时候,出呀!
不满你笑话..我学这个还不到10天....

以后说错话了 大家见笑了

wsszsmx 发表于 2007-11-1 20:16:32

不怕!我还不是从网上,找资料学的!我连一本数据恢复的书都没有!
可多看,多问!多向别人学习!
丑八怪你是刚学数据恢复,自学,还是去培训学校学的?

丑八怪 发表于 2007-11-1 20:42:44

原帖由 wsszsmx 于 2007-11-1 20:16 发表 http://bbs.intohard.com/images/common/back.gif
不怕!我还不是从网上,找资料学的!我连一本数据恢复的书都没有!
可多看,多问!多向别人学习!
丑八怪你是刚学数据恢复,自学,还是去培训学校学的?
自学的..买了本数据恢复技术....

wsszsmx 发表于 2007-11-1 21:27:56

丑八怪你QQ是多少!加你聊!
页: [1] 2 3 4 5 6 7
查看完整版本: FAT32的DBR备份损坏,手工的修复DBR!