Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using Maverick (a offline mapping application) on my Android device which has thousands of files in the tile cache with a size of 168 byte. The SD card is formatted with a file allocation unit size of 32 KB. This results for each file in a huge waste of space:

168 Byte (33 KB on the volume)

You can imagine that a 2GB is full even if you want to store 50MB of real data. Is there software I can use on my Mac to change the file allocation unit size during formatting of the device?

share|improve this question
up vote 4 down vote accepted

Open up a terminal and check out the following command:

     newfs_msdos -- construct a new MS-DOS (FAT) file system

     newfs_msdos [-N] [-B boot] [-F FAT-type] [-I volid] [-O OEM]
                 [-S sector-size] [-a FAT-size] [-b block-size]
                 [-c cluster-size] [-e dirents] [-f format] [-h heads]
                 [-i info] [-k backup] [-m media] [-n FATs] [-o hidden]
                 [-r reserved] [-s total] [-u track-size] [-v volume-name]
                 special [disktype]

In particular these parameters:

 -S sector-size
         Number of bytes per sector.  Acceptable values are powers of 2 in
         the range 128 through 32768.

 -a FAT-size
         Number of sectors per FAT.

 -b block-size
         File system block size (bytes per cluster).  This should resolve
         to an acceptable number of sectors per cluster (see below).

 -c cluster-size
         Sectors per cluster.  Acceptable values are powers of 2 in the
         range 1 through 128.

You should be able to perform a custom format with the options you need, obviously make sure you test this out thoroughly.

share|improve this answer

Stuffe has given the correct answer. For other users I want to add the steps to create the volume:

  • determine the device node: diskutil info /Volumes/NameOfVolume (/dev/disk1s1)
  • Deaktivate the Volume with disk-util
  • Create new Volume: newfs_msdos -F 32 -v NameOfVolume -c 1 /dev/deisk1s1

The cluster size -c 1 will create the size of 512 Byte

share|improve this answer
Great additions. For info you are welcome to suggest adding those details as an edit in future - the site is meant to be collaboratively edited, no-one should get upset about having their answers modified where an improvement is provided. Welcome, by the way :) – stuffe Mar 16 '12 at 23:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.