北京数据恢复 北京 深圳数据恢复 深圳 上海数据恢复 上海 成都数据恢复 成都 重庆数据恢复 重庆 浙江数据恢复 浙江 沈阳数据恢复 沈阳 福建数据恢复 福建 昆明数据恢复 昆明 天津数据恢复 天津
北亚数据恢复中心
网站首页
Index
公司概况
Company
公司动态
Dynamic
服务项目
Service
成功案例
Case
服务报价
Price
技术专区
Technical
联系我们
Contacts
服务网点
Alliance
技术论坛
BBS
 
文 章 导 航
数据恢复技术文章
硬盘维修技术文章
  您现在的位置是:首页>>技术专区>>数据恢复文章>>正文
 
一次手动恢复U盘数据

作者:  来源: 日期:2007-2-9 15:03:07 点击:

  某日,一个广州的网友在QQ上告知,他的u盘(128M,实际上是125M)在热拔插的时候数据丢失,无奈之下,就把u盘重新格式化了,然后用数据恢复工具(我不记得他用什么工具了)恢复以后却发现没有一个文件可以用。
      他的u盘以前和现在都是fat16格式的,重点恢复的是里边的word文档。他用QQ传给我一个数据恢复软件恢复后的文件,我看了一下。大小上了M单位。用winhex打开文件一看,数据杂乱无章,而且,好多word文档应该有的标志都没有。我的第一感觉是,他的word文档可能比较大,可能文档中夹带图片、大表格等占空间的东西,以至于保存文件是文件并未联系存储。而格式化后,很自然的,分区fat表丢失了。这时候的数据恢复是很艰难的。
       原来我的计划是针对簇链的丢失来制定的。必须面对整个分区,所以我让他把整个U盘的数据用winhex备份后传给我。我们的网速都有限,也感谢这位网友的信任。花了可能1个左右小时数据才过来。
      数据过来后,我大体看了一下数据偏移在一扇区的dbr数据,现在的分区结构是fat16,簇大小是2kB,容量125M,fat表所占扇区数目为250个,1个保留扇区,两份FAT表。这些数据都一切正常。如下图

按此在新窗口浏览图片
按此在新窗口浏览图片
      接着我在u盘的数据文件中用winhex查找“.”和“..”目录项,以此计算格式化前的u盘的参数。不到一秒就在文件的前边找到了一个目录项。目录项中的“.”所在的位置清楚地写明了他自身所处的簇的顺序号。如下图:


按此在新窗口浏览图片
按此在新窗口浏览图片

      这里的“.”目录所占的簇号位2(fat16分区通常的第一个簇)。
      继续搜索下一个目录簇。找到了,如下图:


按此在新窗口浏览图片
按此在新窗口浏览图片

      这里的偏移是1C8000H,簇的编号是0x63簇,而上边第2簇的偏移是44000H,计算一下:
(1C8000H-44000H)/(63H-2H)=4000H
天!他格式化之前簇的大小竟然是4000H=16kb.接下来我又验证了几个目录项,的确原来簇的大小是16k,怪不得他格式化以后用数据恢复软件找回的数据那么大,原来是数据恢复软件搞错了簇的大小。
       知道了就好办了,我在我的磁盘上分了一个fat16的分区,分的时候用win2003的磁盘管理器分成了簇大小为16K,以便于对应。其实分多大簇的分区,或者分成fat32都可以,只要简单的改动就可以移植我们的数据的。但终究不如直接分出来方便。
       分好区以后,找到新分区的第2簇地址。将网友传过来的数据文件从偏移44000H处开始选到结束,复制到新分区的第2簇地址,然后用数据恢复软件,数据就都出来了,毕竟word文档对于16k的簇大小,大多数还是连续的。

后记:可能有的数据恢复软件不设置一下直接就可以恢复的(我不知道,但这是个很容易实现的功能)。但手动作毕竟不同,心里踏实、放心得很,工具只不过是利用它的运算快,而不是他的智能。当然也希望能有我们自己的工具来配合修复工作。努力中。。。

 
上一篇: 数据恢复的若干问题解答
下一篇: 反黑行动之数据恢复
返回首页 | 联系我们 | 关于我们 | 友情连接 | 网站地图 | RSS聚合