Search code examples
linuxsizefat16

"Not enough clusters for a 16 bit FAT", but I'm above minimum size. Why?


I'm trying to make a FAT16 filesystem on my Ubuntu.

So, I first create the file with dd if=/dev/zero of=Fat16.bin bs=1024 count=8192.

This will create a 8MB file full of zeros.

Then, I format this file to be a FAT16 filesystem by issuing the following command: mkfs.vfat -f2 -n FAT16 -r 224 -s8 -S512 -F16 Fat16.bin.

But that gives me the following error.

WARNING: Not enough clusters for a 16 bit FAT! 
The filesystem will be misinterpreted as having a 12 bit FAT without mount option "fat=16"

As far as I'm concerned, the minimum size of a FAT16 filesystem is 4MB, so I don't understand what's happening here.


Solution

  • I've found the answer,

    from https://staff.washington.edu/dittrich/misc/fatgen103.pdf (See "FAT Type Determination") the number of clusters must be between 4085 <=> 65525 to format a valid FAT16 partition. So the partition must be greater enough to store 4085 clusters + metadata information such as FAT tables.