Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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've been looking around for a way to do this for a while, but I haven't been able to find the answer. I need to format my 2 GB SD card to FAT-32, but I don't see the option in Disk Utility.

If I select the SD drive (Apple SDXC Reader Media) and go to 'Erase,' I have the following format options:

  • Mac OS extended (Journaled)
  • Mac OS extended (Journaled, Encrypted)
  • Mac OS extended (Case sensitive, Journaled)
  • Mac OS extended (Case sensitive, Journaled, Encrypted)
  • MS DOS (FAT)
  • ExFAT

Doing the same, but selecting the SD card itself (in my case, NO NAME), I get all the same results, minus Mac OS X's with encryption.

I have read that selecting MS-DOS will chose between FAT-16 and -32, depending on the SD card's size. However, I have a 2 GB one.

Format:            MS-DOS (FAT16)
Owners Enabled:    No
Number of Folders: 0
Capacity:          1.98 GB (1,975,546,368 Bytes)
Available:         1.79 GB (1,789,296,640 Bytes)
Used:              186 MB (185,991,168 Bytes)  --> (I have already backed up)
Number of Files:   512
share|improve this question

migrated from stackoverflow.com Jan 3 '13 at 17:47

This question came from our site for professional and enthusiast programmers.

up vote 25 down vote accepted

If you're comfortable with using the Terminal, try this:

First, look at the partition table by running this command:

diskutil list

You should see something like this:

/dev/disk1
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *16.0 GB    disk1
1:                        EFI                         209.7 MB   disk1s1
2:                  Apple_HFS Example                 15.7 GB    disk1s2

The partition we want to change is /dev/disk1.

We want to change the device to an MBR-formatted FAT32 partition. To do that, run this command:

sudo diskutil eraseDisk FAT32 NAME MBRFormat /dev/disk1

where NAME is the name you want to give to the disk.

As mentioned in the comments, you cannot put square brackets into the volume's name lest things mess up. To avoid having everything fail, simply ensure that there are no square brackets in the FAT32 volume's new name.

share|improve this answer
    
When I did the 'diskutil list' command, I got the following for disk1: /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *2.0 GB disk1 1: DOS_FAT_16 NO NAME 2.0 GB disk1s1 With the second command, I got: (In next comment) – TheWalkingCactus Jan 3 '13 at 18:38
    
Started erase on disk1 Unmounting disk Creating the partition map Waiting for the disks to reappear Formatting disk1s1 as MS-DOS (FAT32) with name [NAME] newfs_msdos: [NAME]: bad volume name Mounting disk Could not mount disk1s1 with name (null) after erase Error: -69832: File system formatter failed (Yeah, I left it as [Name] cuz I was in a hurry) – TheWalkingCactus Jan 3 '13 at 18:41
    
And it doesn't show up in finder, and plugging it in brings up a window saying "The disk you inserted was not readable by this computer" and the buttons "Initialize," "Ignore," and "Eject." – TheWalkingCactus Jan 3 '13 at 18:44
3  
I've learned something today: if you try to put square brackets into a FAT32 volume name, things will break badly. – Alex Plumb Jan 3 '13 at 20:08
1  
If the SD card is write-protected the result is a rather misleading error message. Perhaps you can include that in the answer? – Peter Mortensen Dec 25 '15 at 18:14
sudo diskutil eraseDisk FAT32 [NAME] MBRFormat /dev/disk1

Where [NAME] must be written in CAPITAL letters; otherwise, this will not work.


As mentioned in the comments, ensure that you use a tool such as diskutil to check which disk you are formatting. In the example above, the disk /dev/disk1 is being formatted. After finding the desired partition through a method such as calling diskutil list (This command lists the partitions on the system. See other answer for details), replace dev/disk1 with the desired partition.

share|improve this answer
5  
This answer is pretty risky if you haven't first used some tool like diskutil to determine which device your SD card is. On my machine, the SD card is /dev/disk2. Good thing I didn't follow this answer blindly! – LarsH Jan 19 '15 at 16:48
    
If the SD card is write-protected the result is a rather misleading error message. Perhaps you can include that in the answer? – Peter Mortensen Dec 25 '15 at 18:15

Your Answer

 
discard

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.