2

Based on the information I can see from this page:

  • FAT12 uses a maximum of 4086 clusters (2^12 - 10)
  • FAT16 uses 65526 (2^16 - 10)
  • FAT32 uses ~268435456 (2^28)

I understand that FAT32 uses 28 bits instead of 32 as 4 bits are reserved, but what about the discrepancy in the max number of clusters? Why do FAT12 and FAT16 have 10 less available clusters than they should do based on the number of bits available?

Are these clusters present but reserved for certain functionality? If so, what are they being used for?

1 Answer 1

3

Why do FAT12 and FAT16 have 10 less available clusters than they should do based on the number of bits available?

  1. First 2 values for cluster nums (0x0 and 0x1) are not available - the place for them in FAT table is used to store the FAT signature. First cluster number is 0x2.

  2. Last 8 values for cluster nums (0xff8..0xfff and 0xfff8..0xffff) are reserved for special marks (end of cluster chain, bad cluster, etc.)

Another values are available for cluster number coding.

1
  • Also, Microsoft itself states in the FAT documentation (I’m paraphrasing): "The world is full of erroneous FAT drivers, so it’s best to stay away 16 or more clusters from the values above mentioned" (i.e. try not to create a FAT12 with 4085 clusters or FAT16 with 4087 clusters, FAT16 with 65525 clusters or FAT32 with 65527 clusters, as many FAT drivers out there will be confused and try a FAT32/16/12 driver where not appropriate. (FAT documentation, pg. 15)
    – Ro-ee
    Jun 6, 2018 at 16:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .