Approver
395
edits
(→Section II - Rebuilding the Database: capital V) |
StarlitSkies (talk | contribs) (fix instructions to actually be OS-agnostic rather than just looking like they are, improve troubleshooting, and major style fixes) |
||
Line 1: | Line 1: | ||
This | This page is a guide to rebuilding the <code>title.db</code> file in your SD card. | ||
<code>title.db</code> is | <code>title.db</code> 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 <code>title.db</code> only has entries for titles installed to your SD card). For more information, check out [[3dbrew:Title Database|3dbrew]]. | ||
=== What you need === | === What you need === | ||
* The latest release of | * The latest release of {{GitHub|wwylele/save3ds/releases/latest|save3ds}} for your operating system | ||
* A version of [https://www.python.org/downloads/ Python 3.8 or later] | * A version of [https://www.python.org/downloads/ Python 3.8 or later] | ||
* A 3DS console with custom firmware | * A 3DS console with custom firmware | ||
* | * {{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 <code>[M:] MEMORY VIRTUAL</code> | # 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}} on <code>boot9.bin</code>, then select '''Copy to 0:/gm9/out''' | ||
# Press {{B|A}} to continue | # Press {{B|A}} to continue | ||
# Press {{B|B}} once to return to the main menu | # Press {{B|B}} once to return to the main menu | ||
Line 20: | Line 20: | ||
# Press {{B|A}} on <code>movable.sed</code>, then select '''Copy to 0:/gm9/out''' | # Press {{B|A}} on <code>movable.sed</code>, then select '''Copy to 0:/gm9/out''' | ||
# Turn the 3DS off | # Turn the 3DS off | ||
# Insert | # Insert your SD card into your computer | ||
# Go to | # Go to the {{GitHub|ihaveamac/rebuild-title-database|Rebuild Title Database}} repo's page | ||
# Click the <big><span style="background:#008000">Code</span></big> button, then click '''Download ZIP''' | # Click the <big><span style="background:#008000">Code</span></big> button, then click '''Download ZIP''' | ||
# 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> 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 <code>save3ds_fuse | # Copy the <code>save3ds_fuse</code> binary from the save3ds <code>.zip</code> file into the rebuild folder | ||
=== Section II - Rebuilding the | === Section II - Rebuilding the database === | ||
{{info|If you are not on Windows, replace <code>py -3</code> with <code>python3</code> in all commands.}} | {{info|If you are not on Windows, replace <code>py -3</code> with <code>python3</code> in all commands.}} | ||
{{warning|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 | # Navigate to the rebuild folder in file explorer | ||
Line 37: | Line 38: | ||
# In this new window, enter the following commands one at a time: | # In this new window, enter the following commands one at a time: | ||
## <code>py -3 -V</code> | ## <code>py -3 -V</code> | ||
##* 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. | ##* 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. | ||
## <code>py -3 -mpip install --user -r requirements.txt</code> | ## <code>py -3 -mpip install --user -r requirements.txt</code> | ||
## <code>py -3 fix-titledb.py -b boot9.bin -m movable.sed -s X:</code> | ## <code>py -3 fix-titledb.py -b boot9.bin -m movable.sed -s X:</code> | ||
##* If you are on Windows, replace <code>X:</code> with your SD card's drive letter. If you are not on Windows, replace <code>X:</code> with your SD card's mount point. | |||
## <code>py -3 rebuild-title-database.py -b boot9.bin -m movable.sed -S seeddb.bin -s X: -o out</code> | ## <code>py -3 rebuild-title-database.py -b boot9.bin -m movable.sed -S seeddb.bin -s X: -o out</code> | ||
## <code>./save3ds_fuse.exe --db sdtitle out --import --boot9 boot9.bin --movable movable.sed --sd X:</code> | |||
## <code>./save3ds_fuse --db sdtitle out --import --boot9 boot9.bin --movable movable.sed --sd X:</code> | ##* If you are not on Windows, remove <code>.exe</code> from this command | ||
##* | |||
# If you didn't get any errors, your apps should reappear on the HOME Menu immediately | # 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''' | #* If they only appear in '''System Settings''' -> '''Data Management''', follow '''one''' of these sets of steps based on how they appear. | ||
#* If they do not appear anywhere in the system, you | #** 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, 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 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]]. | |||
#* If they do not appear anywhere in the system, you may want to [[Checking SD card integrity|check your SD card for hardware damage]], as the apps are likely gone. | |||
=== Troubleshooting === | === Troubleshooting === | ||
* boot9.bin is missing | * <code>boot9.bin</code> is missing from <code>[M:] MEMORY VIRTUAL</code> | ||
** Follow the steps | ** Follow the steps to [[3DS:Dump system files|dump your system files]] for more in-depth instructions, including those for bootloaders other than [[3DS:boot9strap|boot9strap]]. | ||
* The first command in Section II gave the error <code>ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'</code> | * The first command in Section II gave the error <code>ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'</code> | ||
** Make sure you are in the rebuild folder and that you extracted the contents of <code>rebuild-title-database-master.zip</code> into it. | ** Make sure you are in the rebuild folder and that you extracted the contents of <code>rebuild-title-database-master.zip</code> into it. | ||
*** Once this is fixed, delete the out folder and try the command again. | *** Once this is fixed, delete the <code>out</code> folder and try the command again. | ||
* The | * The third or fourth command in Section II failed | ||
** Make sure you have <code>boot9.bin</code> and <code>movable.sed</code> in the rebuild folder. | ** Make sure you have <code>boot9.bin</code> and <code>movable.sed</code> in the rebuild folder. | ||
** Make sure | ** Make sure your SD card is inserted and you can view and edit its contents. | ||
* The fifth command in Section II failed | |||
** If you are on macOS, try installing {{GitHub|osxfuse/osxfuse/releases/latest|osxfuse}}, either via its GitHub page or via [https://brew.sh Homebrew]. | |||
[[Category:Nintendo 3DS guides]] | [[Category:Nintendo 3DS guides]] |