U盘数据恢复案例
数据恢复急救中心
2008-1-1 9:32:44
昨天,一个广州的网友在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的簇大小,大多数还是连续的。
后记:可能有的数据恢复软件不设置一下直接就可以恢复的(我不知道,但这是个很容易实现的功能)。但手动作毕竟不同,心里踏实、放心得很,工具只不过是利用它的运算快,而不是他的智能。当然也希望能有我们自己的工具来配合修复工作。努力中。。。
不管是哪一个文件夹,在fat系统中,只要不是根目录,目录文件的目录项都会有"."和".."目录,可能是用于操作系统定位吧。否则当我们进入一个文件夹时,系统必须将父文件夹压栈才能"有来有回",当进入的文件夹层数较多时,会增加内存的负荷。可能是这个原因吧。我没有得到确切的资料证明。
所以,随便查一个目录项都会有"."和".."目录的,目录和普通文件一样是按文件的形式组织的。可以看作是一个数据表。以32个字节记录一个目录项,以记录其下存储的文件或文件夹。所以,实际上,目录本身也是有大小的。也要占用磁盘空间。只不过他记录的是个目录,要比真正的数据小的多。
给你截个图,这是FAT32的一个目录文件的实际内容
因为磁盘中数据的存储是以扇区为单位的。通常一个扇区的大小固定为512B。在FAT文件系统中,目录是当作文件处理的,而"."目录一定是第一个目录项。".."是第二个,每个目录项在FAT文件系统中占据32个字节的空间大小。这就有据可循了。
符合规矩的"."目录项一定是位于一个扇区的开头。地址必须是N*200H(N为正整数);".."目录一定是位于"."目录之后,所以地址一定是N*200H+20H(为正整数)
同时,根据短文件目录项的定义,在文件名中如果不够8.3的字符,一律以20H(空格)补齐。所以,实际上可以查找16进制数“2E20202020202020202020”或“2E2E202020202020202020”
目录项看多了一眼就知道的
"."和".."都是在文件的名的位置上啊
我好早以前用接FAT表的方法接恢复过几个文件,还有一次恢复软盘中的WORD文档,用了一个很简单的方法,我直接用HDCOPY将软盘作成个镜像文件后用WORD打开这个文件,当提示有非法字符是否删除是选择"是",打开以后所有文字都在,只是没有了排版信息,因为FAT的不连续性可能有些地方文字颠倒,不过比重新打字要好多了:)
不知道大家觉得这个方法是否适用于U盘呢:)如果只是要恢复WORD文档的话,呵呵~
他的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的簇大小,大多数还是连续的。
后记:可能有的数据恢复软件不设置一下直接就可以恢复的(我不知道,但这是个很容易实现的功能)。但手动作毕竟不同,心里踏实、放心得很,工具只不过是利用它的运算快,而不是他的智能。当然也希望能有我们自己的工具来配合修复工作。努力中。。。
不管是哪一个文件夹,在fat系统中,只要不是根目录,目录文件的目录项都会有"."和".."目录,可能是用于操作系统定位吧。否则当我们进入一个文件夹时,系统必须将父文件夹压栈才能"有来有回",当进入的文件夹层数较多时,会增加内存的负荷。可能是这个原因吧。我没有得到确切的资料证明。
所以,随便查一个目录项都会有"."和".."目录的,目录和普通文件一样是按文件的形式组织的。可以看作是一个数据表。以32个字节记录一个目录项,以记录其下存储的文件或文件夹。所以,实际上,目录本身也是有大小的。也要占用磁盘空间。只不过他记录的是个目录,要比真正的数据小的多。
给你截个图,这是FAT32的一个目录文件的实际内容
因为磁盘中数据的存储是以扇区为单位的。通常一个扇区的大小固定为512B。在FAT文件系统中,目录是当作文件处理的,而"."目录一定是第一个目录项。".."是第二个,每个目录项在FAT文件系统中占据32个字节的空间大小。这就有据可循了。
符合规矩的"."目录项一定是位于一个扇区的开头。地址必须是N*200H(N为正整数);".."目录一定是位于"."目录之后,所以地址一定是N*200H+20H(为正整数)
同时,根据短文件目录项的定义,在文件名中如果不够8.3的字符,一律以20H(空格)补齐。所以,实际上可以查找16进制数“2E20202020202020202020”或“2E2E202020202020202020”
目录项看多了一眼就知道的
"."和".."都是在文件的名的位置上啊
我好早以前用接FAT表的方法接恢复过几个文件,还有一次恢复软盘中的WORD文档,用了一个很简单的方法,我直接用HDCOPY将软盘作成个镜像文件后用WORD打开这个文件,当提示有非法字符是否删除是选择"是",打开以后所有文字都在,只是没有了排版信息,因为FAT的不连续性可能有些地方文字颠倒,不过比重新打字要好多了:)
不知道大家觉得这个方法是否适用于U盘呢:)如果只是要恢复WORD文档的话,呵呵~
责任编辑:
参与评论
广告位招租,广告代号:GGAD
- 从损坏的Excel文件恢复数据的方法..
- 概要从被破坏的 Microsoft Excel 文件中恢复数据的方法使用外部引用恢复数据以 SYLK 格式保存文件使用恢复到保存的文档命令恢复数据使用宏提取图表中的数据使用 ..
- 中文Access2000速成教程--1.1 使..
- 使用中文Access 2000可以从单一的数据库文件中组织用户信息。在此文件中,可将数据分开放在名为“表”,也就是前面所说的“数据表”的容器中,然后可使用联机窗体..
- 修复SQL Server 2000数据库之实战..
- 修复SQL Server 2000数据库之实战经验 我所讲的一个故事的背景是这样的,在某一个POS的项目中使用SQLSERVER 2000做前台数据库,IBM 的DB2做后台数据库。前台数据..
- 数据恢复--效率源配套工具 V1.0
- 软件名称:数据恢复--效率源配套工具 V1.0 软件语言:简体中文界面预览:软件类型:国产软件 / 磁盘工具运行环境:Win2003, WinXP, Win2000, Win9X授权方式:共享软件软..
- 用EasyRecovery恢复磁盘数据
- 我的硬盘是60G的,分成了C、E、F三个盘,由于开始分区时,没有计划好,C盘只有5G,装上XP后,明显感觉C盘空间不够用,于是我便把C盘格式化后,又用PQ(硬盘动态分..
- 硬盘数据修复软件EasyRecovery使..
- 一、前言 不知道你有没有体验过对硬盘误格式化(Format)、误分区(如用Fdisk)后的痛苦?或者由于病毒而使得某个分区完全消失了?自己在某个分区或整个硬盘中..
