FAT32介绍,硬盘分区格式

FAT32是分区格式的一种因FAT类文件系统的核心是文件分配表,命名由此得来。FAT32分区格式采用32位二进制记录管理的磁盘文件管理方式的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2 GB的限制。

由于现在的硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。

但由于FAT32分区内无法存放大于4GB的单个文件,且性能不佳,易产生磁盘碎片。目前已被性能更优异的NTFS分区格式所取代。

FAT32产生背景

Windows的文件系统在每个硬盘都使用一个被称为文件分配表(FAT)的专用扇区来储存跟踪全部文件位置所需的数据,以前操作系统中使用的是16位的FAT,这种方式的缺点是:

1.虽然能够有效地管理小容量硬盘上的数据,但不能管理大容量硬盘,硬盘分区不能大于2GB。

2.由于在计算机内文件是以簇的形式存储的,在FAT16情况下,硬盘分区越大,簇的尺寸越大,这样文件存储时将浪费硬盘空间,硬盘空间利用率很低,尤其在小文件比较多时。

因此,FAT32应运而生。Windows98包括一种被称为FAT32的新32位文件系统,可以有效地管理大容量硬盘并识别容量超过2GB的硬盘。FAT32是文件分配表系统的提高版,使用比FAT驱动程序更小的簇,使大硬盘上的空间得以充分利用。

FAT32参数

分区标识: 0x0B, 0x0C(MBR)EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT)

FAT32

最大单文件大小: 4 GB

最大文件数量: 268,435,437

最长档名限制: 8.3 或者 长文件名255个字符

(在windows 2000和windows XP环境下格式化程序只能创建最大32GBFAT32文件系统,不过可以用如PQ等分区软件分出大于32GB的FAT32分区,大于32GB的FAT32分区在WIN2000/XP下使用完全正常)

记录日期:创建、修改、访问

日期范围: 1980年1月1日至2107年12月31日

属性:只读,隐藏,系统,卷标,子目录,档案

透明加密:不支持

透明压缩:不支持

访问许可:无限制

FAT32性能特点

FAT32(File Allocation Table)具有一个最大的优点:在一个不超过8GB 的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。目前,支持这一磁盘分区格式的操作系统有Win95、Win98、Win2000、Win2003、Win Vista、Win7和Win10。部分智能手机也支持对FAT32格式存储器的直接读写(OTG)。但是,这种分区格式也有它的缺点,首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的磁盘要慢。

FAT32约束

windows 2000和windows XP能够读写任何大小的FAT32文件系统,但是这些平台上的格式化程序只能创建最大32GB的FAT32文件系统。

在dos系统下可直接访问fat32分区,而ntfs分区则不能在dos下直接访问。

FAT32缺点

但FAT有一个严重的缺点:当文件删除后写入新资料,FAT不会将档案整理成完整片段再写入,长期使用后会使档案资料变得逐渐分散,而减慢了读写速度。硬盘碎片整理是一种解决方法,但必须经常整理来保持FAT文件系统的效率。还有就是FAT32分区因为设计缺陷,无法支持超过4GB的单个文件.

FAT32磁盘结构

对于使用FAT32文件系统的每个逻辑盘内部空间又可划分为三部分,占据整个逻辑盘前端很小的空间,存放有关管理信息。数据区才是逻辑盘用来存放文件内容的区域,该区域以簇为分配单位来使用。

保留扇区

位于最开始的位置。第一个保留扇区是引导区或引导扇区(分区启动记录)。它包括一个称为基本输入输出参数块的区域(包括一些基本的文件系统信息尤其是它的类型和其它指向其它扇区的指针),通常包括操作系统的启动调用代码。保留扇区的总数记录在引导扇区中的一个参数中。引导扇区中的重要信息可以被DOS和OS/2中称为驱动器参数块的操作系统结构访问。引导区(BOOT区)从第一扇区(逻辑扇区号0)开始使用了三个扇区,保存了该逻辑盘每扇区字节数,每簇对应的扇区数等等重要参数和引导记录。之后还留有若干保留扇区,其中有一至三扇区的备份,

FAT区域

文件分配表区(FAT区)是FAT文件系统管理磁盘空间和文件的最重要区域,它保存逻辑盘数据区各簇使用情况信息,采用位示图法来表示,文件所占用的存储空间及空闲空间的管理都是通过FAT实现的。FAT区共保存了两个相同的文件分配表,便于第一个损坏时,还有第二个可用。FAT表的大小由该逻辑盘数据区共有多少簇所决定,取整数个扇区。数据区中每簇的使用情况通过查找其在FAT表中相应位置的填充值可知晓。FAT32表中每簇占用四个字节(32位)表示,开头的8个字节(0H-07H字节)用来存放该盘介质类型编号了,因此有效簇号从02H开始使用。02H簇的使用情况由08H-0BH字节组成的32位二进制数指示出来,03H簇的使用情况由0CH一0FH字节组成的32位二进制数指示出来,依此类推。未被分配使用和已回收的簇相应位置写零,坏簇相应位置填入特定值0FFFFFF7H标识,已分配的簇相应位置填入非零值,具体为:如果该簇是文件的最后一簇,填入的值为0FFFFFFFH,如果该簇不是文件的最后一簇,填入的值为该文件占用的下一个簇的簇号,这样,正好将文件占用的各簇构成一个簇链,保存在FAT32表中。

根目录区域

它是在根目录中存储文件和目录信息的目录表。在FAT32下它可以存在分区中的任何位置,但是在早期的版本中它永远紧随FAT区域之后。

数据区

数据区是被用来存放用户数据的,位于FAT2后,同样被划分成簇,从2开始编号,即2号簇起始位置即是数据区的真正起始位置。

(1)根目录

通常情况下根目录位于2号簇,但是原则上FAT32文件系统中的根目录可以位于数据区的任意位置。根目录区保存根目录下的各文件的目录项,每个目录项占用32字节。FAT32文件系统中,根目录作为数据区的一部分,采用与子目录相似的管理方式,这一点与FAT12、FAT16明显不同,如FAT16文件系统的根目录区(ROOT区)是固定区域、固定大小的,占用从FAT区之后紧接着的32个扇区,最多保存512个目录项(其根目录保存的文件数受限的原因在此),作为系统区的一部分。

(2)子目录

FAT32文件系统中,除了根目录外,全部子目录均在被使用过程中,根据具体的需要而建立。若在根目录之下创建了一个新的子目录,则称该子目录是根目录的子目录,并且称根目录为该子目录的父目录。子目录被新建时,在为其父目录分配的簇中建立目录项,目录项中描述了目录的起始簇号,并且为其在空闲的空间中分配一个簇并清零,将该簇的簇号记录在其目录项之中。为子目录创建目录项的同时,为子目录分配的簇中通过用前两个目录项来记录其与对应父目录的关系。

(3)目录项

FAT32文件系统由于结构的不同,一般将目录项分成四种:卷标目录项、“.”目录项和“..”目录项、短文件名目录项、长文件名目录项。短文件名目录项中存放子目录或文件的短文件名、属性、起始簇号、时间值、内容大小等基本的信息。

FAT32启动扇区

格式如下

偏移(字节)长度(字节)说明

0x00 3 跳转指令(跳过开头一段区域)

0x03 8 OEM名称(空格补齐)。 MS-DOS检查这个区域以确定使用启动记录中的哪一部分数据。常见值是IBM 3.3(在“IBM”和“3.3”之间有两个空格)和MSDOS5.0.

0x0b 2 每个扇区的字节数。基本输入输出系统参数块从这里开始。

0x0d 1 每簇扇区数

0x0e 2 保留扇区数(包括启动扇区)

0x10 1 文件分配表数目

0x11 2 最大根目录条目个数

0x13 2 总扇区数(如果是0,就使用偏移0x20处的4字节值)

0x15 1 介质描述 0xF8 单面、每面80磁道、每磁道9扇区

0xF9 双面、每面80磁道、每磁道9扇区

0xFA 单面、每面80磁道、每磁道8扇区

0xFB 双面、每面80磁道、每磁道8扇区

0xFC 单面、每面40磁道、每磁道9扇区

0xFD 双面、每面40磁道、每磁道9扇区

0xFE 单面、每面40磁道、每磁道8扇区

0xFF 双面、每面40磁道、每磁道8扇区

同样的介质描述必须在重复复制到每份FAT的第一个字节。有些操作系统(MSX-DOS 1.0版)全部忽略启动扇区参数,而仅仅使用FAT的第一个字节的介质描述确定文件系统参数。

0x16 2 每个文件分配表的扇区(FAT16)

0x18 2 每磁道的扇区

0x1a 2 磁头数

0x1c 4 隐藏扇区

0x20 4 总扇区数(如果超过65535,参见偏移0x13)

0x24 4 每个文件分配表的扇区(FAT32)。扩展基本输入输出系统参数块从这里开始。

0x24 1 物理驱动器个数(FAT16)

0x25 1 当前磁头(FAT16)

0x26 1 签名(FAT16)

0x27 4 ID (FAT16)

0x28 2 Flags (FAT32)

0x2a 2 版本号 (FAT32)

0x2c 4 根目录启始簇 (FAT32)

0x2b 11 卷标(非FAT32)

0x30 2 FSInfo 扇区 (FAT32)

0x32 2 启动扇区备份 (FAT32)

0x34 2 保留未使用 (FAT32)

0x36 8 FAT文件系统类型(如FAT、FAT12、FAT16)

0x3e 2 操作系统自引导代码

0x40 1 BIOS设备代号 (FAT32)

0x41 1 未使用 (FAT32)

0x42 1 标记 (FAT32)

0x43 4 卷序号 (FAT32)

0x47 11 卷标(FAT32)

0x52 8 FAT文件系统类型(FAT32)

0x1FE 2 扇区结束符(0x55 0xAA)

这里描述的启动扇区能在如OS/2 1.3的启动盘上看到。早期的版本使用一个较短的基本输入输出系统参数块,它们的启动代码在前面开始(如OS/2 1.1中是偏移0x2b)。

FAT32分配表

一个分区分成同等大小的簇,也就是连续空间的小块。簇的大小随着FAT文件系统的类型以及分区大小而不同,典型的簇大小介于2KB到32KB之间。每个文件根据它的大小可能占有一个或者多个簇;这样,一个文件就由这些(称为单链表)簇链所表示。然而,这些链并不一定一个接着一个在磁盘上存储,它们经常是在整个数据区域零散的储存。

文件分配表(FAT)是映射到分区每个簇的条目列表。每个条目记录下面五种信息中的一种。

●链中下一个簇的地址

●一个特殊的文件结束符(EOF)符号指示链的结束

●一个特殊的符号标示坏簇

●一个特殊的符号标示保留簇

●0来表示空闲簇

FAT32条目值:

FAT32 描述

0x?0000000 空闲簇

0x?0000001 保留簇

0x?0000002 – 0x?FFFFFEF 被占用的簇;指向下一个簇

0x?FFFFFF0 – 0x?FFFFFF6 保留值

0x?FFFFFF7 坏簇

0x?FFFFFF8 – 0x?FFFFFFF 文件最后一个簇

注意FAT32只使用32位中的28位。高4位通常是0但它们是保留位,不要更改它们。在上面的表中它们用问号表示。

FAT32目录表

目录表是一个表示目录的特殊类型文件(现今通常称为文件夹)。它里面保存的每个文件或目录使用表中的32位条目表示。每个条目记录名字、扩展名、属性(档案、目录、隐藏、只读、系统和卷)、创建的日期和时间、文件/目录数据第一个簇的地址,最后是文件/目录的大小。

除了FAT12和FAT16文件系统中的根目录表占据特殊的根目录区域位置之外,所有其它的目录表都存在数据区域。

合法的DOS文件名包括下面一些字符:

●大写字母A-Z

●数字0-9

●空格(尽管结尾的空格被作为填充而不是文件名的一部分)

●! # $ amp;amp; ( ) – @ ^ _ ` { } ~ ‘

●数值 128-255

●DOS文件名位于OEM字符集。

长文件名(LFN)使用一个技巧存储在FAT文件系统上——在目录表中添加假的条目。这些条目使用一个普通文件无法使用的卷标属性标识,普通文件无法使用是由于它们被大多数旧的MS-DOS程序忽略。很显然,一个只包含卷标的目录被当作空卷,这样就允许删除;使用长文件名创建的文件在从普通的DOS删除就会发生这样的情形。

校验和也允许检验长文件名是否与8.3文件名匹配;当一个文件删除之后使用DOS在同一个目录位置重新创建之后就会出现不匹配现象。校验和使用下面的算法计算。(注意pFcbName是指向如正常目录条目中所显示的文件名的指针,例如前八个字符是文件名,最后三个是扩展名。点是隐含的。文件名中没有使用的空间将使用空格(ASCII 0x20)补齐。例如,“Readme.txt”将记录为”README TXT”。

FAT32特点

FAT32实际上是文件分区表采取的一种形式,它是相对于FAT16而言的。众所周知,Dos和Windows95采用的都是FAT16格式。至于FAT32,准确地说是在Windows95OSR2中第一次出现的,之所以没有宣传是因为当时该文件系统还不够成熟,尚处于试探阶段。那么为什么一定要推出FAT32呢?这主要是由其自身的优越性决定的。

首先,它可以大大地节约磁盘空间。文件在磁盘上是以簇的方式存放的,簇里存放了一个文件就不能再存放另外的文件。假如一个磁盘的分区大小为512MB,基于FAT16的系统的簇的大小为8KB,而FAT32系统的簇的大小仅是4KB,那么,我们存放一个3KB的文件,FAT16系统就会有5KB的空间被浪费,而FAT32的浪费则会少一些。如果分区达到1GB,FAT16的簇为16KB,而FAT32还是4KB,节省的也就更多了。

在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点:

(1)FAT32文件系统仍然将逻辑盘的空间划分为三部分,依次是引导区(BOOT区)、文件分配表区(FAT区)、数据区(DATA区)。引导区和文件分配表区又合称为系统区。

(2)FAT32的MBR和扩展分区的结构与DOS的仍然相同。只不过引导程序的代码不同而已。前一小节在介绍MBR所使用的就是win98的引导程序。这里不再赘述。

(3)FAT32的引导区从第一扇区开始,使用了三个扇区,保存了该逻辑盘每扇区字节数,每簇对应的扇区数等等重要参数和引导记录。之后还留有若干保留扇区。

(4)FAT32的文件分配表的结构与DOS下的FAT16相同,仍然采用簇链结构来管理文件,只不过FAT32的一个表项用4Byte即32位罢了,这样文件分配表可以有更多的簇,可以管理吏大的磁盘空间。

(5)FAT32系统一簇对应8个逻辑相邻的扇区,理论上,这种用法所能管理的逻辑盘容量上限为16TB,容量大于16TB时,可以用一簇对应16个扇区,依此类推。FAT16系统在逻辑盘容量介于128MB到256MB时,一簇对应8个扇区,容量介于256MB到512MB时,一簇对应16个扇区,容量介于512MB到1GB时,一簇对应32个扇区,容量介于1GB到2GB时,一簇对应32个扇区,超出2GB的部分无法使用。显然,对于容量大于512MB的逻辑盘,采用FAT32的簇比采用FAT16的簇小很多,大大减少了空间的浪费。

(6)FAT32的一个大的改进之处就是根目录区(ROOT区)不再是固定区域、固定大小,可看作是数据区的一部分。因为根目录已改为根目录文件,采用与子目录文件相同的管理方式,一般情况下从第二簇开始使用,大小视需要增加,因此根目录下的文件数目不再受最多512的限制。

(7)目录区中的目录项变化较多,一个目录项仍占32字节,可以是文件目录项、子目录项、卷标项(仅根目录有)、已删除目录项、长文件名目录项等。

FAT32功能

与以前的 FAT 文件系统实现相比,FAT32 提供了以下增强功能:FAT32 支持最大为 2 TB 的驱动器。

注意:Microsoft Windows 2000 仅能支持最大为 32 GB 的 FAT32 分区。

· FAT32 可以更高效地使用空间。FAT32 使用较小的簇(即,对于大小在 8 GB 以内的驱动器,使用 4 KB 的簇),这与大的 FAT 或 FAT16 驱动器相比,可将磁盘空间的使用率提高10% 到 15%。

· FAT32 更稳定可靠。FAT32 可以重新定位根文件夹,而且它使用文件分配表的备份副本,而不是使用默认副本。此外,FAT32 驱动器上的引导记录也得到扩展,包括了关键数据结构的备份副本。因此,与现有的 FAT16 驱动器相比,FAT32 驱动器不容易受单点故障的影响。

· FAT32 更灵活。FAT32 驱动器上的根文件夹是普通的簇链,因此它可以位于驱动器上的任何位置。以前对根文件夹数量的限制不复存在。此外,可以禁用文件分配表镜像,这样就可以让文件分配表的副本而不是让第一个文件分配表处于活动状态。这些功能允许您动态重调 FAT32 分区的大小。不过要注意,虽然 FAT32 的设计允许这一功能,但 Microsoft 将不在初始版本中实现此功能。

FAT32兼容性

软硬件的兼容问题

为了与现有程序、网络和设备驱动程序保持最大程度的兼容性,FAT32 尽可能不改动现有的 Windows 体系结构、内部数据结构、应用程序编程接口(API) 和磁盘上的格式。然而,因为需要 4 字节来存储簇值,所以许多内部的和磁盘上的数据结构以及发布的 API 都作了修改或扩展。某些情况下,现有的 API 无法在 FAT32 驱动器上运行。大多数程序不会受这些更改的影响。现有工具和驱动程序在 FAT32 驱动器上应能够继续正常运行。不过,MS-DOS 块设备驱动程序(例如 Aspidisk.sys)和磁盘工具需要经过修改才能支持 FAT32 驱动器。

所有 Microsoft 捆绑磁盘工具(格式化、Fdisk、碎片整理、基于 MS-DOS 和 Windows 的磁盘扫描)已经过修改,可以在 FAT32 中正常运行。此外,Microsoft 正在与一些主要设备驱动程序和磁盘工具厂商协作,帮助他们修改其产品以支持 FAT32。

注意:不能使用 Microsoft DriveSpace 或 DriveSpace 3 压缩 FAT32 卷。

FAT32 性能

转换到 FAT32 文件系统是您可以在基于 Windows 98 的计算机上实现的最大的一种性能增强。

双启动计算机

目前,在 Microsoft 操作系统中,只有 Windows 95 OSR2、Windows 98、Windows 2000 和Windows Me 可以访问 FAT32 卷。MS-DOS、Windows 95 原始版和 Windows NT 4.0不识别 FAT32 分区,它们无法从 FAT32 卷启动。此外,如果使用其他操作系统(例如,Windows 95 或 MS-DOS 启动盘)启动计算机,也无法正确访问 FAT32 卷。

Windows 95 OSR2 和 Windows 98 可以在实模式下启动(例如为了运行游戏)并可以使用 FAT32 卷。

创建 FAT32 驱动器

在 Windows 95 OSR2、Windows 98 和 Windows Me 中,如果在大小超过 512 兆字节 (MB) 的硬盘上运行Fdisk 工具,Fdisk 将提示您是否启用大磁盘支持。如果回答“是”(启用大磁盘支持),您创建的任何大于 512 MB 的分区都将被标记为 FAT32 分区。

Windows 98 和 Windows Me 中还带有一种 FAT32 转换工具,您可以使用该工具将现有驱动器转换为 FAT32 文件系统。要使用该转换工具,请按照下列步骤操作: 1. 单击开始,依次指向程序、附件、系统工具,然后单击驱动器转换器 (FAT32)。

2. 单击下一步。

3. 单击希望转换为 FAT32 文件系统的驱动器,然后单击下一步。

4. 按照屏幕上的说明操作。

支持范围

Microsoft 将支持 FAT32 文件系统的功能,以实现无错读取和在实模式或保护模式下保存文件。Microsoft 支持 Windows 95 中所带的实模式和保护模式工具。

对于旧式(较早的)程序,如果它们无法在 FAT32 卷上安装,或者无法正确保存文件或读取文件,则您必须与软件包的生产厂商联系。

注意:虽然 FAT32 文件系统所支持的硬盘容量最高可以达到 2 TB,但有些硬盘可能会因为计算机基本输入/输出系统 (BIOS) INT13 接口的限制而无法包含大于 7.8 GB 的可启动分区。请与硬件制造商联系,以确定您计算机的 BIOS 是否支持更新后的 INT13 扩展。

Windows 操作系统使用 FAT32 文件系统时存在以下限制: · 簇不能是 64 千字节 (KB) 或更大。如果簇为 64 KB 或更大,有些程序(例如安装程序)在计算磁盘空间时可能会出错。

· 卷必须包含至少 65,527 个簇,才能使用 FAT32 文件系统。您不能增加使用 FAT32 文件系统的卷上的簇大小,以致于该卷的最终簇数小于 65,527。

· 在使用 FAT32 文件系统的卷上,簇最多是 268,435,445 个。对于文件分配表 (FAT) 的空间,每簇最大为 32 KB,据此计算出的最大磁盘大小大约为 8 太字节 (TB)。

· Microsoft Windows 95 和 Microsoft Windows 98 附带的“磁盘扫描”工具是 16 位程序。这样的程序有一个内存块,该内存块的最大分配大小等于 16 MB 减去 64 KB。因此,Windows 95 或 Windows 98 的“磁盘扫描”工具无法处理使用 FAT32 文件系统(其 FAT 大小大于 16 MB 和 64 KB 之差)的卷。使用 FAT32 文件系统的卷上的 FAT 项使用 4 字节,因此 ScanDisk 无法处理使用定义的簇数大于 4,177,920(包括两个保留的簇)的 FAT32 文件系统的卷上的 FAT。将 FAT 本身包括在内,按每簇最大 32 KB 计算,卷大小为 127.53 吉字节 (GB)。

· 您不能减少使用 FAT32 文件系统的卷上的簇大小,以致于 FAT 的最终大小大于 16 MB 与 64 KB 之差。

· 在 Windows 2000 中您无法使用 FAT32 文件系统格式化大于 32 GB 的卷。Windows 2000 FastFAT 驱动程序可以安装和支持使用 FAT32 文件系统且大于 32 GB的卷(受到其他限制),但是您不能使用格式化工具创建一个这样的卷。这种现象是设计使然。如果需要创建大于 32 GB 的卷,请改用 NTFS 文件系统。

备注:在尝试格式化大于 32 GB 的 FAT32 分区时,在进程快结束时格式化会失败,并出现以下错误:

Logical Disk Manager:Volume size too big.

Windows XP 中 FAT32 文件系统的限制

当您在 Windows XP 中使用 FAT32 文件系统时,请注意下列限制: · 簇不能等于或大于 64 KB。如果簇大小为 64 KB 或更大,则有些程序(例如安装程序)可能会不正确地计算磁盘空间。

· FAT32 卷必须至少包含 65,527 个簇。您不能增加使用 FAT32 文件系统的卷上的簇大小,这样会导致卷上的簇数少于 65,527 个。

· 如果考虑到以下可变因素,则最大磁盘大小大约为 8 TB:一个 FAT32 卷上允许的最大簇数为 268,435,445,每个簇最大为 32 KB,另外还有文件分配表 (FAT) 所需的空间。

· 您不能减少 FAT32 卷上的簇大小,这样会导致 FAT 的大小大于 16 MB 减去 64 KB。

· 在 Windows XP 安装过程中,您不能使用 FAT32 文件系统格式化大于 32 GB 的卷。Windows XP 可以装入和支持大于 32 GB 的 FAT32 卷(受到其他限制),但是您不能在安装期间使用 Format 工具创建大于 32 GB 的 FAT32 卷。如果您需要格式化大于 32 GB 的卷,请使用 NTFS 文件系统来格式化。另一种方法是从 Microsoft Windows 98 或 Microsoft Windows Millennium Edition (Me) 启动盘启动,然后使用该磁盘上包含的 Format 工具。

有关如何使用 Microsoft Windows 98 或 Microsoft Windows Millennium Edition (Me) 启动盘格式化硬盘的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

255867 如何使用 Fdisk 和 Format 工具对硬盘进行分区或重新分区

注意:当您在 Windows XP 安装过程中试图格式化大于 32GB 的 FAT32 分区时,在格式化过程快结束时操作将会失败,并且您可能会收到以下错误信息:

Logical Disk Manager:Volume size too big.

· MS-DOS(Microsoft Windows 95 的原始版本)和 Microsoft Windows NT 4.0 及更低版本都不能识别 FAT32 分区,因此无法从 FAT32 卷启动。

· 您不能在 FAT32 分区上创建大于 (2^32)-1 字节(即 4 GB 减去 1 个字节)的文件。

FAT32格式理论上可以支持128TB的磁盘,即簇的大小乘簇的数量32K*(2^32),但由于受到软硬件的限制和其他方面的原因,不可能达到理论值。

FAT32数据恢复原理

由于FAT与FDT对数据的链式存储管理的,可以通过链式搜索查找。只有FAT表和FDT配合使用,才能可以统一管理整个磁盘文件,也就可以准确定位被删除的文件的确切位置。

在 Window操作系统下对文件的删除工作,是将FDT中该文件的第一个字符改“E5”来表示该文件已经删除,同时改写引导扇区的第二个扇区中表示该分区点用空间大小的相应信息。因此,在设计的时候,根据其存储结构,对相应的地方进行修改,搜索E5删除标志,再按被删文件数据链进行恢复。

具体步骤如下:

(1) 获取磁盘分区类型,分区存储空间,FAT、FDT、文件等存储的起始扇区。

(2) 获取FAT、FDT表项内的簇信息,即簇的删除、未使用、坏簇、以及文件占用簇的起始扇区信息等。

(3) 通过FAT、FDT计算不同文件在物理扇区的起始位置,包括有标识E5的删除文件起始位置、文件类型、占用大小和存储的所在簇。

(4) 改变删除位,通过第3步得到的结果,并按FAT表对文件进行链式查找并缓存,当达到文件所在簇尾时,停止操作。

(5) 对存储的数据进行转换,生成文件。

(6) 对文件进行异区存储。而操作系统在读写文件时,会根据FDT中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置,然后顺序读取每个簇的内容,文件的查找如图4-1所示。具体的方法如下:

(1)在文件目录项FDT中找到存放在FAT表中的文件File的地址M(2)2*M得到FAT表中File文件数据链表首地址B。

(3)在FAT表中的B地址中,存放有文件FILE数据链表头P。

(4)P*4得到在FAT表项中的下一个偏移位置,即下一个数据链表。

(5)如果下一个数据链表内的信息为0FFFFFFH,则表示文件存储已经结束图4-1查找文件流程需要说明的是,新建文件时,系统在FAT表中查找未用的簇记录在新文件目录项中做为首簇;FDT文件目录项中,第0~7字节为文件名(若有剩余字节用20填充)第1字节表明了该文件的状态,第1字节又表明了文件的状态,00HE5H及其它字符。当该字节为00H时,表示该目录项是空表项,可以使用。当为E5H时,表示该目录项以前用过,但是文件被已经删除了。

FAT32小知识

在FAT32下,一个目录只能够容纳65536个文件。微软的官方文档没有给出。

FAT32适用条件

一般来说,只有在以下情况下才能创建(用Windows 95OSR2或者Windows 98)FAT32分区:

■硬盘总容量必须大于528MB。

■每个分区的大小必须大于528MB。

■用户需要有一张OSR2安装盘,或者是由其他安装OSR2的PC制作的OSR2启动盘(或者是适当的Windows98启动盘)。

■当0SR2/98的FDISK提示Do you wish to enable large disk support?Y or N(是否希望启动大硬盘支持?)时,应回答Y。如果回答N,那么创建的就将是FAT16磁盘分区。

FAT32应用要点

1、FAT32的速度

FAT32通常与FAT16一样快,在某些情况下,它会稍快一些。典型的情况下没有明显的性能差异。FAT32的主要优点是它对大磁盘的利用比FAT16更为有效。

在实模式MS-DOS或Windows98安全模式下,FAT32会比FAT16慢不少。如果要在MS-DOS下运行程序,最好要运行SMARTDRV。

3、双重引导和FAT32

不能在需要对另一个操作系统进行双重引导的机器上使用FAT32,如Windows 95.Windows NT,Windows3.1或MS-DOS6.x。其他操作系统不能访问FAT32分区表。只要C驱是FAT16的,那么其他系统也可以引导,但是其余FAT32的分区对其他操作系统来说是不可见的。如果使用FAT16,那么Windows 98也支持在Windows98和以前的MS-DOS操作系统之间进行双重引导,并用F4进行切换,但是不能在Windows95和Windows98之间进行切换。

4、FAT32和防病毒软件

在FAT32中使用防病毒软件,改变驱动器会引起分区表和引导记录的更新。如果防毒软件启动,它可能截取更新分区表或引导记录的要求,并询问是否允许更新。并且,在改变驱动器后重启计算机时,防病毒软件会发觉分区表或引导记录被更改了,会提出“修复”的请求。不要让防病毒软件修复引导记录或分区表,不然驱动器和上面的所有的数据都将丢失。

原创文章,作者:芒小种,如若转载,请注明出处:http://www.fhgg.net/shenghuobaike/80849.html

本文来自投稿,不代表【食趣网】立场,如若转载,请注明出处:http://www.fhgg.net/

(0)
上一篇 2023年6月4日 下午3:43
下一篇 2023年6月4日 下午3:49

相关推荐

发表回复

登录后才能评论