首 页文章中心软件下载繁體中文
设为首页
加入收藏
联系我们
您当前的位置:一起玩电脑 -> 外设维修 -> U盘MP3 -> 文章内容
栏目导航
· 打印机维修 · 扫描仪维修
· U盘MP3
热门文章
· 完美卸载OFFICE2003
· 让计算机自动开机
· 减少Win XP占用系统资..
· 判断QQ好友是否在线
· 一条命令搞定还原精灵..
· Boot.ini解析
· 重装操作系统的20条原..
· 简单几招让你的电脑不..
· 被删除文件恢复全攻略..
· 智能ABC输入法超酷技巧..
· 毒杀不死的原因分析及..
· pdg格式转换为pdf格式..
手工恢复U盘(闪存)数据一例
作者:不详  来源:本站整理  发布时间:2006-12-25 10:52:22  发布人:ahlqhbc

减小字体 增大字体

某日,一个广州的网友在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的簇大小,大多数还是连续的。

后记:可能有的数据恢复软件不设置一下直接就可以恢复的(我不知道,但这是个很容易实现的功能)。但手动作毕竟不同,心里踏实、放心得很,工具只不过是利用它的运算快,而不是他的智能。当然也希望能有我们自己的工具来配合修复工作。努力中。。。
[] [返回上一页] [打 印] [收 藏]
上一篇文章:制硬盘逻辑锁
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
皖ICP备07500284号