(link to 3DS:Dump system files for dumping boot9.bin and movable.sed, instead of including the steps here (makes it easier if someone already has these files)) |
StarlitSkies (talk | contribs) (fix instructions to actually be OS-agnostic rather than just looking like they are, improve troubleshooting, and major style fixes) |
||
(One intermediate revision by one other user not shown) | |||
Line 9: | Line 9: | ||
* A 3DS console with custom firmware | * A 3DS console with custom firmware | ||
* {{GitHub|ihaveamac/3DS-rom-tools/raw/master/seeddb/seeddb.bin|seeddb.bin}} | * {{GitHub|ihaveamac/3DS-rom-tools/raw/master/seeddb/seeddb.bin|seeddb.bin}} | ||
=== Section I - Preparing the files === | === Section I - Preparing the files === | ||
# Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9 | |||
# Navigate into the drive <code>[M:] MEMORY VIRTUAL</code> | |||
# Press {{B|A}} on <code>boot9.bin</code>, then select '''Copy to 0:/gm9/out''' | |||
# Press {{B|A}} to continue | |||
# Press {{B|B}} once to return to the main menu | |||
# Navigate into <code>[1:] SYSNAND CTRNAND</code> -> <code>private</code> | |||
# Press {{B|A}} on <code>movable.sed</code>, then select '''Copy to 0:/gm9/out''' | |||
# Turn the 3DS off | # Turn the 3DS off | ||
# Insert your SD card into your computer | # Insert your SD card into your computer | ||
Line 19: | Line 25: | ||
# Extract the contents of the downloaded <code>.zip</code> into a folder | # Extract the contents of the downloaded <code>.zip</code> into a folder | ||
#* This folder will be referred to as the "rebuild folder" from now on | #* This folder will be referred to as the "rebuild folder" from now on | ||
# Copy <code>movable.sed</code> and <code>boot9.bin</code> | # Copy <code>movable.sed</code> and <code>boot9.bin</code> from inside <code>sd:/gm9/out</code> and paste them into the rebuild folder | ||
# Copy <code>seeddb.bin</code> into the rebuild folder | # Copy <code>seeddb.bin</code> into the rebuild folder | ||
# Copy the <code>save3ds_fuse</code> binary from the save3ds <code>.zip</code> file into the rebuild folder | # Copy the <code>save3ds_fuse</code> binary from the save3ds <code>.zip</code> file into the rebuild folder | ||
Line 43: | Line 48: | ||
#* If they only appear in '''System Settings''' -> '''Data Management''', follow '''one''' of these sets of steps based on how they appear. | #* If they only appear in '''System Settings''' -> '''Data Management''', follow '''one''' of these sets of steps based on how they appear. | ||
#** Appear normally: Check the contents of <code>sd:/Nintendo 3DS/<id0>/<id1>/title/00040000</code>; there should only be more folders inside that folder. | #** Appear normally: Check the contents of <code>sd:/Nintendo 3DS/<id0>/<id1>/title/00040000</code>; there should only be more folders inside that folder. | ||
#*** If there is a file inside this folder, | #*** If there is a file inside this folder, you have data corruption that this guide cannot fix - Backup your SD card to your PC, [[Formatting an SD card|reformat it]], and then try to move the backed-up files back to the SD. If this fails, [[Checking SD card integrity|check it for hardware damage.]] | ||
#** Appear with a grey block count indicator and an X through their icons: Run [[3DS:Faketik|faketik]]. | #** Appear with a grey block count indicator and an X through their icons: Run [[3DS:Faketik|faketik]]. | ||
#** Appear with white/corrupted icons, 0 block count, and/or corrupted name: Whatever destroyed your <code>title.db</code> has also permanently corrupted your apps. Backup your SD card to your PC,[[Formatting an SD Card|reformat it]], and then [[Checking SD card integrity|check it for hardware damage]]. | #** Appear with white/corrupted icons, 0 block count, and/or corrupted name: Whatever destroyed your <code>title.db</code> has also permanently corrupted your apps. Backup your SD card to your PC,[[Formatting an SD Card|reformat it]], and then [[Checking SD card integrity|check it for hardware damage]]. |
Revision as of 23:39, 11 August 2024
This page is a guide to rebuilding the title.db
file in your SD card.
title.db
is the name for two files - one on the 3DS' SD card, and one on its CTRNAND - which contain a list of all installed 3DS titles for its respective part of the filesystem (e.g. your SD card's title.db
only has entries for titles installed to your SD card). For more information, check out 3dbrew.
What you need
- The latest release of save3ds for your operating system
- A version of Python 3.8 or later
- A 3DS console with custom firmware
- seeddb.bin
Section I - Preparing the files
- Press and hold START, and while holding START, power on your console. This will launch GodMode9
- Navigate into the drive
[M:] MEMORY VIRTUAL
- Press A on
boot9.bin
, then select Copy to 0:/gm9/out - Press A to continue
- Press B once to return to the main menu
- Navigate into
[1:] SYSNAND CTRNAND
->private
- Press A on
movable.sed
, then select Copy to 0:/gm9/out - Turn the 3DS off
- Insert your SD card into your computer
- Go to the Rebuild Title Database repo's page
- Click the Code button, then click Download ZIP
- Extract the contents of the downloaded
.zip
into a folder- This folder will be referred to as the "rebuild folder" from now on
- Copy
movable.sed
andboot9.bin
from insidesd:/gm9/out
and paste them into the rebuild folder - Copy
seeddb.bin
into the rebuild folder - Copy the
save3ds_fuse
binary from the save3ds.zip
file into the rebuild folder
Section II - Rebuilding the database
If you are not on Windows, replace py -3 with python3 in all commands. |
The commands in this section are case-sensitive. Enter them exactly as written, or there may be unintended consequences. |
- Navigate to the rebuild folder in file explorer
- Hold SHIFT and right-click anywhere in the folder's empty space, then click the option that opens a terminal, PowerShell, or Command Prompt
- In this new window, enter the following commands one at a time:
py -3 -V
- If this does not print the Python version, it is either not installed correctly, or the wrong command was used. Please read the note above.
py -3 -mpip install --user -r requirements.txt
py -3 fix-titledb.py -b boot9.bin -m movable.sed -s X:
- If you are on Windows, replace
X:
with your SD card's drive letter. If you are not on Windows, replaceX:
with your SD card's mount point.
- If you are on Windows, replace
py -3 rebuild-title-database.py -b boot9.bin -m movable.sed -S seeddb.bin -s X: -o out
./save3ds_fuse.exe --db sdtitle out --import --boot9 boot9.bin --movable movable.sed --sd X:
- If you are not on Windows, remove
.exe
from this command
- If you are not on Windows, remove
- If you didn't get any errors, your apps should reappear on the HOME Menu immediately
- If they only appear in System Settings -> Data Management, follow one of these sets of steps based on how they appear.
- Appear normally: Check the contents of
sd:/Nintendo 3DS/<id0>/<id1>/title/00040000
; there should only be more folders inside that folder.- If there is a file inside this folder, you have data corruption that this guide cannot fix - Backup your SD card to your PC, reformat it, and then try to move the backed-up files back to the SD. If this fails, check it for hardware damage.
- Appear with a grey block count indicator and an X through their icons: Run faketik.
- Appear with white/corrupted icons, 0 block count, and/or corrupted name: Whatever destroyed your
title.db
has also permanently corrupted your apps. Backup your SD card to your PC,reformat it, and then check it for hardware damage.
- Appear normally: Check the contents of
- If they do not appear anywhere in the system, you may want to check your SD card for hardware damage, as the apps are likely gone.
- If they only appear in System Settings -> Data Management, follow one of these sets of steps based on how they appear.
Troubleshooting
boot9.bin
is missing from[M:] MEMORY VIRTUAL
- Follow the steps to dump your system files for more in-depth instructions, including those for bootloaders other than boot9strap.
- The first command in Section II gave the error
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
- Make sure you are in the rebuild folder and that you extracted the contents of
rebuild-title-database-master.zip
into it.- Once this is fixed, delete the
out
folder and try the command again.
- Once this is fixed, delete the
- Make sure you are in the rebuild folder and that you extracted the contents of
- The third or fourth command in Section II failed
- Make sure you have
boot9.bin
andmovable.sed
in the rebuild folder. - Make sure your SD card is inserted and you can view and edit its contents.
- Make sure you have
- The fifth command in Section II failed