Note: This answer didn't work for me.

I wish to format a FAT32 partition with set AUS of 32K. I've read the man page man mkfs.fat, and the only thing that I can find is

    Specify the number of bytes per logical sector.  Must be a power of 2 and greater than or equal to 512, i.e. 512, 1024, 2048, 4096, 8192, 16384, or 32768.

I don't know whether this is the "AUS", but I tried it out, and set -S 32768. This happened:

user@pc:~$ sudo mkfs.fat -S 32768 /dev/sdb1
mkfs.fat 3.0.28 (2015-05-16)
Warning: sector size is set to 32768 > 4096, such filesystem will not propably mount
WARNING: Not enough clusters for a 32 bit FAT!
mkfs.fat: Attempting to create a too large filesystem

I also tried sudo mkfs.fat -I -S 32768 /dev/sdb if that works, and it doesn't. Same error prints out.

  • 1
    What happens if you try sudo mkfs.fat -s 32 /dev/sdb1 ?
    – xiota
    Aug 19, 2019 at 3:09

3 Answers 3


The best way is to divide by 512 (the cluster size):

mkfs.fat -S $((32768/512)) /dev/sdb1

I needed a 4096 allocation unit size for a Creality 3D printer's firmware update, and to do that I needed to divide 4096 by 512 (the default sector size) to get 8, and run mkfs.fat -s 8 /dev/mmcblk0p1. Note the lowercase -s.

  • Thank you, my Ender 3 S1 Pro's screen firmware wouldn't update until I did this!
    – Alexander
    Jan 7 at 13:17

man mkfs.fat:

    Specify the number of disk sectors per cluster.  Must be a power of
    2, i.e. 1, 2, 4, 8, ... 128.

The allocation unit size is also known as the cluster size.

  • 1
    Tried that out. I want 32 KB clusters, and 1 sector is 512 bytes. Therefore, I set -s 64. But I tried blockdev --getbsz /dev/sdb1, and 4096 came out. What does this mean? Jan 9, 2017 at 3:39
  • Also did fsinfo /dev/sdb1 and st_blksize is 4096. Jan 9, 2017 at 3:39
  • That's going to be the kernel's block size, not the file system's. Dec 5, 2023 at 17:30

You must log in to answer this question.

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