Tutorial Multiple emuMMC setup, including restoring a clean NAND for online use

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
I know there are several topics about setting up the emuMMC, but I decided to publish this tutorial because people keep asking about the creation / recognition of multiple emuMMC in Hekate.

The purpose of this tutorial is to provide an easy way to setup two (or more) emuMMC, being one of them your emulated clean backup, THAT IS ABLE TO RUN ONLINE (clean emuMMC) and the other an emulated copy of your current real sysnand (dirty emuMMC).

Your real sysnand must be maintained at the lowest firmware possible, so you can start Hekate without a dongle (DejaVu is already a reality from 1.0.0 to 4.0.1).

At first I tried this steps when going for an Android + 2 emuMMC setup but Android didn't boot, so I advise following this tutorial only for a multiple emuMMC setup.

P.S. From 5.2.0 on Hekate introduced a "SD Card Partition Manager", wich allows the selection of up to 2 emuMMC + Linux + Android (I didn't try it yet).

I had some trouble flashing the NANDs with Windows applications so I used a virtual machine (Oracle VM VirtualBox) + a Linux distro (Linux Mint) because in my opinion it handles better formatting / resizing partitions (with Gparted Live) and flashing NAND backups to specific partitions (with the dd command line tool).

Some people (@annson24 and @ben_dover) reported they were able to format / resize using Minitool Partition Wizard or DiskGenius and to flash using dd for Windows, so I included their instructions.

How to:

1. Delete all partitions from the SD card.

2. Create three partitions using your prefered application:

- first: SD card data, wich is recommend to be FAT32 (for homebrew). This partition size = SD card total size – (2x 29856 MB)
- second: emuMMC1 = RAW1, with exactly 29856 MB (if using Gparted Live: may be unformatted, but not unallocated)
- third: emuMMC2 = RAW2, with exactly 29856 MB (if using Gparted Live: may be unformatted, but not unallocated)

3. Join the files BOOT0, BOOT1 and RAWNAND.bin of your clean NAND backup:

- Linux: cat BOOT0 BOOT1 rawnand.bin > emummc.bin
- Windows: copy /b BOOT0+BOOT1+rawnand.bin emummc.bin

4. This is the key step: you have to flash that big file (emummc.bin) to the THIRD partition of your SD card (emuMMC2) using dd.

Linux
Run a terminal and type the following dd command:

sudo dd if=/media/sf_Shared_Folder/emummc.bin of=/dev/sdb3 bs=512M status=progress

P.S.1 The "if" path is MY Linux Mint shared folder path, you need to use your emummc.bin location
P.S.2 The "of" path is MY third SD card partition, you can check your driver identifier on Gparted Live (mine was "b")

Windows
1. Copy dd.exe (or ddrelease64.exe) to a folder of your choosing (I put it directly in C:\)
2. Disable your anti-virus software (it may prevent dd from having write access to the SD card)
3. Run diskmgmt.msc (Windows Disk Management) and find your SD card. Take note of the Disk # associated to it. This will help you with your dd command.
4. Right-click on your SD card FAT32 partition and select “Change Drive Letter…”. Remove the driver letter associated to it. This is equivalent to unmounting the drive. (not sure if this is needed to prevent access issues for dd but I did this step)
5. Open a command prompt window as an administrator and go to the folder where your dd.exe is located
6. Type the command “dd --list”. This will show all drives and partitions on your computer. Scroll down towards the bottom of the generated list and look for a Device with the Harddisk # you have taken note of earlier in Windows Disk Management. This Device will have 3 partitions: your FAT32 partition and the two RAW partitions. To confirm you are looking at the right Device, the two raw partitions will have the same size. The partition you want to dd to will be Partition3
7. Type the command to flash your emummc.bin to the RAW partition on your SD card:
“dd bs=512M if=drive:\folder\emummc.bin of=\\?\Device\Harddisk#\Partition3 --progress”

Here’s an example of the command with actual parameters:
“dd bs=512M if=c:\Nintendo_Switch_backup\emummc.bin of=\\?\Device\Harddisk3\Partition3 --progress”
- If you are using ddrelease64.exe replace “dd” in the command by “ddrelease64”

5. Grab your SD card, insert it on the Switch, start Hekate, tap emuMMC and then "Migrate emuMMC": voilà, now you have RAW2!

6. For the RAW1 select "Create emuMMC" > "SD partition" (this emuMMC will be an emulated copy of your current sysnand)

----------

In my case (stock firmware = 1.0.0):

- Turn on the Switch (no dongle)
- Reswitched link in the News (installed by Fake News) starts PegaScape
- Nereba takes me to Hekate
- From there I choose between RAW1 and RAW2

Hekate showing installed RAW1 and RAW2:
raw1-2.jpg

RAW1 Home screen
(emuMMC1, dirty, 90DNS, updated using ChoiDujourNX)
raw1.jpg

RAW2 Nintendo Shop
(emuMMC2, clean, no 90DNS, updated using Nintendo official servers)
raw2.jpg


*** Last system tested/working online: clean emuMMC 11.0.1 x Atmosphere 0.16.1 pre-release ***

Common concerns:

1. Even in the clean emuMMC Atmosphere is running in the background.
Simply running Atmosphere isn't a problem and doesn't generate a ban.

E.g. : If you check your system's version, Atmosphere's version will appear next to it ; you can access Hbmenu through Album ; in my case even the BootSoundNX sysmodule sound plays at startup (that hang is expected, I should use a shorter sound sample).

2. You don't need to move any files from your SD card when choosing one of the two emuMMC.
I have Kosmos Toolbox, Tesla, sysmodules and overlays in storage.

3. Fuses burn when updating + booting the real sysnand.
We are using the real sysnand only to start Hekate = no fuses burnt.

With that in mind I suggest:
- turning off nogc in Atmosphere and Hekate (there's no use for it)
- deleting any sysnand boot setup from hekate_ipl.ini (there's no use for it)

4. Apparently the burnt fuse count isn't sent to Nintendo.
I've had this configuration for several months now and my real sysnand is 1.0.0 = one burnt fuse.

Additional tips:

1. To facilitate switching between emuMMC configure Power options > Restart to initiate Hekate:
- confirm this is in atmosphere > config > system_settings.ini: power_menu_reboot_function = str!payload
- use Hekate's payload as your reboot_payload.bin in atmosphere's folder.

2. I recommend using latest "pure" Hekate and Atmosphere + only this patches: https://github.com/ITotalJustice/patches/releases

3. Change the emuMMC's backgrounds so you don't confuse them.

4. Change the dirty emuMMC's DNS (I use 90dns).
I didn't try Atmosphere's "blanking PRODINFO" new option because I think it will prevent online use on the clean emuMMC.

5. ChoiDujourNX only works in applet mode (to update the dirty emuMMC's firmware)

6. After updating the clean emuMMC make a new backup and delete the older one.
Hekate still can only backup the first 0xE0 partition that it finds (RAW1) so the easiest way to backup RAW2 is using dd, inverting the source and destination locations. In my case (for RAW2 = third partition):

- flash emuMMC: sudo dd if =/media/sf_Shared_Folder/emummc.bin of=/dev/sdb3 bs=512M status=progress
- backup emuMMC: sudo dd if =/dev/sdb3 of =/media/sf_Shared_Folder/emummc.img bs=512M status=progress

The extension (I used .img) probably doesn't matter, and may not even be needed.
I tested the generated file on NXNandManager (https://github.com/eliboa/NxNandManager) and it was recognized perfectly.

7. My clean emuMMC only booted with fusee-secondary. The dirty one was ok with fusee-primary, and I highly recommend its use because it allows Tinfoil to work.

8. Here's my simple and functional hekate_ipl.ini:

[config]
autoboot=0
autoboot_list=0
autohosoff=0
autonogc=0
backlight=100
bootwait=3
updater2p=0
verification=1

[CFW]
emummcforce=1
emupath=emuMMC/RAW1
payload=bootloader/payloads/fusee-primary.bin
icon=bootloader/res/atmosphere.bmp
logopath=bootloader/bootlogo.bmp
{}

[OFW]
emummcforce=1
emupath=emuMMC/RAW2
fss0=atmosphere/fusee-secondary.bin
icon=bootloader/res/icon_switch_custom.bmp
logopath=bootloader/bootlogo.bmp
{}
 
Last edited by kassio69,

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
H, nicei if i understand you can start with hekate an emunand clean to go online, like the sysnand ?

I didn't quite understand your question.

For online use, one of your emuMMC must be created from a clean NAND.

The goal here is to have a dirty and a clean emuMMC (both can be updated, using ChoirdujourNX and Nintendo servers respectively), and keep your real sysnand with the lowest possible firmware, in order to benefit from DejaVu.
 

deejay87

Well-Known Member
Member
Joined
Aug 25, 2019
Messages
166
Trophies
0
Location
Burgundy
Website
deejay87.fr
XP
972
Country
France
Yes i have understand, an "clean" emunand, just i never have test to boot a emunand without cfw :)
This can be usefull, for people who have a patched switch and use pegascape, create a clean emunand and update to 9.2 for online and have a sysnand <= 4.1.0 and the second emunand for the Cwf

Question : when you are on your emunand clean, if you restart with power button, do you come back to hekate ?, maybe stupid question héhé, just to know if you have to use again the power off and a jig to return on hekate
 
Last edited by deejay87,

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
Your sentences are a little confusing.. why not use google translator?

This can be usefull, for people who have a patched switch and use pegascape, create a clean emunand and update to 9.2 for online and have a sysnand <= 4.1.0 and the second emunand for the Cwf

It's useful for anyone who wants a clean NAND and a dirty NAND at the same time, and especially for those with a 1.0.0 to 4.1.0 sysnand, because they can benefit from PegaScape (that is, they don't need a dongle).

Question : when you are on your emunand clean, if you restart with power button, do you come back to hekate ?, maybe stupid question héhé, just to know if you have to use again the power off and a jig to return on hekate

Yes, always return to Hekate.

In fact, even in the clean emunand Atmosphere is running in the background.

E.g. : If you check the version of your system the version of Atmosphere will appear next to it, you can access Hbmenu by holding R, and in my case even the BootSoundNX sound (sysmodule) plays at startup.

Simply running Atmosphere is no problem and does not generate a ban.

So you need to:

1. Confirm this on system_settings.ini: power_menu_reboot_function = str!payload
2. Use Hekate payload as your reboot_payload.bin in atmosphere's folder.
 
Last edited by kassio69,

deejay87

Well-Known Member
Member
Joined
Aug 25, 2019
Messages
166
Trophies
0
Location
Burgundy
Website
deejay87.fr
XP
972
Country
France
Ok thanks for the explanation

I'll do lot tests but i have never tested a clean emunand on cfw connected to the internet, never obvious to know if having the cfw can be detected by nintendo, i see lot of vids with a cfw and no nsp games and connected without problèms
For the others setup yep i knew that on ams ;)

I have time , i will test your tutorial
 
Last edited by deejay87,

Panzerfaust

Well-Known Member
Member
Joined
Oct 25, 2018
Messages
112
Trophies
0
XP
1,172
Country
Germany
TBH I was looking for such a tutorial for quite some time. However, one concern I still have is the low fusecount on the ofw emummc. If I go online with the low fusecount, Nintendo could easily detect that, right?
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
TBH I was looking for such a tutorial for quite some time. However, one concern I still have is the low fusecount on the ofw emummc. If I go online with the low fusecount, Nintendo could easily detect that, right?

I don't believe that the burnt fuse count is sent to Nintendo. I have had this configuration for several months and just yesterday I updated my clean emuNAND to 9.2.0 and downloaded Fortnite (my real sysnand is 1.0.0 = one burnt fuse).

My only recommendation is that whenever you update your clean emuNAND make a new backup and delete the previous one, because certainly N logs your download history (including firmware updates).
 
Last edited by kassio69,
  • Like
Reactions: Panzerfaust

Panzerfaust

Well-Known Member
Member
Joined
Oct 25, 2018
Messages
112
Trophies
0
XP
1,172
Country
Germany
One question left: you wrote that you recommend Linux and you weren't able to do it on Windows. Still, you have a Windows guide in your 1st post? Kinda confused
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
One question left: you wrote that you recommend Linux and you weren't able to do it on Windows. Still, you have a Windows guide in your 1st post? Kinda confused

Linux was the solution for the correct formatting / resizing (using Gparted Live) and specially NAND backup flashing to specific SD card partitions (using the dd command line tool). Tried several windows applications but none worked.

As I'm a Windows user I had to start from step 1 of the tutorial:
"1. Install a virtual machine (eg Oracle VM VirtualBox) and a Linux distro (eg Linux Mint)"
 
Last edited by kassio69,

Andalitez

Well-Known Member
Member
Joined
Jul 2, 2018
Messages
495
Trophies
0
Location
Final Space
XP
1,132
Country
United States
Thanks for the guide OP.
I have a silly question, if I plan to use a separate SD for the clean "sysnand" emunand, could I get away with just having the hekate bootloader folder on the first partition( no atmosphere stuff on there) so when I go into system settings it doesn't show AMS version in system version?
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
Thanks for the guide OP.
I have a silly question, if I plan to use a separate SD for the clean "sysnand" emunand, could I get away with just having the hekate bootloader folder on the first partition( no atmosphere stuff on there) so when I go into system settings it doesn't show AMS version in system version?

I believe not after reading these two issues on Github (both are from 2019 and I didn't find any updates):
https://github.com/CTCaer/hekate/issues/250
https://github.com/m4xw/emuMMC/issues/7

But again: it's okay to run Atmosphere in the background of your emulated NAND, whether it's clean or dirty.
 

annson24

The Patient One
Member
Joined
May 5, 2016
Messages
1,187
Trophies
0
Age
30
XP
1,695
Country
Philippines
How long have you been using a clean emunand for online use? I've been wanting to create one myself for my wife since she wants to play a legit ACNH online with friends but I'm afraid of getting banned. Are you using homebrews on your clean emunand? Will installing my own cart of the game to the clean emunand still get me banned?

Sorry for the many questions, I'm really happy to see my wife enjoying the game especially when she's not the gamer type. I wanted to buy her her own switch but the community quarantine prevents me to do so atm.

Sent from my SM-N975F using Tapatalk
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
How long have you been using a clean emunand for online use? I've been wanting to create one myself for my wife since she wants to play a legit ACNH online with friends but I'm afraid of getting banned.

I have this setup since I finally managed to make Hekate recognize the two emuMMC as I described in the tutorial, that is, for at least 6 months.

I decided to write all this because people say a lot of things without knowing if it is really true, especially when it comes to emuMMC x online use.

Many people have the backup of a clean NAND with low firmware, but don't realize or are afraid to use the great warmboot solution that already exists for the Switch (DejaVu, which eliminates the need of a dongle to inject payloads), and the already viable possibility to emulate two emuMMC (one for official online use and other for homebrew / NSP).

Are you using homebrews on your clean emunand? Will installing my own cart of the game to the clean emunand still get me banned?

These are the kind of things you are going to do on your dirty emuMMC. You can play online in your clean emuMMC, but then you need to buy the gamecard (not install it) or download from Nintendo Shop.
 
Last edited by kassio69,

annson24

The Patient One
Member
Joined
May 5, 2016
Messages
1,187
Trophies
0
Age
30
XP
1,695
Country
Philippines
The problem I'm seeing with having a 2nd emummc for clean stuff is me forgetting to remove/disable my sysmodules when I transfer from my dirty to my clean emummc.

Sent from my SM-N975F using Tapatalk
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
The problem I'm seeing with having a 2nd emummc for clean stuff is me forgetting to remove/disable my sysmodules when I transfer from my dirty to my clean emummc.

My friend, you are definitely not paying attention to what you are reading.
When did i say it was necessary to do this?

Here I go again:

"Even in the clean emunand Atmosphere is running in the background.

E.g. : If you check the version of your system the version of Atmosphere will appear next to it, you can access Hbmenu by holding R, and in my case even the BootSoundNX sound (sysmodule) plays at startup.

Simply running Atmosphere is no problem and does not generate a ban. "

Now you understand?

I have Kosmos Toolbox, Tesla, sysmodules and overlays on my SD card, and it makes no difference when running the clean emuMMC.

What you can't do is NSP installation and you should probably not run any homebrew applications.

Edit: Only now I saw in your signature that your real sysnand firmware is 1.0.0? Or at least you have a backup of it? You are one of the happiest Switch owners and have not yet realized.
 
Last edited by kassio69,

annson24

The Patient One
Member
Joined
May 5, 2016
Messages
1,187
Trophies
0
Age
30
XP
1,695
Country
Philippines
Edit: Only now I saw in your signature that your real sysnand firmware is 1.0.0? Or at least you have a backup of it? You are one of the happiest Switch owners and have not yet realized.

This is why I'm being extra careful. Aside from maintaining my switch on this firmware, I also don't want it banned. I have plenty of sysmodules that might give errors sometimes (lan-play, sys-clk, emuiibo, etc.) I just don't wanna risk it. I decided on creating a clean emummc on a different sdcard.

Ps. Sorry if I didn't seem to read your tut. The truth is, I actually didn't since I have an easier method on creating emummc on windows.

But still, thank you for your help. Hope I won't get a ban since Imma be buying ACNH digitally.

Edit: OT but are you using pegascape and nereba as well?

Sent from my SM-N975F using Tapatalk
 

annson24

The Patient One
Member
Joined
May 5, 2016
Messages
1,187
Trophies
0
Age
30
XP
1,695
Country
Philippines
Would you share your wisdom, pls? :D
Don't wanna hijack the thread but basically instead of using gparted, I use a partitioning app specifically made for windows which is the Minitool Partition Wizard. Now to flash the nand, I simply use dd for windows instead of a virtual machine. If OP allows it, I'm willing to share more info with this.

Sent from my SM-N975F using Tapatalk
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
76
Trophies
0
XP
767
Country
Brazil
OT but are you using pegascape and nereba as well?
Would you share your wisdom, pls? :D

I just made this video to see if both of you change your minds (also updated first post):


If you know of any better setup please let me know!
You'll notice BootSoundNX hangs a bit, I should use a shorter sample sound.

Don't wanna hijack the thread but basically instead of using gparted, I use a partitioning app specifically made for windows which is the Minitool Partition Wizard. Now to flash the nand, I simply use dd for windows instead of a virtual machine. If OP allows it, I'm willing to share more info with this.

In fact of all the programs I tested on Windows, the MiniTool Partition Wizard was the one I liked the most.
I didn't get to test dd for Windows because I was already frustrated and had already got the hang of using Linux (and liked it).
There is no need to hijack the thread, I can edit the first post and give you credit.
Just share the exact command to be used in dd for Windows, as the rest of the steps are the same.
 
Last edited by kassio69,
General chit-chat
Help Users
    Dark_Phoras @ Dark_Phoras: Nooblet this visual garbage is rotting our brains