Tutorial  Updated

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

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
80
Trophies
1
XP
1,136
Country
Brazil
Question: does updating the clean emummc through Nintendo servers result in burnt fuses after installation is completed/restart?

No, because fuses only burn when updating + booting the real sysnand.
(and you'll only use the real sysnand when powering the Switch up, to start Hekate)
This is the same reason why you don't need nogc.
I sugest you delete any sysnand boot setup from hekate_ipl.ini.

I'm using this and everything is perfetc:

[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,
  • Like
Reactions: ben_dover

timmeehh

Member
Newcomer
Joined
Jan 3, 2013
Messages
18
Trophies
0
Age
33
XP
94
Country
Netherlands
Maybe this is a stupid question, please don't blame me, I am quite new to this. I have just got a switch that is hackable but on the latest firmware version. I really liked your tutorial @kassio69, but as far as I see it this is only good for people who are on 1.0.0 right?

I mean, I could just use my sysnand to go online and use my emuMMC to instal NSPs, right?

Thanks a lot anyway!
 

ben_dover

New Member
Newbie
Joined
May 3, 2020
Messages
4
Trophies
0
Age
44
XP
72
Country
Canada
No, because fuses only burn when updating + booting the real sysnand.
(and you'll only use the real sysnand when powering the Switch up, to start Hekate)
This is the same reason why you don't need nogc.
I sugest you delete any sysnand boot setup from hekate_ipl.ini.

Thanks! Managed to update the clean emummc from Nintendo Servers like you mentioned.
Is hekate able to make a backup of this specific RAW2 emummc? I feel like some of the hekate tools default to the RAW1 emummc.
 

Artomis

New Member
Newbie
Joined
May 16, 2020
Messages
2
Trophies
0
Age
35
Website
www.youtube.com
XP
131
Country
United States
i recently got my hands on an unpatched switch that is on OFW 9.2, does that mean that this method is a bust for me? I know I cannot use Deja Vu, but does that limit me from this completely or what other means would I have to go about it? Would it be worth going to 10.2 before I do my clean backup and continuing to try this?

Really want to get this working ad this is such a wonderful guide, thanks for taking the time to make it!
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,136
Country
Brazil
Is hekate able to make a backup of this specific RAW2 emummc? I feel like some of the hekate tools default to the RAW1 emummc.

From Hekate 5.2.0/Nyx 0.9.0 changelog (latest version doen't have updates in this subject):

"Add simple emuMMC backup
It supports all sized partition based emuMMC
For now it can only backup the first 0xE0 partition that it finds"

The easiest way to backup an emuMMC is using dd, wich you are already familiar with.
You just need to invert 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.

i recently got my hands on an unpatched switch that is on OFW 9.2, does that mean that this method is a bust for me? I know I cannot use Deja Vu, but does that limit me from this completely or what other means would I have to go about it? Would it be worth going to 10.2 before I do my clean backup and continuing to try this?

Really want to get this working ad this is such a wonderful guide, thanks for taking the time to make it!

You can follow the tutorial and have two emuMMC, but in your case (no DejaVu) it's more useful sticking to a clean real sysnand (OFW) + one dirty emuMMC (CFW).
 
Last edited by kassio69,
  • Like
Reactions: Artomis

ROYGES

Well-Known Member
Newcomer
Joined
Mar 16, 2017
Messages
74
Trophies
0
Age
41
XP
260
Country
United States
please help me, I followed your instructions but SD Raw Partitions only show SD RAW 2 grey, SD RAW1 is Black, as I said I follow the instructions and I actually did it twice in 2 different SD Cards. If I go to Launch in Hekate I have 3 options;
-Atmosphere FSSO EmuMMC
-Atmosphere FSSO SYS
-Stock SYS

is this how it's supposed to be?
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,136
Country
Brazil
please help me, I followed your instructions but SD Raw Partitions only show SD RAW 2 grey, SD RAW1 is Black, as I said I follow the instructions and I actually did it twice in 2 different SD Cards.

If RAW1 is black it means you are missing step 6 of the tutorial.

If I go to Launch in Hekate I have 3 options;
-Atmosphere FSSO EmuMMC
-Atmosphere FSSO SYS
-Stock SYS

is this how it's supposed to be?

You should edit hekate_ipl.ini.
Try the configuration I suggested at the end of the first post.
 

ROYGES

Well-Known Member
Newcomer
Joined
Mar 16, 2017
Messages
74
Trophies
0
Age
41
XP
260
Country
United States
If RAW1 is black it means you are missing step 6 of the tutorial.



You should edit hekate_ipl.ini.
Try the configuration I suggested at the end of the first post.

I was installing in Partition 2, I did Partition 1 and now I have it.

Edit the Ini, I Assume I have to do that in my PC. right?

edit: There is no System settings in my config folder but there is a config_templates folder which contains System settings should I move that Ini into the Config folder?
 
Last edited by ROYGES,

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,136
Country
Brazil
I was installing in Partition 2, I did Partition 1 and now I have it.

Follow the instructions with attention:
The third partition is RAW2, that's where the clean NAND backup goes (and becomes the clean emuMMC).
The second partition is RAW1, a copy of your current real sysnand (wich will become the dirty emuMMC).
The first partition is your FAT32 SD card space.

Edit the Ini, I Assume I have to do that in my PC. right?

Yes, you edit the hekate_ipl.ini in your pc (bootloader folder).

edit: There is no System settings in my config folder but there is a config_templates folder which contains System settings should I move that Ini into the Config folder?

You can create a system_settings.ini in the config directory with the options presented in the template (without the semicolon in front).
If you don't have the file, Atmosphere will use default options.
The only not standard option I use is " enable_deprecated_hid_mitm = u8! 0x1 "
 
Last edited by kassio69,

ROYGES

Well-Known Member
Newcomer
Joined
Mar 16, 2017
Messages
74
Trophies
0
Age
41
XP
260
Country
United States
Follow the instructions with attention:
The third partition is RAW2, that's where the clean NAND backup goes (and becomes the clean emuMMC).
The second partition is RAW1, a copy of your current real sysnand (wich will become the dirty emuMMC).
The first partition is your FAT32 SD card space.

I did follow the instructions with attention, I even did it multiple times with no RAW1 results, when "Create emuMMC" > "SD partition" I would get to a point to choose partition, part1 and 2 available and 3 black(not available) I picked part 2 a few times and RAW 1 would not appear, I decided to try Part 1 and it worked.
 
Last edited by ROYGES,
  • Like
Reactions: kassio69

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,136
Country
Brazil
Kassio69
Is it a problem to have Raw1 in this first partition? If it is, I will try again.

If I understand correctly you have:

partition 1 = RAW1
partition 2 = SD card space
partition 3 = RAW2

Is this right?
I believe it's not a problem, just make sure the contents of partition 2 are properly readable.
 

ROYGES

Well-Known Member
Newcomer
Joined
Mar 16, 2017
Messages
74
Trophies
0
Age
41
XP
260
Country
United States
If I understand correctly you have:

partition 1 = RAW1
partition 2 = SD card space
partition 3 = RAW2

Is this right?
I believe it's not a problem, just make sure the contents of partition 2 are properly readable.

I believe I have:

Partition 1 = SD Card Space + Raw1
Partition 2 = Empty (I tried to create RAW1 here to no avail)
Partition 3 = RAW2
 

xradeon

Member
Newcomer
Joined
May 27, 2020
Messages
7
Trophies
0
Age
37
XP
51
Country
Mexico
I'll try to create a single emuMMC for online (because I already have another SD card with CFW). But I have one question. My rawnand backup is splitted in 15 files. How can I prepare them for the initial flash?
 

kassio69

Well-Known Member
OP
Newcomer
Joined
Nov 20, 2011
Messages
80
Trophies
1
XP
1,136
Country
Brazil
I believe I have:

Partition 1 = SD Card Space + Raw1
Partition 2 = Empty (I tried to create RAW1 here to no avail)
Partition 3 = RAW2

It's impossible to have SD card space + RAW1 in the same partition.
I suggest that you format your SD card and create the three partitions again, with the sizes indicated in the first post.

I'll try to create a single emuMMC for online (because I already have another SD card with CFW). But I have one question. My rawnand backup is splitted in 15 files. How can I prepare them for the initial flash?

Did you create your backup with Hekate?
Download this: https://github.com/CTCaer/hekate/releases/download/v5.2.1/joiner_scripts_for_windows_linux_macos.zip
Then run the appropriate script.
 

scandal_uk

Not Really There
Member
Joined
Oct 3, 2005
Messages
322
Trophies
0
Location
UK
XP
580
Country
United Kingdom
Forgive me if I've missed this point, but if I were to install NSPs on my dirty NAND to the SD Card partition, would this not be detected when using the clean CFW NAND? Or is it only "aware" of NSPs installed when using the same NAND?
 
Last edited by scandal_uk,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Veho @ Veho:
    The fuuuuu---
  • Veho @ Veho:
    I thought it was an actual xBox at that price.
  • Sicklyboy @ Sicklyboy:
    I wanna grab a 360 Slim and a 360 E one of these days. Missed the boat of getting them at their lowest though, once they were discontinued. Could've got them for cheap back when I was a broke 20 something working at Target, but then again, I was a broke 20 something working at Target
  • Veho @ Veho:
    Being broke is no fun.
  • K3Nv2 @ K3Nv2:
    @Sicklyboy, $150 isn't that bad for a jtag slim on ebay
  • Veho @ Veho:
    I only wish it was actually playable.
  • Veho @ Veho:
    There's a guy on the Tube of You that makes playable mechanical arcade games out of Lego. This could work on the same principle.
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +1
    The Real Jdbye @ The Real Jdbye: @LeoTCK actually good quality products are dying out because they can't compete with dropshipped... +1