MS-DOS FAT16 Formatting on OS X

It took a second to figure out how to format an SDCard with a MS-DOS FAT16 partition, so I wanted to share with everybody. This applies to any type of external disk drive.

There are some links to be found…such as and another one that’s almost identical.

First of all, the second set of instructions result in a “/Volumes/SDCARD/ does not appear to be a whole disk” error in OSX Lion. The drives listed in /Volumes by OS X are the mounted logical drives, and partitioning needs to occur on a physical disk, so I think using “/Volumes/”-anything would not work, but maybe it did in an older version of diskutil.

Regardless, both sets of instructions are approximately the same. When entering this command:
diskutil partitiondisk /dev/disk2 1 MBRFormat "MS-DOS FAT16" "XYZ" 1024M
in OS X Lion I kept getting this error message:
XYZ does not appear to be a valid volume name for its file system

I’m not sure why that isn’t a valid partition name. From what I recall MS-DOS FAT16 partitions support an 11-byte ASCII name. Rather than digging into that I tried this command:
diskutil partitiondisk /dev/disk2 1 MBRFormat "MS-DOS FAT16" "" 1024M
and got the error:
The size (1024M) must not be greater than the size of the whole disk

My SDCard is 1G = 1024M, so I’m not sure why that doesn’t work either. Rather than dig into that hole I used this command:
diskutil partitiondisk /dev/disk2 1 MBRFormat "MS-DOS FAT16" "" 1G

And my SDCard is now formatted. Hope this helps!

UPDATE 8/23/2012: The above worked for a 1GB micro SD card that was used and had been partitioned for an Android G1 previously. On another, brand new SDCard, the steps work but OS X complains that it can’t read the card. Trying to format an SDCard > 1GB is likely the problem – if I find a workaround I’ll post.


2 thoughts on “MS-DOS FAT16 Formatting on OS X

  1. I found a working method to format a 4GB SD card to FAT16 on a mac. A big thank you to Jeffrey Warren!

    the webpage:!topic/grassrootsmapping/NZ7jGtqZfSM

    Under MacOS X Leopard, the following series of steps will work:
    Load your SD card in a card reader (unless your camera appears as a disk drive when you connect it)
    Open Disk Utility and highlight the volume. Click “Info” and look for “Disk Identifier”. For me, it was /dev/disk2s1
    close the Info window
    With the volume highlighted (not the “drive”), click “Unmount”.
    From a Terminal command line, run a command like this:
    sudo newfs_msdos -F 16 -v MYSDCARD -b 4096 -c 128 /dev/disk2s1
    If you get an error on the Mac command line after running this command like “newfs_msdos: warning: /dev/disk2s1 is not a character device” go ahead and re-mount the drive in the Apple Disk Utility. The drive should still show up as a FAT 16 drive, you can then continue.

    1. Thanks for the info! I didn’t know about the ‘newfs_msdos’ command in OS X. Looking at these instructions, they should work for latest OS X versions, verified on 10.7.5.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s