当前位置: 移动技术网 > IT编程>网络>Dos/Bat > 细说FAT16与FAT32区别

细说FAT16与FAT32区别

2017年12月12日  | 移动技术网IT编程  | 我要评论
在说明fat文件系统之前,我们必须清楚fat是什么?fat(file allocation table)是“文件分配表”的意思。顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。不同的操作系统所使用的文件系统不尽相同,在个人计算机上常用的操作系统中,ms-dos 6.x及以下版本使用fat16;os/2使用hpfs;windows nt则使用ntfs;而ms-dos 7.10及rom-dos 7.10同时提供了fat16及fat32供用户选用。其中我们接触最多的是fat16、fat32文件系统。
一、fat16文件系统 
    fat16使用了16位的空间来表示每个扇区(sector)配置文件的情形,故称之为fat16。 
    fat16由于受到先天的限制,因此每超过一定容量的分区之后,它所使用的簇(cluster)大小就必须扩增,以适应更大的磁盘空间。所谓簇就是磁盘空间的配置单位,就象图书馆内一格一格的书架一样。每个要存到磁盘的文件都必须配置足够数量的簇,才能存放到磁盘中。fat16各分区与簇大小的关系如下表: 
分区大小      fat16簇大小 
16mb-127mb    2kb 
128mb-255mb   4kb 
256mb-511mb   8kb 
512mb-1023mb  16kb 
1024mb-2047mb 32kb 
    如果你在一个1000mb的分区中存放50kb的文件,由于该分区簇的大小为16kb,因此它要用到4个簇才行。而如果是一个1kb的文件,它也必须使用一个簇来存放。那么每个簇中剩下的空间可否拿来使用呢?答案是不行的,所以在使用磁盘时,无形中都会或多或少损失一些磁盘空间。 
由上可知,fat16文件系统有两个最大的缺点: 
(1)磁盘分区最大只能到2gb。当前只要你添购计算机的话,想必其中的硬盘大小必定至少有2gb,而3.2gb、4.3gb以上的硬盘比比皆是,且物美价廉。fat16文件系统已不能适应当前这种大容量的硬盘,必须被迫分区成几个磁盘空间。而分区磁盘的大小又牵扯出簇的问题来,可谓影响颇大。 
(2)使用簇的大小不恰当。试想,如果一个只有1kb大小的文件放置在一个1000mb的磁盘分区中,它所占的空间并不是1kb,而是16kb,足足浪费了15kb!当前流行的html文件,其大小几乎多为1kb、2kb,而制作一个网站往往用到数十个html文件。如果你的硬盘中有100个这种小文件的话,你浪费的磁盘空间可从700kb(511mb的分区),到3.1mb(2047mb的分区)。 
    以上这两个问题常常使得用户在“分多大的分区,才能节省空间,同时又可使硬盘的使用更加方便有效”的抉择中徘徊不定。
二、fat32文件系统 
    为了解决fat16存在的问题,开发出fat32系统。fat32使用了32位的空间来表示每个扇区(sector)配置文件的情形。利用fat32所能使用的单个分区,最大可达到2tb(2048gb),而且各种大小的分区所能用到的簇的大小,也是恰如其分,上述两大优点,造就了硬盘使用上更有效率。现将与分区与簇的大小汇整如下,我们可仔细做个比较: 
分区大小      fat16簇大小 fat32簇大小
16mb-32mb     2kb         不支持
32mb-127mb    2kb         512bytes
128mb-255mb   4kb         512bytes 
256mb-259mb   8kb         512bytes 
260mb-511mb   8kb         4kb 
512mb-1023mb  16kb        4kb 
1024mb-2047mb 32kb        4kb 
2048mb-8gb    不支持      4kb 
8gb-16gb      不支持      8kb 
16gb-32gb     不支持      16kb 
32gb以上      不支持      32kb 
    以当前硬件所能支持的情况下,如将8gb硬盘划分为单个分区的话,使用的簇的大小也只有4kb,比起以往的fat16来说,真是节省了许多空间。
三、fat32使用上的限制 
    看到这些优点,你一定迫不及待地想将fat16转换为fat32。不过在转换之前,要注意下面几点: 
(1)与其他的pc操作系统不兼容。当前支持fat32的操作系统仅有ms-dos 7.10、rom-dos 7.10、freedos和windows 2000以上版本,而其他操作系统则根本不能读取fat32的分区。例如你以ms-dos 6.x等旧版本的dos启动盘开机的话,你硬盘中的fat32分区就会凭空消失,完全看不到这个分区。另外,如果你要使用多重开机来启动多种不同的操作系统,建议你不要将c:这个分区改为fat32。因为有一些操作系统会强迫一定要从c:这个主要分区来安装、开机,如果你将c:改为fat32,而该操作系统不认fat32,那就不能开机了。 
(2)有些磁盘工具、防毒软件还不认得fat32,可能会造成转换后,磁盘工具软件不能对fat32的分区进行磁盘处理工作,而防毒软件会不认得这种文件系统,误判为中毒现象。 
(3)一些版本较旧的软件不能在fat32的分区中执行,例如office 95等。 
(4)小于512mb的分区一般不让转换为fat32。虽说我们从前面的列表中发现小于512mb的分区只使用512bytes大小的簇,但是在windows 98中,你只能转换512mb以上的分区。如果想转换32mb到512mb这间的分区,必须使用cvt.exe中的/min命令,如cvt d: /cvt32 /min,或fdisk /fprmt。
(5)不能在fat32分区中做磁盘压缩,即使使用windows 98中的磁盘压缩也是行不通的。 
(6)如果你主板的bios支持"suspend-to-disk"的功能,那么请将这项功能关闭,因为在fat32分区中是不能使用的。 
(7)windows 98所提供的转换工具只能将fat16转换为fat32,并不能再从fat32转换回fat16。要转换回来只有:重新进行分区(partition)、格式化(format),然后重新安装系统、应用软件等。 
    要从fat32转换回fat16,还可以借助一项工具:powerquest的partition magic 3.0或以上版本。这是一套能让你自由改变分区大小、文件系统,而毫不损坏磁盘数据的一套软件。你可以利用这套软件将fat32转换为fat16,而不必重新格式化你心爱的硬盘。如果你没有该软件,那么要有“准备后悔”的念头,请在fat16转换fat32前先做好备份。同时我们提醒大家,如果您的计算机配置不是很高(即不是pⅱ或同一级别的cpu),最好不要将分区表转换成fat32,因为这样会影响硬盘读取速度的。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网