I wish to reformat my SD card to use normally again (it currently has one 78 MB FAT32 partition and one 3.9 GB Linux partition). How do I do this (on Windows/Mac/*nix)?
You can use
DISKPART in Windows, or the equivalent
fdisk command under Linux/Mac.
Start a command prompt, and start the DISKPART console. List all of your disks by typing
LIST DISK, then select the proper disk with
SELECT DISK # (where # is the SD card). You can then type
CLEAN to clear the partition table on the card, effectively blanking it. MAKE SURE YOU SELECTED THE PROPER DISK BEFORE RUNNING THE
To create a primary partition to reuse the space on the card, type
CREATE PARTITION PRIMARY. This will then reallocate the previously "cleaned" space.
To format, type
FORMAT FS=FAT32 QUICK, and finally, to reassign a drive letter, type
If you're unable to determine the proper disk, remove the SD card, run
LIST DISK, and then re-run it with the SD card inserted. The SD card is just the disk that has been added.
Note that the above commands are not case sensitive; I used caps to match the convention
In a terminal, start
fdisk /dev/sdx where
/dev/sdx is your SD card device (may depend on the Linux distro you're using, see below). You can then delete all existing partitions on the device by typing d, and then adding a single new partition & format it. You an also just type n to create a new partition table, and start laying everything out.
cfdisk is also another viable tool, which is basically
fdisk with a greatly improved user interface. In both cases, once the drive is formatted, you will lastly need to
If you're unable to determine the proper device, remove the SD card, run
fdisk -l, and then re-run it with the SD card inserted. The SD card is just the device that has been added.
On your camera
Most cameras have a built in Format function, which will use a single FAT partition. My camera even puts it on an erase block boundary.
For example, on my Pansonic Lumix, having inserted the card and from any mode, the menu as a Format entry. Selecting it brings up a menu asking me to confirm I wish to delete all the data on the card. Selecting Yes formats the card.
Currently, one of the best disk management utils seems to not have been mentioned - GParted:
This is included in many Linux distros, and can be installed easily otherwise. For other systems, it is possible to run it off of a DVD or USB stick, so it can be used there as well. The Linux part also means it supports the SD card format if it is
ext*, so it can be reformatted easily and efficiently, and less problems are likely to occur. Most disk utils, particuarly on Windows, will likely destroy any boot data on the SD card and muck it up in other ways.
Here a screenshot of GParted showing the contents of an SD card with Raspbian on:
Note: The boot partition will likely have a label or flag 'boot'
To carry out operations on a partition of an, right click on it, and select 'Unmount'. If a partition is mounted (shown by a set of keys next to the partition name), no operations can be done on it. Once it is unmounted, you can check it for errors, reformat it, rename it, delete and create a new one, etc.
Documentation on using GParted can be found here
There are some specific tools for SD cards only, but I like to use EaseUS Partition Tool which is free for Windows users. It will not work on Server Editions. * Please be aware that apparently they are bundling some software. Click on advanced options to prevent this.
You should take care to select your SD card from the list of devices as this tool will list all your drives. This shows how to resize a partition.
- The best bet is to complete delete any partitions on the SD card. This will include FAT and ext and possibly a SWAP. Just delete them so you can see a full unallocated 16 GB.
- No operations will be performed until you click APPLY. Once you have removed all partitions follow instructions to reload the distribution you like.
If, however in the list you see your card listed as 55 MB in total size and have no option to remove or expand it more that means the SD may be broken.
You can use a tool called SD Memory Card Formatter - Go that page, read the terms, scroll down and accept if you agree. This software will only format external devices. Like SD Card or USB Device.
Select options QUICK and FORMAT SIZE ADJUSTMENT : ON!
That should reset the entire SD card to its original size. If an error occurs at this point it is more likely the card is completely damages.
As a last resort you can try and format the card in a dSLR camera or mobile phone that accepts the card.
This is my 4 GB Raspbian SD card. I used Windows management tools. Yes, it shows it, but it won't let you do anything to the partitions just in case ... you delete it or Windows corrupts something (because it does not support that file system).
EaseUS partition master shows a much better list and understands that file systems used. Right click and delete the partitions. You can create new partitions too and apply everything and you will have the whole SD card back to use in Windows or if you want to burn another image to the card.
Here I have deleted the partitions. Right clicked and said "Create new partition". There is a whole list of file system types. I did not click apply, so no operation has been done yet.
Something of note when using the official SD Formatter tool. (This really should be a comment, but apparently i can't add a screen grab to a comment.)
this tripped me up for a day or so. I ran the SD Formatter thinking it would repair my SD card. I observed that drive J: size was only 60Mb. It's a 16Gb card. I thought that (as per the format tool I've been using for the last 30 years) that it would only format the 60Mb partition.
MISTAKE. It actually repartitions the device to a single full-size partition and then formats it (in this case to its full 16Gb - see foreground window compared to background window). This is the tool you need. Hands down. no questions asked!!
I had a very similar issue. My set up: Computer running on Windows 7 and Sandisk ultra card 16 GB.
I wanted to format my card for installing OpenELEC. So I downloaded SD formatter and tried formatting it. It became a 64 MB card! I tried multiple settings, tried diskpart on CMD and clean format using computer management/disk management console - no luck. Always winimg writer claimed there was no sufficient space on the card. Earlier (that is before using SD formatter) it will expand the space and will install, and I subsequently used expand command on the Raspberry Pi terminal. So here is what I did:
I downloaded BerryBoot (note it is 28 MB!), wrote the image on the SD card and booted the Raspberry Pi. BerryBoot reformatted the same using its own in built program. Now I took the card out and formatted it using the format tool on Windows with FAT. I took the card out and reinserted. Now it reads 14.4 GB! Any one stuck like this can try this out.
It is no good on Mac with the latest OS X. The card can't be erased in any way.