我们在了解了数据在磁盘上存储格式后,我们就会明白为什么数据在被删除后还能够再次被找回来的原因。 一块新的硬盘在买回来后,必须首先分区,再用Format对相应的分区实行格式化,这样以后我们才能在这个硬盘存储数据。硬盘的分区就象是对一块地方建仓库,每个仓库就好比是一个分区。格式化就好比是为了在仓库内存放东西,必须有货架来规定相应的位置。我们有时接触到的引导分区就是仓库大门号,上面要记载这个分区的容量的性质及相关的引导启动信息。FAT表就好比是仓库的货架号,目录表就好比是仓库的帐簿。如果我们需要找某一物品时,就需要先查找帐目,再到某一货架上取东西。正常的文件读取也是这个原理,先读取某一分区的BPB参数至内存,当需要读取某一文件时,就先读取文件的目录表,找到相对应文件的首扇区和FAT表的入口后,再从FAT表中找到后续扇区的相应链接,移动磁臂到对应的位置进行文件读取,就完成了某一个文件的读写操作。
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0028。 操作系统从0028簇读取相应的数据,然后再找到FAT的0023单元,如果此外的内容是文件结束标志“FF”,则表示文件结束,否则从该处读取下一个簇号,再读取相应单元的内容,这样重复下去直到遇到文件结束标志。
当我们要保存文件时,操作系统首先在DIR区中找到空闲区写入文件名、大小和创建时间等相应信息,然后在数据DATA区找出空闲区域将文件保存,再将Data区的第一个簇写入DIR区,同时完成FAT表的填写,具体的动作和文件读取动作差不多。
Win9X操作系统的文件删除工作却是很简单的,只是将目录区中该文件的第一个字符改为“E5”来表示该文件已经删除,同时改写引导扇区的第二个扇区中表示该分区点用空间大小的相应信息。