3DS:Manual Movable Moveover: Difference between revisions

From Hacks Guide Wiki
m (let's abuse the boxes more)
(Making a note that either the source console can be non-functional or not in their possession as long as the user has essential.exefs, movable.sed, or a NAND backup from that console)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{hatnote|This article is for transferring data between systems without doing a system transfer, and usually should only be done if the console you are transferring from is nonfunctional or the source console is not in your possession.<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:MMM}}


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


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 warnings to have a full understanding of the potential risks of this guide.


{{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.}}
{{critical|text=Do '''NOT''' use a <code>movable.sed</code> from Bruteforce 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.}}


{{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.}}
{{warning|text=Uninstalling CFW without undoing the moveover done in this guide '''WILL''' brick your console, as we have tampered with console-unique files which can have dangerous effects if stock (native.firm) is booted.<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.''}}


If you are confused in any way, join the Nintendo Homebrew server and ask for help in the 3DS assistance channels.
{{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 - only data transferred over from the source console will be usable. To access the destination console's data again, you must undo the moveover.}}
 
{{info|If the above two warnings will cause issues for you and you are willing to take extra steps to avoid them, 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>
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.


==What you need==
==What you need==


*Two 3DS consoles, both modded with Luma3DS CFW
*Two 3DS consoles, both modded with Luma3DS CFW
*<code>essential.exefs</code> from the initial hacking procedures from 3DS Hacks Guide
** 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
*The latest version of [https://github.com/ihaveamac/faketik/releases/latest faketik] (the <code>.3dsx</code> file)
*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)
*The latest version of [https://github.com/d0k3/GodMode9/releases/latest GodMode9] (the GodMode9 <code>.zip</code> file)
Line 19: Line 32:
===Prep Work===
===Prep Work===


Follow this section on the destination console only.
Follow this section on the '''destination console''' only.


#Power off your device
#Power off your console
#Insert your SD card into your computer
#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 <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 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
#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
#*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 <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>
#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>
#Reinsert your SD card into your device
#*If you have the '''source console's''' <code>movable.sed</code> already, you can copy that to the root of the SD card instead
#Reinsert your SD card into your console


===Backing up destination console's essential.exefs===
===Backing up the destination console's <code>essential.exefs</code>===


{{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.'''}}
{{warning|text=If you do not back up the destination console's essential.exefs before following the remainder of the guide, you will be unable to undo the moveover - which means that console '''will never be able to uninstall custom firmware.'''}}


#Press and hold {{B|Start}}, and while holding {{B|Start}}, power on your device. This will launch GodMode9
#Press and hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
#Navigate to <code>[S:] SYSNAND VIRTUAL</code>
#Enter the <code>[S:] SYSNAND VIRTUAL</code> drive
#Press {{B|A}} on <code>essential.exefs</code> to select it
#Press {{B|A}} on <code>essential.exefs</code> to select it
#Select “Copy to 0:/gm9/out”
#Press {{B|A}} on '''Copy to 0:/gm9/out'''
#*If you see “Destination already exists”, press (A) on “Overwrite file(s)
#*If you see '''Destination already exists''', press {{B|A}} on '''Overwrite file(s)'''
#Press {{B|A}} to continue
#Press {{B|A}} to continue
#Press {{B|B}} until you return to the main menu
#Press {{B|B}} until you return to the drive list
 
{{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, as without this file, you will '''not''' be able to uninstall custom firmware in the future.}}


===Extracting the movable file from <code>essential.exefs</code>===
{{info|text=The destination console's original <code>essential.exefs</code> file will be in <code>/gm9/out</code> folder on its SD card. It is highly recommended to back up this file to a safe location.}}


#Press {{B|A}} on the <code>[0:] SDCARD</code>
===Extracting the movable file===
#Select the <code>old-essential.exefs</code>, and press A on Mount as EXEFS image
#Enter the <code>[0:] SDCARD</code> drive
#Select the <code>old-essential.exefs</code>, and press {{B|A}} on '''Mount as EXEFS image'''
#*If you instead copied <code>movable.sed</code> to the SD root, press {{B|Y}} on that file and skip to the next section
#Look for a file named <code>movable</code> inside the <code>old-essential.exefs</code> image mount
#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 {{B|Y}} on <code>movable</code>, then proceed to the next section


===Replacing the movable.sed===
===Replacing the <code>movable.sed</code>===


#Press {{B|B}} to exit the essential.exefs mount.
#Press {{B|B}} to return to the drive list
#Enter the <code>SYSNAND CTRNAND</code> drive, then enter the <code>private</code> folder
#Enter the <code>[1:] 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|X}} on the <code>movable.sed</code> file and press {{B|A}}
#Press {{B|A}} to unlock SysNAND (lvl1) writing, then input the key combo given
#Unlock '''Writing to SysNAND (lvl1)''' when prompted, then input the given key combo
#Press {{B|Y}} to paste the movable in the clipboard, rename it to <code>movable.sed</code>
#Press {{B|Y}} to paste from the clipboard, then rename the file to <code>movable.sed</code> if it is not named that already
#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|B}} until you have returned to the drive list, press {{B|R}} + {{B|A}} on the <code>[1:] SYSNAND CTRNAND</code> drive, and then select '''Fix CMACs for drive'''
#Press {{B|Start}} to reboot your device
#Once this finishes, press {{B|START}} to reboot your console
#Your console will act like it has just been formatted, this is meant to happen. Proceed through initial setup.
#Your console will act like it has just been formatted - this is supposed to happen. Proceed through initial setup and get to the HOME Menu


===Getting your apps back===
===Getting your apps back===


#Launch the Download Play application
#Launch the '''Download Play''' application
#Wait until you see the two buttons
#Wait until you see the two buttons
#* Do not press either of the buttons
#* Do not press either of the buttons
#Press (Left Shoulder) + (D-Pad Down) + (Select) at the same time to open the Rosalina menu
#Press {{B|L}} + {{B|D-PAD DOWN}} + {{B|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 device should load the Homebrew Launcher
#Your console 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 device
#Reboot your console
 
{{success|text=The moveover is complete. Congratulations for performing a complex procedure.}}


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

Latest revision as of 01:14, 2 March 2024

Required Reading (Do NOT ignore)

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

OOjs UI icon information-destructive.svg Do NOT use a movable.sed from Bruteforce 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 movable.sed if you do so.
OOjs UI icon information-warning.svg Uninstalling CFW without undoing the moveover done in this guide WILL brick your console, as we have tampered with console-unique files which can have dangerous effects if stock (native.firm) is booted.
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.
OOjs UI icon information-warning.svg Any games/savedata/themes/DSiWare that was already on the destination console's SD card will become inaccessible once the guide is completed - only data transferred over from the source console will be usable. To access the destination console's data again, you must undo the moveover.
OOjs UI icon information-progressive.svg If the above two warnings will cause issues for you and you are willing to take extra steps to avoid them, you can instead use ninfs to merge the source console's encrypted files onto the destination console, then rebuild title.db to make any merged games/apps appear.
However, note that even this method will not bypass the issues of using a Bruteforce Movable movable.sed.

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

What you need

  • Two 3DS consoles, both modded with Luma3DS CFW
    • 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 our custom firmware installation guide first
  • The source console's essential.exefs, such as the one created in our guide's Finalizing Setup
    • If you already have the source console's movable.sed outside of a .exefs file, you can use that directly
  • 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 console
  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 console automatically generates
  6. Copy faketik.3dsx to the 3ds folder on the root of your SD card
  7. Copy the source console's essential.exefs to the root of your SD card and rename it to old-essential.exefs
    • If you have the source console's movable.sed already, you can copy that to the root of the SD card instead
  8. Reinsert your SD card into your console

Backing up the destination console's essential.exefs

OOjs UI icon information-warning.svg If you do not back up the destination console's essential.exefs before following the remainder of the guide, you will be unable to undo the moveover - which means that console will never be able to uninstall custom firmware.
  1. Press and hold START, and while holding START, power on your console. This will launch GodMode9
  2. Enter the [S:] SYSNAND VIRTUAL drive
  3. Press A on essential.exefs to select it
  4. Press A on 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 drive list
OOjs UI icon information-progressive.svg The destination console's original essential.exefs file will be in /gm9/out folder on its SD card. It is highly recommended to back up this file to a safe location.

Extracting the movable file

  1. Enter the [0:] SDCARD drive
  2. Select the old-essential.exefs, and press A on Mount as EXEFS image
    • If you instead copied movable.sed to the SD root, press Y on that file and skip to the next section
  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 return to the drive list
  2. Enter the [1:] SYSNAND CTRNAND drive, then enter the private folder
  3. Press X on the movable.sed file and press A
  4. Unlock Writing to SysNAND (lvl1) when prompted, then input the given key combo
  5. Press Y to paste from the clipboard, then rename the file to movable.sed if it is not named that already
  6. Press B until you have returned to the drive list, press R + A on the [1:] SYSNAND CTRNAND drive, and then select Fix CMACs for drive
  7. Once this finishes, press START to reboot your console
  8. Your console will act like it has just been formatted - this is supposed to happen. Proceed through initial setup and get to the HOME Menu

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 L + 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 console 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 console
OOjs UI icon information-constructive.svg The moveover is complete. Congratulations for performing a complex procedure.