|
BPB参数块:记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。
C盘的数据结构如(图3)所示。
 图3
文件分配表(FAT)
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统。为了防止意外损坏,FAT一般做两个(也可以设置为一个),第二FAT为第一FAT的备份, FAT区紧接在OBR之后(对于FAT32格式,位置是从引导扇区开始的第32个扇区就是第一个FAT表的位置),其大小由这个分区的空间大小及文件分配单元的大小决定。
随着硬盘容量的迅速发展,Microsoft 的DOS及Windows也先后采用我们所熟悉的FAT12、FAT16和FAT32格式。不过Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式,不同于FAT文件格式。
FAT12是使用12BIT来表示簇的位置,最大容量32M,FAT16是使用两个字节16BIT位来表示簇的位置,分区最大容量2G,而FAT32采用4个字节来表示簇的位置,分区最大容量65G。
目录区(DIR)
DIR是Directory即根目录区的简写,在FAT12和FAT16格式中,DIR紧接在第二FAT表之后,而在FAT32格式中,根目录区的位置可以在分区中的任意位置,其起始位置是由引导扇区给出的。单有FAT表还不能确定文件在磁盘中的具体位置,只有FAT表和DIR区配合使用,才能准确定位文件的确切位置。
DIR记录着每个文件(目录)的文件名,扩展名,是否支持长文件各,起始单元(这是最重要的)、文件的属性,大小,创建日期,修改日期等住处内容。操作系统在读写文件时,根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置,然后顺序读取每个簇的内容就可以了。
数据区(DATA)
在DIR区之后,才是真正意义上的数据存储区,即DATA区。
DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。
注意:我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,除非你使用了“Format X: /U”命令,强制对每一扇区写“F6”。
至于硬盘分区,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,MBR,OBR,FAT,DIR之一被破坏的话,我们的数据也无法正常读取。
需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit,DDD,KV3000,EasyRevoery等),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复。
数据恢复的原理
我们在了解了数据在磁盘上存储格式后,我们就会明白为什么数据在被删除后还能够再次被找回来的原因。
一块新的硬盘在买回来后,必须首先分区,再用Format对相应的分区实行格式化,这样以后我们才能在这个硬盘存储数据。硬盘的分区就象是对一块地方建仓库,每个仓库就好比是一个分区。格式化就好比是为了在仓库内存放东西,必须有货架来规定相应的位置。我们有时接触到的引导分区就是仓库大门号,上面要记载这个分区的容量的性质及相关的引导启动信息。FAT表就好比是仓库的货架号,目录表就好比是仓库的帐簿。如果我们需要找某一物品时,就需要先查找帐目,再到某一货架上取东西。正常的文件读取也是这个原理,先读取某一分区的BPB参数至内存,当需要读取某一文件时,就先读取文件的目录表,找到相对应文件的首扇区和FAT表的入口后,再从FAT表中找到后续扇区的相应链接,移动磁臂到对应的位置进行文件读取,就完成了某一个文件的读写操作。
文件的读取(Read)
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0028。
操作系统从0028簇读取相应的数据,然后再找到FAT的0023单元,如果此外的内容是文件结束标志“FF”,则表示文件结束,否则从该处读取下一个簇号,再读取相应单元的内容,这样重复下去直到遇到文件结束标志。
文件的写入(Write)
当我们要保存文件时,操作系统首先在DIR区中找到空闲区写入文件名、大小和创建时间等相应信息,然后在数据DATA区找出空闲区域将文件保存,再将Data区的第一个簇写入DIR区,同时完成FAT表的填写,具体的动作和文件读取动作差不多。
文件的删除(Delete)
Win9X操作系统的文件删除工作却是很简单的,只是将目录区中该文件的第一个字符改为“E5”来表示该文件已经删除,同时改写引导扇区的第二个扇区中表示该分区点用空间大小的相应信息。
Fdisk的使用
和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复……
Fdisk /MBR可以用来再建主引导区,可以在使用光盘或软盘启动系统后,使用该命令来去除还原精灵或一些引导区病毒。注意:在使用该命令之前一定要先备份分区表内容,防止病毒对分区表进行加密处理。
Format的使用
Format命令可以完成分区的格式化,同时检测该分区有无坏扇区。格式化也就好比是将一幢新楼的每一个房间赋于房间好,以便以后存放物品和查找。
Fotmat的内个重要参数:
/C测试坏扇区并进行标记为“B”。
/S在格式化结束后传送系统文件。
/Q进行快速格式化,只重建FAT表和目录区。
/U无条件对分区进行格式化,对每一扇区重写“F6H”
此新闻共有3页 上一页 1 2 3 下一页 |