- 积分
- 67
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2007-5-26
- 精华
|
2#
发表于 2007-7-8 06:55:56
|
只看该作者
来自: 湖北 来自 湖北
如果知道文件系统原理的话很容易理解这个问题:当文件完全删除时,文件的FDT中的首字节变为E5H,这个“E5H”就代表该文件已删除,从操作系统的角度来讲,它已经“不存在”,同时表示文件的首簇号(文件存放的起始簇号)中的高十六位数字清空(高十六位的数字在删除前有时不为0,有时为0,当不为0而删除时恢复的文件会打不开,即打开是乱码,对这个问题现在有的软件解决了,它采用的是穷举法!);删除时这个文件对应的FAT部分清0,如果这个文件有碎片(文件在DATA区存放时不是按顺序存放的,其中会跳过一些簇)的话,恢复出来的数据只能打开一部分,这就是为什么一般的小文件(小文件有时只占用一个簇,或者占用多个簇时没有碎片)如Word文件可以恢复正常,而大文件(一般有碎片)恢复后有时只能打开一部分的原因;当删除时DATA的数据其实是没有变化的,这就是为什么数据可以恢复的原因,为什么有时说数据丢失了不能再往里面写入数据呢?因为文件的DATA数据是由FDT和FAT来解释的,当删除时,前面讲了FDT变化了,FAT相应的数据清空了,这时FDT和FAT对DATA的描述为“未使用”,那么对系统来说,对应的DATA区就是“没有”占用的空闲空间,随时都有可能写入新的数据,如果数据丢失了,你再往里面写入数据,而写入的数据恰好写在你丢失的数据这个位置上,那么就不能恢复了。
说明:上面说的是针对FAT32的文件系统,NTFS的文件系统不是这样的。
[ 本帖最后由 从头开始 于 2007-7-8 07:12 编辑 ] |
评分
-
查看全部评分
|