What’s the best way to do this on Linux? I usually use either GParted or the KDE partition manager and both don’t seem to offer this feature. So terminal I guess?
Background: I copy a lot of files from my PS4 to usb and although the PS4 Slim has usb 3.1 the write speed is incredibly low. And a known trick to make it faster is to format the stick on Windows and choose the largest allocation unit size available.
I have never tried to do this but I guess that what Windows calls “Allocation Units” is really the cluster size? Both mkfs.exfat and mkfs.vfat support the -s option which controls the number of sectors per cluster.
Keep in mind that this is a multiple of sector size so I guess you would take your desired “allocation unit” size and divide it by the sector size to get the correct number to pass here.
[~]$ mkfs.exfat
exfatprogs version : 1.1.3
Usage: mkfs.exfat
-L | --volume-label=label Set volume label
-c | --cluster-size=size(or suffixed by 'K' or 'M') Specify cluster size
-b | --boundary-align=size(or suffixed by 'K' or 'M') Specify boundary alignment
--pack-bitmap Move bitmap into FAT segment
-f | --full-format Full format
-V | --version Show version
-v | --verbose Print debug
-h | --help Show help
In this case I would use sudo dump.exfat /dev/sdb1
(alter /dev/sdb1 according to your system)
In the bottom section you find your cluster size in Bytes.
Save the complete output of dump.exfat and then do your Windows thing to the drive (format with maximum allocation unit size) then do dump.exfat again and compare the outputs.
So you know what cluster-size to choose with Linux next time.
Please share dump.exfat outputs. I’m curious.