当前位置:C++技术网 > 资讯 > 文件系统:4 格式化做了什么1-FAT文件系统

文件系统:4 格式化做了什么1-FAT文件系统

更新时间:2015-06-24 12:56:47浏览次数:1+次

    FAT文件系统,分为一系列,如FAT32、FAT16、FAT12。其分法则与内部记录文件FAT表相关。根据FAT表一个条目所占的位数来命名的。比如FAT32的FAT表项所占的位数是32位,即4字节。FAT16则为16位,即两个字节。等等。
    FAT表对应于NTFS文件系统的$Bitmap文件,作用就是记录文件的分配情况。而文件的目录则是通过目录索引链接起来的。而在快速格式化时,仅仅是对根目录和FAT表做了清除和初始化操作,数据和子目录并没有清除。
    $Bitmap文件的介绍,请参见《格式化做了什么2-NTFS文件系统》。不过,FAT表与$Bitmap的作用是一样的,只是工作方式有所不同。FAT表的作用就是记录哪些磁盘空间被占用,此文件对应的下一个磁盘空间在哪里,就是这样将一个大文件的多个文件块链接起来的。也表示这些磁盘块被分配给使用了。并且这些串联的快属于一个文件。如果FAT表被清空,自然磁盘空间就属于空闲的了。新文件可以使用。即使磁盘装满了文件,在系统看来,那些文件数据都是垃圾数据,可以被覆盖的。
    而文件列表,文件的组织方式,在FAT中,则是通过文件夹的形式链接起来的。文件夹是俗称,专业的术语叫做“目录”。目录也是一个表,记录了目录下有哪些文件和子目录。而在每一个目录项中,都有一个起始地址,记录了文件所在的起始位置,而文件很大的话,需要很多的磁盘块,因此,后续的块就需要链接起来。通过起始块对应的FAT表项,可以找到后续的块,后续的块又记录了后续的块,直到最后一个块说没有后续块为止。
    就这样,通过FAT表和目录结构,就构成了整个FAT文件系统体系。而快速格式化就是通过将FAT表初始化,以及根目录清除,就达到了这个快速格式化的目的。FAT表初始化会保留内部需要的若干个记录文件的分配记录,其他的都清除。可以大概理解为清除,只不过,此时FAT表中还是有记录的,对用户而言是清除了的。这也是为什么清除之后,可以看到一些系统文件夹的原因。
    而格式化,则是真刀真枪,毫不留情。不管三七二十一,将说有的磁盘块都扫描一遍,清除所有的用户数据,都归零了。任何软件都无法恢复这些数据,除非是用其他物理手段,存不存在还有待考核,物理这东西太高深,对此就保持沉默了。同时,在清除的同时,就是将扫描的磁道扇区写入数据0.如果写入过程中,写入失败,表示此磁道扇区损坏了,不可再用了。因此会将此磁道扇区记录起来,以后此文件时跳过,因此也就屏蔽了磁道扇区了。
    因此,格式化,可以完全清除数据,不管是FAT还是NTFS都可以清除,可以放心,不存在数据被恢复的问题。