|
|
Guide >> Concepts >> Understanding FAT File System >> FAT32 features
FAT32 features
The following topics describe the FAT32 file system.
Boot Sector and
Bootstrap Modifications
| Modifications |
Description |
Reserved Sectors |
FAT32 drives contain more reserved sectors than FAT16 or FAT12
drives. The number of reserved sectors is usually 32, but can vary. |
Boot Sector Modifications |
Because a FAT32 BIOS Parameter Block (BPB), represented by the
BPB structure, is larger than a
standard BPB, the boot record on FAT32 drives is greater than 1 sector. In
addition, there is a sector in the reserved area on FAT32 drives that contains
values for the count of free clusters and the cluster number of the most
recently allocated cluster. These values are members of the
BIGFATBOOTFSINFO structure which is
contained within this sector. These additional fields allow the system to
initialize the values without having to read the entire file allocation table.
|
Root Directory |
The root directory on a FAT32 drive is not stored in a fixed
location as it is on FAT16 and FAT12 drives. On FAT32 drives, the root
directory
is an ordinary cluster chain. The A_BF_BPB_RootDirStrtClus member in the
BPB structure contains the number of the first cluster in the root
directory. This allows the root directory to grow as needed. In addition, the
BPB_RootEntries member of BPB is ignored on a FAT32 drive.
|
Sectors Per FAT |
The A_BF_BPB_SectorsPerFAT member of
BPB is always zero on a FAT32
drive. Additionally, the A_BF_BPB_BigSectorsPerFat and
A_BF_BPB_BigSectorsPerFatHi members of the updated BPB provide
equivalent information for FAT32 media. |
BPB (FAT32)
The BPB for FAT32 drives is an extended version of the FAT16/FAT12 BPB. It
contains identical information to a standard BPB, but also includes several
extra fields for FAT32 specific information.
This structure is implemented in Windows OEM Service Release 2 and later.
A_BF_BPB STRUC
A_BF_BPB_BytesPerSector DW ?
A_BF_BPB_SectorsPerCluster DB ?
A_BF_BPB_ReservedSectors DW ?
A_BF_BPB_NumberOfFATs DB ?
A_BF_BPB_RootEntries DW ?
A_BF_BPB_TotalSectors DW ?
A_BF_BPB_MediaDescriptor DB ?
A_BF_BPB_SectorsPerFAT DW ?
A_BF_BPB_SectorsPerTrack DW ?
A_BF_BPB_Heads DW ?
A_BF_BPB_HiddenSectors DW ?
A_BF_BPB_HiddenSectorsHigh DW ?
A_BF_BPB_BigTotalSectors DW ?
A_BF_BPB_BigTotalSectorsHigh DW ?
A_BF_BPB_BigSectorsPerFat DW ?
A_BF_BPB_BigSectorsPerFatHi DW ?
A_BF_BPB_ExtFlags DW ?
A_BF_BPB_FS_Version DW ?
A_BF_BPB_RootDirStrtClus DW ?
A_BF_BPB_RootDirStrtClusHi DW ?
A_BF_BPB_FSInfoSec DW ?
A_BF_BPB_BkUpBootSec DW ?
A_BF_BPB_Reserved DW 6 DUP (?)
A_BF_BPB ENDS
Members
- A_BF_BPB_BytesPerSector
- The number of bytes per sector.
- A_BF_BPB_SectorsPerCluster
- The number of sectors per cluster.
- A_BF_BPB_ReservedSectors
- The number of reserved sectors, beginning with sector 0.
- A_BF_BPB_NumberOfFATs
- The number of File Allocation Tables.
- A_BF_BPB_RootEntries
- This member is ignored on FAT32 drives.
- A_BF_BPB_TotalSectors
- The size of the partition, in sectors.
- A_BF_BPB_MediaDescriptor
- The media descriptor. Values in this member are identical to standard BPB.
- A_BF_BPB_SectorsPerFAT
- The number of sectors per FAT.
Note: This member will always be zero in a FAT32 BPB. Use the values
from A_BF_BPB_BigSectorsPerFat and A_BF_BPB_BigSectorsPerFatHi for
FAT32 media.
- A_BF_BPB_SectorsPerTrack
- The number of sectors per track.
- A_BF_BPB_Heads
- The number of read/write heads on the drive.
- A_BF_BPB_HiddenSectors
- The number of hidden sectors on the drive.
- A_BF_BPB_HiddenSectorsHigh
- The high word of the hidden sectors value.
- A_BF_BPB_BigTotalSectors
- The total number of sectors on the FAT32 drive.
- A_BF_BPB_BigTotalSectorsHigh
- The high word of the FAT32 total sectors value.
- A_BF_BPB_BigSectorsPerFat
- The number of sectors per FAT on the FAT32 drive.
- A_BF_BPB_BigSectorsPerFatHi
- The high word of the FAT32 sectors per FAT value.
- A_BF_BPBExtFlags
- Flags describing the drive. Bit 8 of this value indicates whether or not
information written to the active FAT will be written to all copies of the FAT.
The low 4 bits of this value contain the 0-based FAT number of the Active FAT,
but are only meaningful if bit 8 is set. This member can contain a combination
of the following values.
| Value |
Description |
BGBPB_F_ActiveFATMsk (000Fh) |
Mask for low four bits. |
BGBPB_F_NoFATMirror (0080h) |
Mask indicating FAT mirroring state. If set, FAT mirroring is
disabled. If clear, FAT mirroring is enabled. |
Bits 4-6 and 8-15 are reserved.
- A_BF_BPB_FS_Version
- The file system version number of the FAT32 drive. The high byte represents
the major version, and the low byte represents the minor version.
- A_BF_BPB_RootDirStrtClus
- The cluster number of the first cluster in the FAT32 drive's root directory.
- A_BF_BPB_RootDirStrtClusHi
- The high word of the FAT32 starting cluster number.
- A_BF_BPB_FSInfoSec
- The sector number of the file system information sector. The file system
info sector contains a BIGFATBOOTFSINFO
structure. This member is set to 0FFFFh if there is no FSINFO sector.
Otherwise, this value must be non-zero and less than the reserved sector count.
- A_BF_BPB_BkUpBootSec
- The sector number of the backup boot sector. This member is set to 0FFFFh if
there is no backup boot sector. Otherwise, this value must be non-zero and less
than the reserved sector count.
- A_BF_BPB_Reserved
- Reserved member.
BIGFATBOOTFSINFO (FAT32)
Contains information about the file system on a FAT32 volume. This structure
is implemented in Windows OEM Service Release 2 and later.
BIGFATBOOTFSINFO STRUC
bfFSInf_Sig DD ?
bfFSInf_free_clus_cnt DD ?
bfFSInf_next_free_clus DD ?
bfFSInf_resvd DD 3 DUP (?)
BIGFATBOOTFSINFO ENDS
Members
- bfFSInf_Sig
- The signature of the file system information sector. The value in this
member is FSINFOSIG (0x61417272L).
- bfFSInf_free_clus_cnt
- The count of free clusters on the drive. Set to -1 when the count is
unknown.
- bfFSInf_next_free_clus
- The cluster number of the cluster that was most recently allocated.
- bfFSInf_resvd
- Reserved member.
Back << Contents >> Next
|
|
|
Data Recovery Tools |
Active@ UNERASER -
a data recovery tool, designed to restore files and directories that have been accidentally deleted or lost.
|
Active@ Partition Recovery -
a partition undelete tool, designed to recover lost and deleted partitions.
|
Active@ Boot Disk -
a special bootable CD, designed to allow you to make a data backup, recover lost data, erase data, recover windows passwords.
|
Disk CleanUp Tools |
Active@ KillDisk -
a disk eraser software for secure formatting of hard drives without the possibility of data recovery.
|
Active@ ZDelete -
your privacy protection tool that prevents undesirable people accessing your privately deleted data.
|
|
|