Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Formatting an SD card/Linux: Difference between revisions

From Hacks Guide Wiki
m (fix placement of second image in KDE Partition Manager tab)
(make generic (remove mentions of 3DS))
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Page WIP|notes=
*This page needs to actually do repartitioning properly, or else on certain SD cards that come with exFAT, the partition table won't be updated to reflect this. Maybe use fdisk for this?
*GUI options for people who can use that such as GNOME Disks or GParted (which can be installed with most package managers).
}}
This is an add-on section for formatting an SD card to FAT32.
This is an add-on section for formatting an SD card to FAT32.


Line 4: Line 9:


== Instructions ==
== Instructions ==
{{warning|Before beginning these steps, copy all of your SD card's contents to a folder on your computer.}}
{{warning|The commands in this guide are case-sensitive. Enter them exactly as written, or there may be unintended consequences.}}
<tabber>
|-|fdisk=
<span>
# Make sure your SD card is '''not''' inserted
# Open a terminal window and type <code>watch lsblk</code>
# 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  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
|lang=text}}
# 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
# Hit CTRL + C to exit the menu
# Type <code>sudo umount /dev/<device name>*</code> (do not replace the <code>*</code>)
# Install the <code>fdisk</code> and <code>dosfstools</code> packages using your package manager of choice
# Type <code>sudo fdisk /dev/<device name></code>
# Enter <code>o</code>, this will create a new MBR partition scheme
# Enter <code>n</code>, then press enter until you're returned to the prompt
#* The default values will work fine for all consoles
# Enter <code>t</code>, 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: {{#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
# 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>
# Type <code>sudo eject /dev/<device name></code>, then remove and reinsert the SD card
# Copy your data back onto the SD card
</span>


|-|parted=
<span>
# 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>
# Launch the Linux Terminal
# Insert the SD card and watch for a new device appearing in lsblk
# Type <code>watch "lsblk"</code>
# Observe the output for the new device. It should match something like this: {{#tag:syntaxhighlight|
# Insert your SD card into your PC
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
# Observe the output. It should match something like this: {{#tag:syntaxhighlight|
mmcblk0    179:0    0 29.7G 0 disk  
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
└─mmcblk0p1 179:1    0 29.5G 0 part /run/media/user/FFFF-FFFF
mmcblk0    179:0    0   3,8G 0 disk
└─mmcblk0p1 179:1    0   3,7G 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>mmcblk0</code>, but it could show up as <code>sda</code> or <code>sdb</code>, if you use a USB adapter
# 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
# Install the <code>parted</code> and <code>dosfstools</code> packages using your package manager of choice
# Type in the following for your SD card:
# Type <code>sudo parted /dev/<device name> mklabel msdos</code>
#* 2GB or lower: <code>sudo mkfs.fat /dev/(device name from above) -s 64 -F 16</code>
# Type <code>sudo parted -a opt /dev/<device name> mkpart primary fat32 0% 100%</code>
#** This creates a single FAT16 partition with 32 KB cluster size on the SD card
# Type <code>sudo mkfs.vfat /dev/<partition name> -s 64</code> to reformat the new partition
#* 4GB - 128GB: <code>sudo mkfs.fat /dev/(device name from above) -s 64 -F 32</code>
#* If the SD card is over 32GB in size, change <code>64</code> to <code>128</code>
#** This creates a single FAT32 partition with 32 KB cluster size on the SD card
# Type <code>sudo eject /dev/<device name></code>, then remove and reinsert the SD card
#* 128GB or higher: <code>sudo mkfs.fat /dev/(device name from above) -s 128 -F 32</code>
# Copy your data back onto the SD card
#** This creates a single FAT32 partition with 64 KB cluster size on the SD card
</span>


|-|KDE Partition Manager=
<span>
# Make sure your SD card is '''not''' inserted
# Open KDE Partition Manager, inputting your password as needed
# Insert your SD card and click <code>Refresh Devices</code>. The new device that shows up in the left pane is your SD card
# Click your SD card, then click the <code>New Partition Table</code> button at the top of the window
# When asked, choose <code>Ms-Dos</code>. Do '''NOT''' use <code>GPT</code>
#* [[File:KDE Partition Manager - MBR.png]]
# Right click the <code>unallocted</code> space in the right pane and select <code>New</code>
# When selecting your filesystem, choose <code>FAT32</code> from the drop-down menu. The window should look like this:
#* [[File:KDE Partition Manager - New Partition.png]]
# Click <code>OK</code>, then click <code>Apply</code>, then <code>Apply Pending Operations</code>
# Eject and reinsert your SD card
# Copy your data back onto the SD card
</tabber>
{{hg imported|Guide_3DS}}
{{hg imported|Guide_3DS}}


[[Category:General guides]]
[[Category:General guides]]

Revision as of 09:19, 11 March 2023

This is an add-on section for formatting an SD card to FAT32.

This page is for Linux users only. If you are not on Linux, check out the Windows or Mac pages.

Instructions

  1. Make sure your SD card is not inserted
  2. Launch the Linux Terminal
  3. Type watch "lsblk"
  4. Insert your SD card into your PC
  5. 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
    
  6. 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
  7. Hit CTRL + C to exit the menu
  8. Type in the following for your SD card:
    • 2GB or lower: sudo mkfs.fat /dev/(device name from above) -s 64 -F 16
      • This creates a single FAT16 partition with 32 KB cluster size on the SD card
    • 4GB - 128GB: sudo mkfs.fat /dev/(device name from above) -s 64 -F 32
      • This creates a single FAT32 partition with 32 KB cluster size on the SD card
    • 128GB or higher: sudo mkfs.fat /dev/(device name from above) -s 128 -F 32
      • This creates a single FAT32 partition with 64 KB cluster size on the SD card