FAT32系统硬盘的数据恢复实例
软件:win hex(16进制的编辑器)
恢复内容:在FAT32中恢复一张图片
1.首先我们格式化一个分区为空,让分区的系统选为FAT32系统格式化。如下:

psb.jpg

psb (1).jpg

系统变成FAT32的文件系统了。。。
2.存入G盘一张图片,再把这张图片永久删除。
操作如下图:

psb (2).jpg

psb (3).jpg

3.我们用win hex打开磁盘来找丢失的图片,G盘是第5个分区,我们用win hex选择第5个分区。
如下图:

psb (4).jpg

4.接下来我们用,win hex自带的模板来分析DBR中的BPB参数,从BPB中找出:DBR保留扇区数、每FAT扇区数、FAT表的个数(一般值2)。根据这几个数值计算出FDT的位置,也就是文件目录表。
公式:DBR保留扇区数+FAT表的个数*每FAT扇区数

psb (5).jpg

psb (6).jpg

以图中可以看出:
DBR的保留扇区数:798
FAT的个数:2
FAT的扇区数:15985
FDT的位置=798+215985=32768

psb (7).jpg


然后把32768转换成16进制数为8000H。
8000H就是FDT的相对于DBR的位置,
向下跳8000H个扇区,就是FDT的位置了
文件目录表。
操作如下图:

psb (8).jpg


点OK

psb (9).jpg


这就是FDT的位置了
5.在FDT中分析那个被删除的图片的位置,然后还原数据。
如图:

psb (10).jpg


E5表示已经删除的文件。然后分析E5两行文件记录是长文件名还是短文件名,
后面没有0F代表这条记录是短文件记录。选择win hex自带的短文件名模板,找出:簇号、文件的大小。
如下图分析:

psb (11).jpg


分析结果:
簇号:3
文件大小:52577
然后算出DATA的位置,利用公式:(簇号-2)
每簇的扇区数=DATA
得出结果:(3-2)*16=16=DATA
提醒:一般每个扇区数为16,不行的话去BPB中分析去。
得出这个扇区的相对位置,然后向下跳16个扇区,16转换成16进制为10H所以向下跳10H。如下图

psb (12).jpg

点击OK

psb (13).jpg

得到DATA的数据扇区后。向下偏移单位为字节,偏移52577(分析的文件的大小)
转换为16进制为CD61H,向下偏移CD61H个字节。

psb (14).jpg

psb (15).jpg

然后从偏移的起始位置到偏移的位置的中间的数据就是那个被删除的图片的数据了,把他保存到桌面上就行了

psb (16).jpg

psb (17).jpg

psb (18).jpg

保存了桌面了

psb (19).jpg

检验结果:

psb (20).jpg

psb (21).jpg

恢复完成了。。。
------------------------超级怪蜀黍-UncleFreak的日志----------------------
-----------------------QQ:2206691630----------------------
---------------------博客地址:blog.z88j.com-----------------

【原创】FAT32系统硬盘的数据恢复实例,这篇文章也是从自己QQ空间的,转移过来的的更多相关文章

  1. 好用的APS系统是什么样的?这篇文章来告诉你!

    APS系统除了为生产部门提供生产制造的依据,还关系采购计划.安全库存.订单交付等各环节,管理起来十分复杂.一款好用的APS系统,不仅能全面集成生产相关的业务流程,确保生产计划顺畅进行,还能大大提升生产 ...

  2. (免量产,免格式化)手动将PE安装到移动硬盘/U盘或无系统硬盘!

    在一台没有装系统的电脑上,只要把XP系统启动文件,及引导菜单文件(ntldr,boot.ini,”bootfont.bin这个可有可无,主要作用是显示中文菜单”)和GRUB引导文件和PE系统文件复制到 ...

  3. 怎样给win7系统硬盘分区

    怎样给win7系统硬盘分区 步骤 一.鼠标右击“计算机” 二.选择“管理”标签 三.打开“计算机管理”窗口 四.选择“磁盘“>>”存储管理“,打开”磁盘管理“页面 如图: 五.右键单击选择 ...

  4. DELL EqualLogic PS存储硬盘故障数据恢复成功案例分享

    DELL EqualLogic PS4000采用虚拟ISCSI SAN阵列,为远程或分支办公室.部门和中小企业存储部署带来企业级功能.智能化.自动化和可靠性.以简化的管理.快速的部署及合理的价格满足了 ...

  5. logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式

    原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...

  6. 海康威视频监控设备Web查看系统(二):服务器篇

    声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自 ...

  7. Android native进程间通信实例-binder篇之——HAL层访问JAVA层的服务

    有一天在群里聊天的时候,有人提出一个问题,怎样才能做到HAL层访问JAVA层的接口?刚好我不会,所以做了一点研究. 之前的文章末尾部分说过了service call 可以用来调试系统的binder服务 ...

  8. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答

    问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...

  9. redis 实例2 构建文章投票网站后端

    redis 实例2 构建文章投票网站后端   1.限制条件 一.如果网站获得200张支持票,那么这篇文章被设置成有趣的文章 二.如果网站发布的文章中有一定数量被认定为有趣的文章,那么这些文章需要被设置 ...

随机推荐

  1. MySql数据库1【概念】

    [mysql] mysql是目前最主流的跨平台.开放源代码的关系型数据库,由瑞曲的mysql ab公司开发,已经被SUN公司收购,标识是一只名为sakila的海豚,代表mysql的速度.能力.精确优秀 ...

  2. CSS lib

    Yahoo的轻型CSS框架Pure来加速web开发 http://purecss.io/buttons/#

  3. Resilio-sync auto restart

    syncheck.sh #!/bin/sh if [ $(pgrep xxxrslsync) ]; then echo && date >> /home/pi/sync/s ...

  4. Git配置安装使用教程操作github上传克隆数据

    Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...

  5. 黑马程序员——利用swap函数研究C的指针

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 设计3个函数,分别实现已下功能: 交换两个整数 交换两个整形指针 交换任意两个同类型的变量 #i ...

  6. Linux查看端口号

    查看端口占用情况的命令:lsof -i 查看某一端口的占用情况: lsof -i:端口号 结束占用端口的进程:killall 进程名 也可使用命令: netstat -apn|grep <端口号 ...

  7. 关于asp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure的问题

    环境是windows Server2008R2 出现这个问题搞了一下午都没解决,最后又加班才算搞定,由于英文不太好,官方的文档看了好几遍,也按照文档做的,但还是出现这个问题,百度google搜了很多解 ...

  8. Inotify: 高效、实时的Linux文件系统事件监控框架

      Inotify: 高效.实时的Linux文件系统事件监控框架   概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如:   通知配置文件的改变 ...

  9. C++学习之容器的摸索

    初学容器,容易犯错的地方 1.vector,list和deque都是顺序容器.其中vector和deque都可以通过下标访问,而list不能 2. 容器的begin和end操作 c.begin()返回 ...

  10. bzoj2783

    由于路径的深度是升序的所以我们可以考虑用前缀和的思想,用sum维护点到根路径上节点和对于每个点x存在路径和为s即这个点到根的路径上存在y,使sum[x]-sum[y]=s这显然是可以二分的 type ...