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

3DS:Movable Moveover/Manual: Difference between revisions

From Hacks Guide Wiki
(change shortcut template for new name)
m (redundant)
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{hatnote|This page is a guide to transferring data between systems without doing a System Transfer, and usually should only be done if the '''source console''' you are transferring from is nonfunctional or you only have its SD.
<br>If you do not have a specific reason to follow this guide (i.e. both consoles are usable), do [[3DS:System Transfer|a System Transfer]] instead.}}
{{shortcut|3DS:MM/M}}


= Required Reading (Do NOT ignore) =
= info - please read before starting =


This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.
This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.
<br>Additionally, ensure you have read the following three warnings to have a full understanding of the potential risks of this guide.


{{critical|text=Do '''NOT''' use a <code>movable.sed</code> from Bruteforce Movable as your system movable (in general, but especially not for this guide). Doing so may cause other issues with the system, and '''WILL''' result in a guaranteed brick if you uninstall CFW while using that movable. Always keep a backup of your original <code>movable.sed</code> if you do so.}}
{{critical|text=Do '''NOT''' inject a <code>movable.sed</code> from Bruteforce Movable for this guide. Doing so will cause a brick if you uninstall custom firmware after following the guide. Always keep a backup of your original movable.sed if you do so.}}


{{warning|text=If you have already done this guide at any time before the date 2024-08-11, then uninstalling CFW will brick your console, as FixupMovable is required to avoid crashing on stock firmware.
{{warning|text=Note that uninstalling CFW anytime after doing these steps '''WILL''' brick your console, as we have tampered with console-unique files which can have dangerous effects if stock/native.firm is booted. These unique files will be extracted during the process of this tutorial.}}
<br>If this applies to you, you can fix stock firmware by booting into [[3DS:GodMode9|GodMode9]], copying your <code>movable.sed</code> from <code>1:/private</code> to the '''destination console''''s SD root, copying <code>FixupMovable.py</code> to the SD root, and then doing the instructions from Section IV onward on the '''destination console''' only.}}


{{warning|text=Any games/savedata/themes/DSiWare that was already on the destination console's SD card will become inaccessible once the guide is completed - you will only be able to use the data transferred over from the source console. To access the destination console's data again, you must undo the moveover by replacing.
If you are confused in any way, join the Nintendo Homebrew server and ask for help in the 3DS assistance channels.
<br>This guide has you extract the original versions of those files so you are able to undo it if you need to - ''do not lose those files.''}}


{{info|If the above warning will cause issues for you and you are willing to take extra steps to avoid it, you can instead use [[ninfs]] to merge the source console's encrypted files onto the destination console, then [[3DS:Rebuild Title Database|rebuild title.db]] to make any merged games/apps appear.<br>
==What you need==
However, note that even this method will '''not''' bypass the issues of using a Bruteforce Movable <code>movable.sed</code>.}}


If you are confused in any way, join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask for help in the 3ds-assistance channels.
*Two 3DS consoles, both modded with Luma3DS CFW
*<code>essential.exefs</code> from the initial hacking procedures from 3DS Hacks Guide
*The latest version of [https://github.com/ihaveamac/faketik/releases/latest faketik] (the <code>.3dsx</code> file)
*The latest version of [https://github.com/d0k3/GodMode9/releases/latest GodMode9] (the GodMode9 <code>.zip</code> file)


== What You Need ==
===Prep Work===


* Two 3DS consoles, both modded with [[3DS:Luma3DS|Luma3DS]]
Follow this section on the destination console only.
** These will be referred to as the '''source console''' and '''destination console''' for this guide's purposes
** If either console is not currently modded, stop and mod it with [[3dsguide:|our custom firmware installation guide]] first
* The '''source console''''s <code>essential.exefs</code>, such as the one created in [[3dsguide:finalizing-setup|our guide's Finalizing Setup]]
** If you already have the '''source console's''' <code>movable.sed</code> outside of a <code>.exefs</code> file, you can use that directly
* A version of [https://www.python.org/downloads/ Python 3]
* The latest version of {{GitHub|/ihaveamac/faketik/releases/latest|faketik}} (the <code>.3dsx</code> file)
* The latest version of {{GitHub|d0k3/GodMode9/releases/latest|GodMode9}} (the GodMode9 <code>.zip</code> file)
* The latest version of {{GitHub|fox8091/FixupMovable/releases/latest|FixupMovable}} (the <code>FixupMovable.py</code> file)


#Power off your device
#Insert your SD card into your computer
#Copy <code>GodMode9.firm</code> from the GodMode9 <code>.zip</code> to the <code>/luma/payloads/</code> folder on your SD card
#Copy the <code>gm9</code> folder from the GodMode9 <code>.zip</code> to the root of your SD card
#Create a folder named <code>3ds</code> on the root of your SD card if it does not already exist
#*This folder stores homebrew applications and data; it is different from the <code>Nintendo 3DS</code> folder that the device automatically generates
#Copy <code>faketik.3dsx</code> to the <code>3ds</code> folder on the root of your SD card
#Copy <code>essential.exefs</code> to the root of your SD card and rename it to <code>old-essential.exefs</code>
#Reinsert your SD card into your device


== Instructions ==
===Backing up destination console's essential.exefs===


=== Section I - Prep Work ===
{{warning|text=If you do not back up the destination console's essential.exefs before following the remainder of the guide, your console '''will not be able to uninstall custom firmware.'''}}


{{info|Follow these instructions on the '''destination console''' only.}}
#Press and hold {{B|Start}}, and while holding {{B|Start}}, power on your device. This will launch GodMode9
#Navigate to <code>[S:] SYSNAND VIRTUAL</code>
#Press {{B|A}} on <code>essential.exefs</code> to select it
#Select “Copy to 0:/gm9/out”
#*If you see “Destination already exists”, press (A) on “Overwrite file(s)”
#Press {{B|A}} to continue
#Press {{B|B}} until you return to the main menu


# Power off your console and insert your SD card into your computer
{{info|text=This console's original <code>essential.exefs</code> file will be in <code>/gm9/out</code> folder on your SD card. It is highly recommended to back it up to a safe location.}}
# Copy <code>GodMode9.firm</code> from the GodMode9 <code>.zip</code> to the <code>/luma/payloads/</code> folder on your SD card
# Copy the <code>gm9</code> folder from the GodMode9 <code>.zip</code> to the root of your SD card
# Copy <code>FixupMovable.py</code> to the root of your SD card
# Create a folder named <code>3ds</code> on the root of your SD card if it does not already exist
#* This folder stores homebrew applications and data; it is different from the <code>Nintendo 3DS</code> folder that the console automatically generates
# Copy <code>faketik.3dsx</code> to the <code>3ds</code> folder on the root of your SD card
# Copy the '''source console''''s <code>essential.exefs</code> to the root of your SD card and rename it to <code>old-essential.exefs</code>
#* If you have the '''source console''''s <code>movable.sed</code> already in raw form, you can copy that file to the root of the SD card instead
# Reinsert your SD card into your console


=== Section II - Backing up essential.exefs ===
===Extracting the movable file from <code>essential.exefs</code>===


{{warning|text=If you skip this section and do not have any other backups, then you will be unable to undo the moveover and the '''destination console''''s <code>movable.sed</code> will be permanently lost.}}
#Press {{B|A}} on the <code>[0:] SDCARD</code>
#Select the <code>old-essential.exefs</code>, and press A on Mount as EXEFS image
#Look for a file named <code>movable</code> inside the <code>old-essential.exefs</code> image mount
#Press {{B|Y}} on <code>movable</code>, then proceed to the next section


# Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
===Replacing the movable.sed===
# Enter the <code>[S:] SYSNAND VIRTUAL</code> drive
# Press {{B|A}} on <code>essential.exefs</code> to select it
# Press {{B|A}} on '''Copy to 0:/gm9/out'''
#* If you see '''Destination already exists''', press {{B|A}} on '''Overwrite file(s)'''
# Press {{B|A}} to continue
# Press {{B|B}} until you return to the drive list


{{info|text=The destination console's original <code>essential.exefs</code> file will be in <code>sd:/gm9/out</code> on its SD card. It is highly recommended to back up this file to a safe location.}}
#Press {{B|B}} to exit the essential.exefs mount.
#Enter the <code>SYSNAND CTRNAND</code> drive, then enter the <code>private</code> folder
#Press {{B|X}} on the <code>movable.sed</code> file unlock write permissions when prompted
#Press {{B|A}} to unlock SysNAND (lvl1) writing, then input the key combo given
#Press {{B|Y}} to paste the movable in the clipboard, rename it to <code>movable.sed</code>
#Press {{B|B}} until you are back at the main menu, press {{B|R}} + {{B|A}} on the <code>SYSNAND CTRNAND</code> drive, select "Fix CMACS for drive"
#Press {{B|Start}} to reboot your device
#Your console will act like it has just been formatted, this is meant to happen. Proceed through initial setup.


=== Section III - Extracting movable.sed ===
===Getting your apps back===


# Navigate into the drive <code>[0:] SDCARD</code>
#Launch the Download Play application
# Press {{B|A}} on <code>old-essential.exefs</code>, and select '''Mount as EXEFS image'''
#Wait until you see the two buttons
#* If you instead copied <code>movable.sed</code> to the SD root, press {{B|Y}} on that file and skip to the next section
# Find the file named <code>movable</code> inside the image mount, and press {{B|Y}} to copy it to the clipboard
# Press {{B|B}} to exit from the image mount, then navigate back into the drive <code>[0:] SDCARD</code>
# Press {{B|Y}} to paste <code>movable</code> in the root of the SD card
# Press {{B|R|START}} to power off the console
 
=== Section IV - FixupMovable ===
 
{{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.}}
 
# Insert the console's SD card into your PC
# Open a file explorer window and navigate to the SD card's root
# Rename <code>movable</code> to <code>movable.sed</code>
# Hold {{B|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:
## <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.
## <code>py -3 FixupMovable.py movable.sed</code>
##* After this, <code>movable.sed</code> should be exactly 288 bytes in size. If it isn't, try the command again
# Eject the SD card and reinsert it into the console
 
=== Section V - Replacing movable.sed ===
 
# Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
# Navigate into the drive <code>[0:] SDCARD</code>
# Press {{B|Y}} to copy <code>movable.sed</code> to the clipboard
# Press {{B|B}} to return to the drive list
# Navigate into the drive <code>[1:] SYSNAND CTRNAND</code>, then enter the <code>private</code> folder
# Press {{B|X}} on <code>movable.sed</code> and press {{B|A}} to confirm deletion
# Unlock '''Writing to SysNAND (lvl1)''' when prompted, then input the given key combo
# Press {{B|Y}} to paste the new <code>movable.sed</code> from the clipboard
# Press {{B|B}} until you have returned to the drive list
# Press {{B|R|A}} on the drive <code>[1:] SYSNAND CTRNAND</code> and select '''Fix CMACs for drive'''
# Once this finishes, press {{B|START}} to reboot your console
# Your console may act like it has just been formatted - this does not mean your data has been lost. If it does this, proceed normally through initial setup and get to the HOME Menu
 
=== Section VI - Reinstating Apps ===
 
# Launch the '''Download Play''' application
# Wait until you see the two buttons
#* Do not press either of the buttons
#* Do not press either of the buttons
# Press {{B|L|DOWN|SELECT}} at the same time to open the Rosalina menu
#Press (Left Shoulder) + (D-Pad Down) + (Select) at the same time to open the Rosalina menu
# Select '''Miscellaneous options'''
#Select "Miscellaneous options"
# Select '''Switch the hb. title to the current app.'''
#Select "Switch the hb. title to the current app."
# Press {{B|B}} to continue
#Press {{B|B}} to continue
# Press {{B|B}} to return to the Rosalina main menu
#Press {{B|B}} to return to the Rosalina main menu
# Press {{B|B}} to exit the Rosalina menu
#Press {{B|B}} to exit the Rosalina menu
# Press {{B|HOME}}, then close '''Download Play'''
#Press {{B|Home}}, then close Download Play
# Relaunch the '''Download Play''' application
#Relaunch the Download Play application
# Your console should load the '''Homebrew Launcher'''
#Your device should load the Homebrew Launcher
# Launch '''faketik''' from the list of homebrew
#Launch faketik from the list of homebrew
# Wait until the process is completed
#Wait until the process is completed
# Press {{B|START}} to exit
#Press {{B|Start}} to exit
# Reboot your console
#Reboot your device
 
{{success|text=The moveover is complete. Congratulations for performing a complex procedure.}}


[[Category:Nintendo 3DS guides]]
{{success|text=Congratulations, you just performed a complex procedure.}}

Revision as of 18:57, 23 March 2023

info - please read before starting

This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.

Critical icon Do NOT inject a movable.sed from Bruteforce Movable for this guide. Doing so will cause a brick if you uninstall custom firmware after following the guide. Always keep a backup of your original movable.sed if you do so.
Warning icon Note that uninstalling CFW anytime after doing these steps WILL brick your console, as we have tampered with console-unique files which can have dangerous effects if stock/native.firm is booted. These unique files will be extracted during the process of this tutorial.

If you are confused in any way, join the Nintendo Homebrew server and ask for help in the 3DS assistance channels.

What you need

  • Two 3DS consoles, both modded with Luma3DS CFW
  • essential.exefs from the initial hacking procedures from 3DS Hacks Guide
  • The latest version of faketik (the .3dsx file)
  • The latest version of GodMode9 (the GodMode9 .zip file)

Prep Work

Follow this section on the destination console only.

  1. Power off your device
  2. Insert your SD card into your computer
  3. Copy GodMode9.firm from the GodMode9 .zip to the /luma/payloads/ folder on your SD card
  4. Copy the gm9 folder from the GodMode9 .zip to the root of your SD card
  5. Create a folder named 3ds on the root of your SD card if it does not already exist
    • This folder stores homebrew applications and data; it is different from the Nintendo 3DS folder that the device automatically generates
  6. Copy faketik.3dsx to the 3ds folder on the root of your SD card
  7. Copy essential.exefs to the root of your SD card and rename it to old-essential.exefs
  8. Reinsert your SD card into your device

Backing up destination console's essential.exefs

Warning icon If you do not back up the destination console's essential.exefs before following the remainder of the guide, your console will not be able to uninstall custom firmware.
  1. Press and hold Start, and while holding Start, power on your device. This will launch GodMode9
  2. Navigate to [S:] SYSNAND VIRTUAL
  3. Press A on essential.exefs to select it
  4. Select “Copy to 0:/gm9/out”
    • If you see “Destination already exists”, press (A) on “Overwrite file(s)”
  5. Press A to continue
  6. Press B until you return to the main menu
Info icon This console's original essential.exefs file will be in /gm9/out folder on your SD card. It is highly recommended to back it up to a safe location.

Extracting the movable file from essential.exefs

  1. Press A on the [0:] SDCARD
  2. Select the old-essential.exefs, and press A on Mount as EXEFS image
  3. Look for a file named movable inside the old-essential.exefs image mount
  4. Press Y on movable, then proceed to the next section

Replacing the movable.sed

  1. Press B to exit the essential.exefs mount.
  2. Enter the SYSNAND CTRNAND drive, then enter the private folder
  3. Press X on the movable.sed file unlock write permissions when prompted
  4. Press A to unlock SysNAND (lvl1) writing, then input the key combo given
  5. Press Y to paste the movable in the clipboard, rename it to movable.sed
  6. Press B until you are back at the main menu, press R + A on the SYSNAND CTRNAND drive, select "Fix CMACS for drive"
  7. Press Start to reboot your device
  8. Your console will act like it has just been formatted, this is meant to happen. Proceed through initial setup.

Getting your apps back

  1. Launch the Download Play application
  2. Wait until you see the two buttons
    • Do not press either of the buttons
  3. Press (Left Shoulder) + (D-Pad Down) + (Select) at the same time to open the Rosalina menu
  4. Select "Miscellaneous options"
  5. Select "Switch the hb. title to the current app."
  6. Press B to continue
  7. Press B to return to the Rosalina main menu
  8. Press B to exit the Rosalina menu
  9. Press Home, then close Download Play
  10. Relaunch the Download Play application
  11. Your device should load the Homebrew Launcher
  12. Launch faketik from the list of homebrew
  13. Wait until the process is completed
  14. Press Start to exit
  15. Reboot your device
Success icon Congratulations, you just performed a complex procedure.