How to Write, Format and Manage an SD Card in Linux

Ads by Google

SD cards play a special role for Linux desktop users. Yes, they serve as a way to store photos or video and get both onto your hard drive. They also provide a simple way to expand how many files you can carry about on a laptop. But in many cases, these little squares of portable storage are what you need to turn your Windows or Mac OS X machine into a Linux box in the first place.

With SD cards solving so many problems, it’s important that you know how to manage them. Mistakes can happen, and they tend to result in losing data. No one wants that.

There are multiple ways to configure your SD cards, either from the command line or using a handful of graphical applications. Here’s how you do it.

What Is a Partition Manager?

A partition is a region of digital storage space. This can be your entire hard drive, but this isn’t always the case. Dual booters will have a portion dedicated to whichever Linux distribution is installed, and another allocated to Windows. Some use partitions to keep their operating system separate from their personal files. Usually there’s also a separate partition for swap.

A partition editor is a tool for managing these partitions. These are what you use to format SD cards, create new partitions, or make duplicates.

SD cards typically come with one partition, but you can break a 32GB card into two 16GB ones if you desire.

Ads by Google

Here you can see the 2GB card I’ve inserted into my computer.

LinuxManageSDCards-GNOME-Disks

Memory cards are commonly assigned a simple device name like /dev/sda, /dev/sdb, or /dev/sdc. That’s not always the case. Above, I’m being shown the significantly longer /dev/mmcblk0p1. If I were to use the command line, as I will explain later, this is the location I would enter.

Another way to find the name is by entering into the terminal:

mount

You will get a long list of results, so this approach is recommended for people who already have some idea of what they’re looking for. Even then, I typically prefer to fire up whichever partition manager comes pre-installed.

Some desktop environments and distributions come with their own partition editors. GNOME Disks (pictured above) integrates with the GNOME 3.x desktop,while KDE users may want the KDE Partition Manager. Many distributions still use GParted. All essentially do the same thing.

If you’re looking for a single piece of software that doesn’t require installing additional software and works across Linux distributions, dd is your best bet. This command line tool makes backing up your SD card and writing an image a straightforward, one-line task. But you need to be careful, because the wrong command can wipe the contents of your entire hard drive.

Format an SD Card

Partition editors will generally give you an option to select a partition and format it into a new one. If you want to give away or recycle a card, you can opt to thoroughly erase all of its contents. This process takes a while, so if you’re merely looking to clear the data on a card so that you can put more stuff on it or intend to turn it into a bootable Linux drive, choosing the faster option is fine.

You have to choose a partition type when you do this. The FAT format will work across various desktop operating systems, and this is how most SD cards begin their life. Chances are, that is the option you want.

LinuxManageSDCards-GNOME-Disks-Format

To wipe a card using the command line, we turn to dd. The command below will wipe all data from your card and replace it with zeroes. It’s not impossible to recover data erased this way, but most people won’t be able to.

dd if=/dev/zero of=/dev/sdc

In dd commands, the if parameter determines the source of the data. The of indicates the destination. Here, we’re copying zeroes onto /dev/sdc. Replace this with whatever location your computer assigns your card, as mentioned above.

After running this command, you may need to create a new partition. Maybe even two.

Create a Separate Partition

Creating a separate partition out of one you’re currently using is a risky way to lose data, though you can try doing so using a GParted Live CD. To play it safe, back up your data and start fresh. Erase your current partition either by tapping the icon or selecting the option from a menu. Then tap the + icon or select the option to create a new one.

Instead of using all of the available space, choose a new amount. Here I’m laying down the foundation for two partitions of the same size.

LinuxManageSDCards-GNOME-Disks-Create-Partition

Repeat this process for as many partitions as you want to create.

If you want to do this from the command line, you can turn to fdisk to make the magic happen.

Back up an SD Card

The most straightforward way to back up your SD card is to open a file manager and copy over the files into a folder on your computer. Personally, that’s all I feel the need to do. But this method admittedly isn’t the best if you’re looking to make identical copies or store numerous backups.

In that case, you want to create a partition image. Changes are, you can find this option in your partition editor.

LinuxManageSDCards-GNOME-Disks-Partition-Image

To do the same thing using dd, you will open a terminal and enter a line that looks like this.

dd if=/dev/sdc of=sdcard.img

The command above backs up the contents of your SD card to an .img file in your home folder, allowing you to restore an identical copy later on. You need to have as much free space on your hard drive as the size of the SD card, meaning a 32GB card will consume 32GB on your computer. Waiting for the task to complete can take a while, and it will look like dd has stopped working. Just be patient.

Restore a Backup Image

When you’re ready to restore your SD card, you will simply flip the two destinations in dd.

dd if=sdcard.img of=/dev/sdc

In a partition editor, you use the option to restore an image. This will prompt you to select an image you’ve previously created to write to your SD card.

LinuxManageSDCards-GNOME-Disks-Restore-Partition

Create a Bootable SD Card

To boot Linux from an SD card using dd, first download the image of the Linux distribution you’re looking to test or install. Then insert the path to that file as the if parameter, just as you would when restoring an SD card. For example:

dd if=/home/user/Downloads/parabola-2015.11.11-dual.iso of=/dev/sdc

This is the last of the dd commands I’m covering here. Just know, dd is powerful enough to clone your entire hard drive, even if you’re moving terabytes of data. When you’re ready to tackle more advanced commands, you can find a list over on the dd Wikipedia page. But again, be careful. You do not want to enter these in a hurry.

If you want to avoid the command line, search your distribution’s package manager for a live USB stick creator. Ubuntu has the Startup Disk Creator. Fedora has the Live USB Creator. These and other distributions work with UNetbootin. Using one of these tools, you select the Linux image you wish to install (or have the application download one on the spot) and designate your SD card as the target device.

LinuxManageSDCards-Fedora-LiveUSB-Creator

SD Cards: Versatile and Compact

SD cards have many advantages over flash drives. They’re thinner, lighter, and easier to carry in bulk. Since they typically sit flush with the side of a computer, it’s possible to plug them in full-time in a way you typically can only do with the tiniest of flash drives, and they still protrude less.

If you prefer flash drives, that’s fine too. The tools for managing one typically work with the other.

What advice would you recommend for people looking to manage their SD cards? Have you ever put multiple partitions on a single card? Do you use one as a live operating system? Share your experience with others in the comments below!

Image Credits:penguin holding by Asfia via Shutterstock

Join live MakeUseOf Groups on Grouvi App Join live Groups on Grouvi
Master the Linux Command Line
Master the Linux Command Line
352 Members
Linux for New Switchers
Linux for New Switchers
227 Members
Best Linux Apps
Best Linux Apps
226 Members
Linux Distros Talk
Linux Distros Talk
120 Members
Affiliate Disclamer

This article may contain affiliate links, which pays us a small compensation if you do decide to make a purchase based on our recommendation. Our judgement is in no way biased, and our recommendations are always based on the merits of the items.

For more details, please read our disclosure.
New comment

Please login to avoid entering captcha

Log In