SD Card Setup

Join the DS(i) Mode Hacking! Discord server for guide development and help.


This page is for preparing your SD card for your Nintendo DSi. In the process, we’ll format the SD card to a format suitable for the Nintendo DSi and check the card for errors.

Make sure to backup your SD card contents BEFORE following this. Your SD card will be WIPED in the process.

Windows macOS Linux

Section I - Formatting your SD card

  1. Download the latest version of GUIFormat
    • Click the picture to download it
  2. Run GUIFormat with Administrator permissions
  3. Select your drive letter
  4. Set your Allocation size unit it to 32768
    • If this is too large for your SD, set it to the highest one that works
  5. Make sure the Quick Format check box is checked
  6. Start the format process

Section II - Checking for errors

  1. Go to the properties window of your SD card
    • Windows Explorer -> This PC -> Right click your SD card -> Properties
  2. In the tools tab, Select Check Now
  3. Check both Automatically fix file system errors and Scan for and attempt recovery of bad sectors
  4. Start the checking process

This will scan the SD card and correct any errors it finds

Section III - Checking SD card read/write

  1. Download and extract the h2testw archive anywhere on your computer.
    • It can also be extracted on an external device as long as that external device isn’t your SD card
  2. With your SD card inserted into your computer, run h2testw.exe
  3. Select which language you’d like to see h2testw in
  4. Set your SD card’s drive letter as your target
  5. Ensure all available space is selected
  6. Click Write + Verify
    • Wait until the process is completed

If the test shows the result Test finished without errors, your SD card is good and you can delete all .h2w files on your SD card

If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!

Section I - Determining which slot your SD card is in

  1. Make sure your SD card is not inserted into your Linux machine
  2. Launch the Linux Terminal
  3. Type watch "lsblk"
  4. Insert your SD card into your Linux machine
  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 mount point. In our example above, it was mmcblk0
    • If RO is set to 1, make sure the lock switch is not slid down
  7. Hit CTRL + C to exit the menu

Section II - Formatting the card

  1. Type in sudo cfdisk /dev/(device mount point from above)
  2. On each partition, hit Delete
  3. Create a new Primary partition that covers the size of your entire SD card
    • This will create a new partition with the linux filetype
  4. Select type and take a look at the menu
  5. Find W95 FAT32 and take note of the code on the left side of that text
  6. Press any key, then enter the code you took note of in the previous step
  7. Hit enter, then hit Quit

Section III - Using F3

  1. Download and extract the F3 archive anywhere on your computer.
  2. Launch the terminal in the F3 directory
  3. Run make to compile F3
  4. With your SD card inserted and mounted, run ./f3write <your sd card mount point>
    • Wait until the process is complete. See below for an example output:
      $ ./f3write /media/michel/6135-3363/
      Free space: 29.71 GB
      Creating file 1.h2w ... OK!
      ...
      Creating file 30.h2w ... OK!
      Free space: 0.00 Byte
      Average Writing speed: 4.90 MB/s
      
  5. Run ./f3read <your sd card mount point>
    • Wait until the process is complete. See below for an example output:
      $ ./f3read /media/michel/6135-3363/
                      SECTORS      ok/corrupted/changed/overwritten
      Validating file 1.h2w ... 2097152/        0/      0/      0
      ...
      Validating file 30.h2w ... 1491904/        0/      0/      0
      
       Data OK: 29.71 GB (62309312 sectors)
      Data LOST: 0.00 Byte (0 sectors)
                Corrupted: 0.00 Byte (0 sectors)
       Slightly changed: 0.00 Byte (0 sectors)
             Overwritten: 0.00 Byte (0 sectors)
      Average Reading speed: 9.42 MB/s
      

If the test shows the result Data LOST: 0.00 Byte (0 sectors) your SD card is good and you can delete all .h2w files on your SD card

If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!

Section I - Formatting your SD card

OS X El Capitan (10.11) and later

  1. Launch the Disk Utility application
  2. Select Show All Devices in the top-left View panel
  3. Select your SD card from the sidebar
    • Make sure you choose the correct device, otherwise you might accidentally erase the wrong drive!
  4. Click Erase at the top
  5. Ensure that Format is set to MS-DOS (FAT)
  6. Ensure that Scheme is set to Master Boot Record
    • If Scheme does not appear, click Cancel and make sure to choose the device instead of a volume
  7. Click Erase, then click Close

OS X Yosemite (10.10) and earlier

  1. Launch the Disk Utility application
  2. Select your SD card from the sidebar
    • Make sure you choose the correct device, otherwise you might accidentally erase the wrong drive!
  3. Click Partition at the top
    • If Partition does not appear, make sure to choose the device instead of a volume
  4. Ensure that Partition Layout is set to 1 Partition
  5. Ensure that Format is set to MS-DOS (FAT)
  6. From the Options button (below the partition table), select Master Boot Record.
  7. Click OK -> Apply -> Partition

Section II - Using F3

  1. Open Terminal
  2. Install F3 from brew by running brew install f3
    • If you don’t have brew, install it with the instructions on brew.sh
  3. With your SD card inserted and mounted, run f3write <your sd card mount point>
    • Wait until the process is complete. See below for an example output:
      $ f3write /Volumes/SD\ CARD
      Free space: 29.71 GB
      Creating file 1.h2w ... OK!
      ...
      Creating file 30.h2w ... OK!
      Free space: 0.00 Byte
      Average Writing speed: 4.90 MB/s
      
  4. Run f3read <your sd card mount point>
    • Wait until the process is complete. See below for an example output:
      $ f3read /Volumes/SD\ CARD
                      SECTORS      ok/corrupted/changed/overwritten
      Validating file 1.h2w ... 2097152/        0/      0/      0
      ...
      Validating file 30.h2w ... 1491904/        0/      0/      0
      
       Data OK: 29.71 GB (62309312 sectors)
      Data LOST: 0.00 Byte (0 sectors)
                Corrupted: 0.00 Byte (0 sectors)
       Slightly changed: 0.00 Byte (0 sectors)
             Overwritten: 0.00 Byte (0 sectors)
      Average Reading speed: 9.42 MB/s
      

If the test shows the result Data LOST: 0.00 Byte (0 sectors) your SD card is good and you can delete all .h2w files on your SD card

If the test shows any other results, your SD card may be corrupted or damaged and you may have to replace it!

You can now restore the contents of your SD card and continue.