< SD Clean
StarlitSkies (talk | contribs) m (forgot to add a sudo for fdisk) |
m (add category) |
||
(One intermediate revision by one other user not shown) | |||
Line 8: | Line 8: | ||
{{warning|The commands in this guide are case-sensitive. Enter them exactly as written, or there may be unintended consequences.}} | {{warning|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 | # Make sure your SD card is '''not''' inserted | ||
# Open a terminal window and type <code>watch lsblk</code> | # Open a terminal window and type <code>watch lsblk</code> | ||
# Insert the SD card and watch for a new device appearing in 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: {{#tag:syntaxhighlight| | ||
NAME MAJ:MIN RM | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
mmcblk0 179:0 0 | mmcblk0 179:0 0 29.7G 0 disk | ||
└─mmcblk0p1 179:1 0 | └─mmcblk0p1 179:1 0 29.5G 0 part /run/media/user/FFFF-FFFF | ||
|lang=text}} | |lang=text}} | ||
# Take note of the name of the device that now appears. In our example above, it was <code> | # Take note of the name of the device that now appears. In our example above, it was <code>mmcblk0</code>, but it could show up as <code>sda</code> or <code>sdb</code>, if you use a USB adapter | ||
#* If <code>RO</code> is set to 1, make sure the lock switch is not slid down | #* If <code>RO</code> is set to 1, make sure the lock switch is not slid down | ||
# Hit CTRL + C to exit the menu | # Hit CTRL + C to exit the menu | ||
# | # Type <code>sudo umount /dev/<device name>*</code> (do not replace the <code>*</code>) | ||
# Type <code>sudo fdisk /dev/<device name></code>. | # Type <code>sudo fdisk /dev/<device name></code>. | ||
# Enter <code>o</code>, then enter <code>n</code> and go through all the resulting prompts without changing settings. | # Enter <code>o</code>, then enter <code>n</code> and go through all the resulting prompts without changing settings. | ||
#* If it asks whether to remove a VFAT signature, choose to remove it. | #* If it asks whether to remove a VFAT signature, choose to remove it. | ||
# Once you are back at fdisk's main menu, enter <code>t</code> and then enter <code>0c</code> | # Once you are back at fdisk's main menu, enter <code>t</code> and then enter <code>0c</code> | ||
# Enter <code>a</code> and then <code>p</code> - observe the output, and make sure the device is now formatted correctly. | # Enter <code>a</code> and then <code>p</code> - observe the output, and make sure the device is now formatted correctly: : {{#tag:syntaxhighlight| | ||
Disk /dev/mmcblk0: 29.72 GiB, 31914983424 bytes, 62333952 sectors | |||
Units: sectors of 1 * 512 = 512 bytes | |||
Sector size (logical/physical): 512 bytes / 512 bytes | |||
I/O size (minimum/optimal): 512 bytes / 512 bytes | |||
Disklabel type: dos | |||
Disk identifier: 0x######## | |||
Device Boot Start End Sectors Size Id Type | |||
/dev/<partition name> 8192 62333951 62325760 29.7G c W95 FAT32 (LBA) | |||
|lang=text}} | |||
# If there are no issues, enter <code>w</code> - this will save changes and exit the fdisk prompt. | # If there are no issues, enter <code>w</code> - this will save changes and exit the fdisk prompt. | ||
# Type <code>sudo mkfs.vfat /dev/< | # Type <code>sudo mkfs.vfat /dev/<partition name> -s 64</code> to reformat the new partition. | ||
#* If the SD card is over 32GB in size, change </code>64</code> to <code>128</code> | #* If the SD card is over 32GB in size, change </code>64</code> to <code>128</code> | ||
# Type <code>sudo eject /dev/<device name></code>, then remove and reinsert the SD card. | # Type <code>sudo eject /dev/<device name></code>, then remove and reinsert the SD card. | ||
# Copy your data back onto the SD card. | # Copy your data back onto the SD card. | ||
[[Category:General guides]] |
Latest revision as of 17:09, 6 September 2024
This is an add-on section for completely recreating an SD card's filesystem using fdisk and mkfs. 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. |
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 29.7G 0 disk └─mmcblk0p1 179:1 0 29.5G 0 part /run/media/user/FFFF-FFFF
- Take note of the name of the device that now appears. In our example above, it was
mmcblk0
, but it could show up assda
orsdb
, if you use a USB adapter- If
RO
is set to 1, make sure the lock switch is not slid down
- If
- Hit CTRL + C to exit the menu
- Type
sudo umount /dev/<device name>*
(do not replace the*
) - Type
sudo fdisk /dev/<device name>
. - Enter
o
, then entern
and go through all the resulting prompts without changing settings.- If it asks whether to remove a VFAT signature, choose to remove it.
- Once you are back at fdisk's main menu, enter
t
and then enter0c
- Enter
a
and thenp
- observe the output, and make sure the device is now formatted correctly: :Disk /dev/mmcblk0: 29.72 GiB, 31914983424 bytes, 62333952 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x######## Device Boot Start End Sectors Size Id Type /dev/<partition name> 8192 62333951 62325760 29.7G c W95 FAT32 (LBA)
- If there are no issues, enter
w
- this will save changes and exit the fdisk prompt. - Type
sudo mkfs.vfat /dev/<partition 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.