数据恢复入门四

[复制链接]

该用户从未签到

23

主题

219

回帖

227

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
227
发表于 2007-5-20 23:19:39 | 显示全部楼层 |阅读模式
  第四章:FAT32文件系统的文件删除


在本章所提及的文件与子目录的删除是指在Windows里对文件的完全删除,不包括将文件、子目录放入回收站。因为放入回收站的文件、子目录对操作系统而言并没有真正删除。在操作系统里进行文件的删除,众所周知,无论文件的大小都是在一瞬间完成的。而在写入一个文件时比进行同一文件的删除所用的时间要长,文件越大时间上的差别越明显。其实这是因为在操作系统里为了达到较好的磁盘性能,在进行文件删除时只是将文件在FDT、FAT里的登记项、簇链进行了处理,让系统认为以前文件所占用的存储空间被释放了。所以,在文件系统没有向以前文件所占用的存储空间里写入数据或进行磁盘整理,那么被删除的文件在DATA里的内容是完好的!正因如此,在操作系统里被删除的文件是可以进行恢复的。下面将对这个问题进行讨论。

4.1 文件的删除
作者以删除文件C:\BOOT.INI为例给予说明。
文件C:\BOOT.INI被删除前在根目录FDT里的登记项:

图4.1 C:\BOOT.INI在根目录FDT里的登记项

文件C:\BOOT.INI在FAT里的登记项:

图4.2 C:\BOOT.INI在FAT里的登记项

文件C:\BOOT.INI删除后在根目录FDT里的登记项:

图4.3 C:\BOOT.INI删除后在根目录FDT里的登记项

文件C:\BOOT.INI删除后在FAT里的登记项:

图4.4 C:\BOOT.INI删除后在FAT里的登记项

对比删除前后的FDT和FAT可以看出,文件删除后,文件在FDT里的登记项的第一个字节更改为E5H,登记项的文件最近访问日期更新了,还有就是文件起始簇号的高16位被置“0”。而在FAT里,原来文件C:\BOOT.INI对应的登记项被置“0”,表示此簇未使用,所以若文件系统要用到此簇时,可以分配所对应的簇给新的文件。
再来看看文件C:\BOOT.INI删除后,它对应DATA里的内容变化:


图4.5 C:\BOOT.INI删除后在DATA里的内容
可以看出文件的内容还完好无损地在DATA里。只是文件C:\BOOT.INI在FDT、FAT里的登记项、簇链被改写,文件系统就认为C:\BOOT.INI不存在了。

4.2 被删除文件的恢复
只要文件在DATA里的数据没有被破坏,那么被删除的文件完全可能被完好无损地恢复。就这个例子而言,只要将文件在FDT里的登记项的第一个字节恢复为42H(其实只要恢复为合法的文件名字符就行了),文件起始簇号的高16位改回原来的值,FAT对应的登记项恢复为FF FF FF 0F,那么文件C:\BOOT.INI就完好无损地恢复了。在你重新启动后,被删除了的C:\BOOT.INI又可以正常访问了(因为FDT,FAT是在计算机启动时读入内存缓冲区的,所以在进行文件手工恢复后内存缓冲区里的FDT,FAT没有更新,所以只有在计算机重启后才可以见到被恢复的文件)。
在这里举出的例子只是为了说明被删除文件的恢复的原理,因为知道被删除的文件在FDT、FAT和DATA里的相应位置和数据所以恢复才这么简单。而在现实中对被删除文件的相关数据是不了解的,那么此时被删除文件的恢复比在这里描述的要复杂得多。通常,我们可以使用相应的工具软件(如:FinalData、EasyRecovery等)来对被删除文件进行恢复,以图方便。
另外如果使用了某些软件(如:winhex File tool里的Wipe securely)对文件进行对DATA里的数据进行破坏的彻底删除,那么被删除的文件是不可能被恢复的,除非它有备份。

4.3 子目录的删除
因为文件系统将目录也作为文件来管理的,所以子目录的删除和文件的删除是一致的,只将子目录在FDT、FAT里的登记项、簇链进行相应的处理,而子目录在DATA里的内容——就是子目录的FDT——是没有受到破坏的。
这里以删除子目录C:\sing为例:

图4.6 sing子目录删除后在DATA里的内容
如上图所示,sing子目录删除后在DATA里的内容并没有改变。
但是sing子目录被删除后它和它所包含的所有子目录和文件在FAT里对应的登记项都被置“0”。

图4.7 原C:\sing\INSTALL.LOG在FAT的登记项
如上图,sing子目录被删除后,sing子目录里的文件INSTALL.LOG在FAT里的簇链被置“0”,表示原C:\sing\INSTALL.LOG占据的簇未被使用。

4.4被删除子目录的恢复
对被删除子目录的恢复,除了要恢复被删除子目录在FDT、FAT里的登记项,还要恢复被删除子目录里的所有子目录、文件在FAT里的登记项。如果文件是连续存放的,恢复的可能性较大。一般还是使用工具软件来对被删除的子目录进行恢复比较方便。

4.5 小结
在文件系统里,文件、子目录的删除只不过是将文件在FDT、FAT相应的登记项、簇链进行了处理,使文件系统认为被删除的文件、子目录已经不存在了。而存放文件、子目录实际内容的DATA里的数据是没有被破坏的。所以被删除的文件、子目录有了被恢复的可能。在现实中,往往连续的文件、子目录被删除后的数据恢复是比较容易的。因为这些情况下被删除后在FDT,DATA残留的数据更有利于数据的恢复。

该用户从未签到

3

主题

201

回帖

475

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
475
QQ
发表于 2008-12-17 20:19:27 | 显示全部楼层
怎没人顶的?。。

  我来坐沙发,,,顶上。。。LZ辛苦了!

该用户从未签到

15

主题

674

回帖

9386

积分

[INTOHARD]团长

浸淫

Rank: 8Rank: 8

积分
9386
发表于 2009-4-24 16:08:09 | 显示全部楼层
顶一下。楼主在哪儿找的?没有图呀!

该用户从未签到

12

主题

325

回帖

244

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
244
QQ
发表于 2009-4-26 12:33:25 | 显示全部楼层
顶一下。楼主在哪儿找的?没有图呀!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表