另类手工修复ExFAT文件系统的DBR的方法

[复制链接]
  • TA的每日心情
    奋斗
    2012-8-8 20:58
  • 签到天数: 1 天

    [LV.1]布衣百姓

    14

    主题

    64

    回帖

    856

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    856
    发表于 2012-8-8 22:46:18 | 显示全部楼层 |阅读模式
    本帖最后由 zck699 于 2016-11-6 23:26 编辑

    Microsoft的文件系统经历了FAT12、FAT16、FAT32、NTFS等文件系统,NTFS文件系统以其非常好的安全性及可恢复性得到广泛认可,也是微软力推的一种文件系统。
    随着闪存盘容量的不断增大,比较适合大容量闪存盘的FAT32文件系统却不能存放单个4G及更大的文件。虽然将闪存盘格式化为NTFS文件系统可以解决这个问题,但是在闪存盘却不适合用NFTS文件系统,NTFS的日志功能会造成对闪存的不断读写,这对于闪存的寿命而言非常不利。为了解决这个问题,Microsoft推出了ExFAT(Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)文件系统,以适应大容量闪存存储大文件的需求(理论上它可以存储的单文件大小最大可达16EB,即16×1024×1024TB)。
    对文件系统有研究的人都知道,对于FAT、NTFS等文件系统,如果DBR损坏出现格式化提示,我们都只需找一个正常的分区DBR写入并修改其中的PBP参数就能完整恢复原来的数据。然而,对ExFAT文件系统有一定研究的人都知道,ExFAT的DBR及其保留扇区校验非常严格,ExFAT文件系统的0~23扇区中任意一个扇区更改任意一个字节的数据都会出现格式化提示。因此,ExFAT文件系统的DBR扇区数据损坏后,我们用正常的ExFAT文件系统的DBR重写并修复其中的PBP参数来恢复ExFAT文件系统分区的数据是行不通的。可能我们会想到,把该分区格式化再用软件扫描恢复数据,然而,由于ExFAT文件系统才发展起来不久,格式化后,支持ExFAT文件系统格式化恢复的软件非常少,并且格式化会进一步损伤原来的数据,通过扫描恢复也不一定能完全恢复原来的数据。
    那么,我们能否在不格式化的前提下,通过修改ExFAT文件系统的DBR及其保留扇区达到完整恢复数据的目的呢?答案是肯定的。在网上看到,有的同道中人可以通过修改PBP参数后更改校验值的方法实现,但这个校验值不是人人都会算,当然我也不会。通过研究,本人得到了另一个可行的办法实现修改ExFAT文件系统的DBR达到完整恢复数据的方法。
    在讲解这个方法之前,我们首先对ExFAT文件系统DBR扇区、保留扇区、备份扇区再作一个基本了解。ExFAT文件系统的0号扇区是DBR,1-11号扇区为保留扇区,其中11号扇区是校验,12—23号扇区是0—11号扇区的备份。0-23这24个扇区中的数据都很重要,不能随意便改,只要任意改写这24个扇区中任意一个扇区的任意一个字节的数据,都会导致格式化提示而不能正常打开磁盘分区。
    既然不能通过简单的修改DBR中的PBP参数修复ExFAT分区,那么我们应该怎样手工修复DBR呢?我的思路是:构建一个与原来的磁盘分区的PBP参数完全一致的一个DBR扇区及其保留扇区、备份扇区,然后将这个DBR及其后的23个扇区去替换原来的DBR及其后的23个扇区,这样不就可以正常打开原来的分区了吗?经过实践证明,我的这个思路的可行的并且也是成功的。
    通常情况下,ExFAT文件系统用在U盘上,下面讲解一下修复步骤及方法:
    第一步:构建一个扇区数与待恢复的U盘扇区数完全相同的磁盘镜像文件。
    winhex打开待修复的磁盘,查看U盘总扇区数,然后新建一个文件,文件大小字节数为U盘扇区数*512字,保存新建文件。当然,也可以将U盘克隆为一个镜像文件,不过速度要慢些。
    第二步:写分区表。
    打开刚才保存的镜像文件并将它解释为磁盘,再打开待恢复U盘,将U盘0扇区中的分区表数据复制到镜像文件的相应位置并保存。
    第三步:用虚拟磁盘工具加载镜像文件为磁盘。
    用ImDisk虚拟磁盘工具,加载刚才保存的镜像文件。可加载为硬盘卷,也可加载为可移动盘卷。ImDisk虚拟磁盘工具的用法在这里就不介绍了。
    第四步:格式化刚才加载的磁盘。
    格式化刚才加载的磁盘分区,在格式化前,要对待恢复U盘分区分析,得到分区的簇大小,然后在格式化选项中,选择簇大小与待恢复U盘的簇大小相同。
    第五步:写U盘中ExFAT文件的0—23扇区。
    用Winhex打开刚才加载并已格式化好的磁盘分区,选中0—23扇区全部内容,按Ctrl+C将其复制到剪切板中,再打开U盘,跳转到ExFAT分区的起始扇区,按Ctrl+B将刚才复制的内容写入到U盘分区的相应扇区。
    到此,重写U盘ExFAT分区的DBR及其保留扇区、备份扇区的工作就结束了,现在我们卸载U盘再重新插入U盘,就可以看到U盘中的数据了。
    千万注意备份,如果U盘是在不同的系统上格式化的,参数有可能不相同!

    如有需要,可联系淘宝网店“竹都数据恢复”,为您提供远程数据恢复服务!地址:http://zhudu.taobao.com,旺旺:zck699,QQ:2360574454
  • TA的每日心情
    开心
    2014-10-29 09:53
  • 签到天数: 226 天

    [LV.7]四品道员

    93

    主题

    1312

    回帖

    2万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    22407
    QQ
    发表于 2012-8-9 09:45:29 | 显示全部楼层
    方法不错。
    http://bbs.intohard.com/thread-100031-1-3.html这里有软件。呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    178

    回帖

    278

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    278
    发表于 2012-8-9 10:19:09 | 显示全部楼层
    支持,顶[s:4]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-8-8 20:58
  • 签到天数: 1 天

    [LV.1]布衣百姓

    14

    主题

    64

    回帖

    856

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    856
     楼主| 发表于 2012-8-9 14:13:05 | 显示全部楼层

    软件只能用在起始扇区为63的硬盘上分区上,U盘很多时后它的分区起始扇区并不是63
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2012-8-9 21:21
  • 签到天数: 1 天

    [LV.1]布衣百姓

    0

    主题

    32

    回帖

    60

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    60
    发表于 2012-8-9 21:36:58 | 显示全部楼层
    这个写的挺好的,值得借鉴
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2012-12-17 14:03
  • 签到天数: 21 天

    [LV.4]七品知县

    5

    主题

    53

    回帖

    95

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    95
    发表于 2012-12-9 21:54:11 | 显示全部楼层
    exFAT适用本地硬盘吗?
    exFAT会有变RAW的可能吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-9-29 15:42
  • 签到天数: 13 天

    [LV.3]八品县丞

    0

    主题

    216

    回帖

    219

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    219
    发表于 2012-12-13 13:54:42 | 显示全部楼层
    这个写的挺好的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-5-18 19:52
  • 签到天数: 141 天

    [LV.7]四品道员

    2

    主题

    185

    回帖

    1201

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1201
    发表于 2012-12-15 21:25:38 | 显示全部楼层
    有见地啊,值得借鉴
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-10-23 16:36
  • 签到天数: 130 天

    [LV.7]四品道员

    2

    主题

    514

    回帖

    1004

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1004
    发表于 2013-1-6 14:34:36 | 显示全部楼层
    支持楼主,不错!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    10

    回帖

    12

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    12
    发表于 2017-2-6 11:40:16 | 显示全部楼层
    有疑问:第二步为什么要把待恢复U盘的分区表拷到镜像文件中,反正镜像文件是要格式化的,那第二步有什么用?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表