< SD Clean
This is an add-on section for completely recreating an SD card's filesystem using either fdisk and mkfs or GParted. This should only be done if formatting does not fix your issue or is not possible for some reason.
This page is for Linux users only. If you are not on Linux, see the Windows and/or Mac pages instead.
Instructions
Before beginning these steps, copy all of your SD card's contents to a folder on your computer. |
Command line
The commands in this guide are case-sensitive. Enter them exactly as written, or there may be unintended consequences. |
- Make sure your SD card is not inserted.
- Open a terminal window and type
watch lsblk
. - Insert the SD card and watch for a new device appearing in lsblk.
- Observe the output for the new device. It should match something like this:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 3,8G 0 disk └─mmcblk0p1 179:1 0 3,7G 0 part /run/media/user/FFFF-FFFF
- Observe the output for the new device. It should match something like this:
- Take note of the name of the device that now appears. In our example above, it was
mmcblk0p1
.- If
RO
is set to 1, make sure the lock switch is not slid down.
- If
- Hit CTRL + C to exit the menu.
- For each partition of the disk, type
umount /dev/<device name>i
.- Replace
i
with the partition number you are unmounting.
- Replace
- Type
fdisk /dev/<device name>
. - Type
o
, then typen
and press ENTER on all prompts.- If it asks whether to remove a VFAT signature, choose to remove it.
- Once you are back at fdisk's main menu, type
t
and then type0c
. - Type
a
and thenp
. Observe the output and make sure the device is now formatted correctly. - If there are no issues, type
w
. This will save changes and exit the fdisk prompt. - Type
sudo mkfs.vfat /dev/(device name) -s 64
to reformat the new partition.- If the SD card is over 32GB in size, change 64 to
128
.
- If the SD card is over 32GB in size, change 64 to
- Type
sudo eject /dev/(device name)
, then remove and reinsert the SD card. - Copy your data back onto the SD card.
GParted
- Open GParted.
- If you do not have GParted installed, install it using your package manager of choice, such as follows:
- Debian-based:
sudo apt-get install gparted
- Fedora-based:
sudo dnf install gparted
- Arch-based:
sudo pacman -S gparted
- Debian-based:
- If you do not have GParted installed, install it using your package manager of choice, such as follows:
- Find your SD card in the drive list and select it.
- Open the Device tab and select "Create Partition Table..."
- If this fails saying there are active partitions, open the Partition tab and select "Unmount".
- Select
msdos
partition type and click "Apply". - Right-click on the new "unallocated" space and click "New".
- Change the filesystem to "fat32", and optionally choose any label that does not start with
3ds
. Leave all other settings intact. - Click "Add", then press the "Apply All Operations" button and click "Apply".
- Close GParted, then remove and reinsert the SD card.
- Copy your data back onto the SD card.