【原创】FAT32系统硬盘的数据恢复实例,这篇文章也是从自己QQ空间的,转移过来的
FAT32系统硬盘的数据恢复实例
软件:win hex(16进制的编辑器)
恢复内容:在FAT32中恢复一张图片
1.首先我们格式化一个分区为空,让分区的系统选为FAT32系统格式化。如下:


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


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

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


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

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

点OK

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

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

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

点击OK

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


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



保存了桌面了

检验结果:


恢复完成了。。。
------------------------超级怪蜀黍-UncleFreak的日志----------------------
-----------------------QQ:2206691630----------------------
---------------------博客地址:blog.z88j.com-----------------
【原创】FAT32系统硬盘的数据恢复实例,这篇文章也是从自己QQ空间的,转移过来的的更多相关文章
- 好用的APS系统是什么样的?这篇文章来告诉你!
APS系统除了为生产部门提供生产制造的依据,还关系采购计划.安全库存.订单交付等各环节,管理起来十分复杂.一款好用的APS系统,不仅能全面集成生产相关的业务流程,确保生产计划顺畅进行,还能大大提升生产 ...
- (免量产,免格式化)手动将PE安装到移动硬盘/U盘或无系统硬盘!
在一台没有装系统的电脑上,只要把XP系统启动文件,及引导菜单文件(ntldr,boot.ini,”bootfont.bin这个可有可无,主要作用是显示中文菜单”)和GRUB引导文件和PE系统文件复制到 ...
- 怎样给win7系统硬盘分区
怎样给win7系统硬盘分区 步骤 一.鼠标右击“计算机” 二.选择“管理”标签 三.打开“计算机管理”窗口 四.选择“磁盘“>>”存储管理“,打开”磁盘管理“页面 如图: 五.右键单击选择 ...
- DELL EqualLogic PS存储硬盘故障数据恢复成功案例分享
DELL EqualLogic PS4000采用虚拟ISCSI SAN阵列,为远程或分支办公室.部门和中小企业存储部署带来企业级功能.智能化.自动化和可靠性.以简化的管理.快速的部署及合理的价格满足了 ...
- logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式
原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...
- 海康威视频监控设备Web查看系统(二):服务器篇
声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自 ...
- Android native进程间通信实例-binder篇之——HAL层访问JAVA层的服务
有一天在群里聊天的时候,有人提出一个问题,怎样才能做到HAL层访问JAVA层的接口?刚好我不会,所以做了一点研究. 之前的文章末尾部分说过了service call 可以用来调试系统的binder服务 ...
- 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...
- redis 实例2 构建文章投票网站后端
redis 实例2 构建文章投票网站后端 1.限制条件 一.如果网站获得200张支持票,那么这篇文章被设置成有趣的文章 二.如果网站发布的文章中有一定数量被认定为有趣的文章,那么这些文章需要被设置 ...
随机推荐
- 怎么用notepad配置来运行C语音环境
想要运行C语言,我们可以用notepad软件来进行编辑,那么怎么用notepad 配置运行c语言开发环境呢? Notepad++是一款很好的编辑器,可以用来开发很多的工具,具体大家请看下文给大家详细讲 ...
- arp欺骗
arp欺骗原理 某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输.如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址 ...
- 【译】UI设计基础(UI Design Basics)--自动适配与布局(Adaptivity and Layout)(四)
2.3 自动适配与布局(Adaptivity and Layout) 2.3.1 开发成自动适配(Build In Adaptivity) 用户通常希望在自己的所有设备,各种场景中使用他们喜欢的a ...
- call stack 如何调用
现在在处理MFC上面的BUG,比较多,刚接触堆债,自我感觉找BUG很好用,总结一下记下来: 1. VS环境在程序F5运行状态下/DEBUG/Windows/Call Stack 即可调用堆债: 2. ...
- ALTER TABLE
•ALTER TABLE (表名) ADD (列名 数据类型); •ALTER TABLE (表名) MODIFY (列名 数据类型); •ALTER TABLE (表名) RENAME COLUMN ...
- Qt学习 之 Socket通信(世界上最简单的例子了)
最近写大作业用到Qt的Socket部分,网上关于这部分的资料都太过复杂,现在总结一下一些简单的应用.有机会可以给大家讲讲用Socket传送文件的代码. 这里主要讲解如何实现TCP和UDP的简单通信. ...
- Powerful Regex
Online test Regex http://rubular.com An example src="http:\/\/localhost:3000\/preveiw-tool\/iph ...
- Cash Machine(多重背包)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 24067 Accepted: 8414 Description A Ba ...
- 动态规划(斜率优化):[CEOI2004]锯木厂选址
锯木场选址(CEOI2004) 从山顶上到山底下沿着一条直线种植了n棵老树.当地的政府决定把他们砍下来.为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂. 木材只能按照一个方向运输:朝山下运.山脚下有 ...
- 树形结构的维护:BZOJ 3991: [SDOI2015]寻宝游戏
Description 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可 ...