SD Clean/Linux: Difference between revisions

From Hacks Guide Wiki
m (unfuck the crosslinks)
m (more assorted fixes, because i only ever notice issues one at a time for some reason)
Line 10: Line 10:


# Make sure your SD card is '''not''' inserted
# Make sure your SD card is '''not''' inserted
# Launch the linux terminal and type <code>wqatch lsblk</code>.
# Open a terminal window and type <code>watch lsblk</code>.
## Observe the output. It should match something like this: {{#tag:syntaxhighlight|
## Observe the output. It should match something like this: {{#tag:syntaxhighlight|
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
Line 16: Line 16:
└─mmcblk0p1 179:1    0  3,7G  0 part /run/media/user/FFFF-FFFF
└─mmcblk0p1 179:1    0  3,7G  0 part /run/media/user/FFFF-FFFF
|lang=text}}
|lang=text}}
# Take note of the device name. In our example above, it was <code>mmcblk0p1</code>
# Take note of the device name. In our example above, it was <code>mmcblk0p1</code>.
#* 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.
# For each partition of the disk, type <code>umount /dev/sdXi</code>.
# For each partition of the disk, type <code>umount /dev/<device name>i</code>.
#* Replace <code>i</code> with the partition number you are unmounting.
#* Replace <code>i</code> with the partition number you are unmounting.
# Type <code>fdisk <disk label></code>.
# Type <code>fdisk /dev/<device name></code>.
# Type <code>o</code>, then type <code>n</code> and press ENTER on all prompts.
# Type <code>o</code>, then type <code>n</code> and press ENTER on all prompts.
#* 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.
Line 27: Line 27:
# Type <code>a</code> and then <code>p</code>. Observe the output and make sure the device is now formatted correctly.
# Type <code>a</code> and then <code>p</code>. Observe the output and make sure the device is now formatted correctly.
# If there are no issues, type <code>w</code>. This will save changes and exit the fdisk prompt.  
# If there are no issues, type <code>w</code>. This will save changes and exit the fdisk prompt.  
# Type <code>sudo mkfs.vfat /dev/sdX1 -s 64</code> to reformat the new partition.
# Type <code>sudo mkfs.vfat /dev/(device 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 (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.

Revision as of 22:01, 26 March 2023

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

OOjs UI icon information-warning.svg Before beginning these steps, copy all of your SD card's contents to a folder on your computer.
OOjs UI icon information-warning.svg The commands in this guide are case-sensitive. Enter them exactly as written, or there may be unintended consequences.
  1. Make sure your SD card is not inserted
  2. Open a terminal window and type watch lsblk.
    1. Observe the output. 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
      
  3. Take note of the device name. In our example above, it was mmcblk0p1.
    • If RO is set to 1, make sure the lock switch is not slid down.
  4. Hit CTRL + C to exit the menu.
  5. For each partition of the disk, type umount /dev/<device name>i.
    • Replace i with the partition number you are unmounting.
  6. Type fdisk /dev/<device name>.
  7. Type o, then type n and press ENTER on all prompts.
    • If it asks whether to remove a VFAT signature, choose to remove it.
  8. Once you are back at fdisk's main menu, type t and then type 0c.
  9. Type a and then p. Observe the output and make sure the device is now formatted correctly.
  10. If there are no issues, type w. This will save changes and exit the fdisk prompt.
  11. 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.
  12. Type sudo eject /dev/(device name), then remove and reinsert the SD card.
  13. Copy your data back onto the SD card.