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 http://www.bergek.com/2008/10/27/partition-usb-disk-with-fat16-on-mac-os-x/ 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.

Advertisements

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: https://groups.google.com/forum/#!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:

WordPress.com Logo

You are commenting using your WordPress.com 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