[Guide] A noobNAND's Guide to sysNAND and emuNAND

Discussion in '3DS - Tutorials' started by NekoMichi, Jan 15, 2016.

  1. NekoMichi
    OP

    NekoMichi Retro Collector

    Member
    1,277
    907
    Jun 4, 2015
    Minus World
    (Guía en Español)

    Introduction


    This guide serves as an introduction to what the terms sysNAND and emuNAND mean, what they do, and why they're important. It assumes no previous knowledge or experience of 3DS modding, nor will it include instructions on how to set up emuNAND/unlink NANDs because there are already plenty of great tutorials here about that (however I'll include links to those tutorials wherever appropriate in this guide).

    1. What's a NAND?

    NAND is a form of flash memory, a way to store information electronically. It stands for NOT AND, although that's not really important here. In the context of Nintendo 3DS, it generally refers to the memory chip inside the 3DS console and the contents stored on it. NAND memory contains all of the system files needed to keep the 3DS running such as the firmware and stock apps (eg. 3DS camera, Mii Plaza). It's kept separate from the SD card, where downloaded games, photos, or extra data is stored. Because of this, a 3DS can run without SD memory, but can't run without NAND.

    2. Okay, so what's sysNAND then?

    The contents stored on-board the 3DS itself is referred to as sysNAND (system NAND).

    Figure 1.png
    Diagram 1: Default 3DS memory setup

    As shown in the diagram above, sysNAND is on a chip on the 3DS' internal board, separate to the SD card. The SD card can be removed from the 3DS, but the sysNAND can't. This is the default setup you get when you first receive your 3DS console. When the console starts up, it loads the firmware from sysNAND, then enters the home menu and loads games or other media content from the SD card when needed.

    3. What's emuNAND, and what makes it different to sysNAND?

    EmuNAND stands for "emulated NAND". EmuNAND is essentially a copy of sysNAND's contents, but stored on a hidden partition on the SD card. You can create an emuNAND partition by using homebrew tools like emuNAND9.

    Figure 2.png
    Diagram 2: 3DS with emuNAND partition on SD card

    After setting up an emuNAND, you now have the option of loading the 3DS system from either the sysNAND or the emuNAND. The two NANDs act as two separate consoles, but inside one 3DS. It's like having multiple personalities!

    4. What does "linked NANDs" mean, and why should I unlink them?

    When you first set up an emuNAND, chances are that it's a direct clone of sysNAND. This means that it shares the same Nintendo Network ID account as well as well as other things like theme data, menu icon/folder positions. The trouble is, information can become conflicted between sysNAND and emuNAND (a classic symptom being home menu icons rearranging themselves and eShop downloads becoming re-wrapped again). In order to prevent such conflicts from occurring, the NANDs should be unlinked. This means that one of the NANDs will have to be formatted and set up as new. You can do this with tools like TinyFormat. But before doing any formatting, always remember to create a backup of both NANDs as well as the SD card's contents. You can use emuNAND9 for most backup or restoring tasks.

    5. Which NAND should be formatted and which should be used in general?

    That's really up to you. Just remember that whichever NAND that's formatted will lose all things like Mii Plaza StreetPass progress and eShop titles (though downloaded games will still be on the SD card, just inaccessible on the formatted NAND). This shouldn't matter much if you properly cloned sysNAND to emuNAND beforehand though, because if you format one NAND, the same information will be preserved on the other. For example, if I have games and everything installed before creating emuNAND and then format my sysNAND, then everything will be reset on sysNAND and it will start up as if it were a new console, but if I switch into emuNAND then all my games, StreetPass characters, and Miis will still be there.

    Generally, people format sysNAND and use emuNAND to install games or other homebrew apps on. Why? There are 2 main reasons:

    1. It gives you a clean sysNAND to work with. If you installed any homebrew or modified the system in any way, this will be reset.
    2. It gives you a fallback in case emuNAND is bricked. If you accidentally install some bad .cias onto emuNAND and cause it to brick, you can easily restore an earlier backup onto the SD card. If however this happens to the sysNAND, restoring won't be so simple. This is due to how the 3DS system boots up.

    6. How is the 3DS booting method relevant?

    When you power on your 3DS, it will always load the firmware data from sysNAND first, and then it will read information about the home menu, such as themes and icons before entering the home menu.

    Boot1.png
    Diagram 3: Default 3DS boot up process

    This means that whatever system files stored on sysNAND must be healthy and undamaged in order for the 3DS to successfully start up. If you've installed something like MenuHax to boot into emuNAND from startup, then the process looks a little more like this:

    Boot2.png
    Diagram 4: 3DS boot up process with MenuHax
    When the 3DS starts up, it loads the firmware from sysNAND, then when attempting to load theme data for the home menu, it's intercepted by MenuHax which searches and launches boot.3dsx from the root of the SD card. Many setups have boot.3dsx as a CFW that then enters emuNAND (or a boot manager that then leads to the CFW). This also explains why changing themes will temporarily stop MenuHax from working, because the exploit data gets replaced with the new theme data.

    The point is, with the Menuhax coldboot method the 3DS will read firmware data from sysNAND first as soon as it's powered on before anything else can run. So if sysNAND were somehow compromised by installing bad .cia files then the 3DS system won't even be able to start up at all. And since recovery mode is part of NAND, a broken sysNAND might mean being unable to enter recovery mode, resulting in a hard-brick. If, on the other hand, the problems occurred on emuNAND, at least the 3DS is capable of booting into sysNAND and from there on, you can work with repairing emuNAND. Going back to diagram 2, we know that emuNAND is removable and sysNAND isn't. So therefore a broken emuNAND can still be extracted and repaired easily since it's on removable media while a badly broken sysNAND can only be fixed with a hardmod, which most 3DS users don't have.

    New Update: Arm9loaderhax

    A recent development in the 3DS homebrew scene is arm9loaderhax, which is an exploit that can be run even before sysNAND boots up. This drastically changes how the boot process works:

    Boot3.png
    Diagram 5: Boot up process with arm9loaderhax
    The exploit is executed as soon as the system powers on, and can run code before sysNAND even starts up. This means that even in the event of sysNAND failure, it's still possible to boot into a recovery utility such as Decrypt9 and attempt to restore the sysNAND. Along with safety features, arm9loaderhax also allows 100% success rate when entering a CFW and boot speeds are similar to stock OFW. There are downsides though, as setting up A9LH takes a lot of time with multiple backups, downgrading to system version 2.1 (small risk of bricking if not careful), and will make it so that the 3DS must have an SD card inserted with an arm9 payload, or it won't boot.

    Summary

    To summarise this rather long post, the 3DS' vital files are stored in NAND. sysNAND lives inside the 3DS' main board while emuNAND lives on the easily accessible SD card. You should unlink NANDs to prevent system conflicts and should always experiment with .cia files on emuNAND since it's easier to recover from a brick. If you have arm9loaderhax though, it's possible to attempt a recovery even if sysNAND has been damaged. I hope this clears up a lot of questions for people who have just joined the 3DS modding community. Good luck! :)

    Glossary
    Warning: Spoilers inside!
     
    Last edited by NekoMichi, Mar 22, 2016


  2. sl0ps

    sl0ps Advanced Member

    Newcomer
    97
    196
    Dec 29, 2015
    United States
    This is better than the flowchart I was trying to make. I think this will help a number of visual learners wrap their head around this.
     
    Dionicio3 and NekoMichi like this.
  3. SWS90

    SWS90 GBAtemp Regular

    Member
    133
    23
    Jan 6, 2014
    United States
    Nice guide. Helped me understand some more things.
    The only small change I would make is to the picture in part 3. Make it more easier to understand that emuNAND is part of the SD card, if I did not know, or did not read the text above that picture, I would assume that sysNAND and emuNAND are part of the same thing, and not separate.
     
  4. lucifer6e

    lucifer6e Newbie

    Newcomer
    7
    1
    Oct 30, 2008
    United States
    California
    Very nice work! Just log in to like this
     
    NekoMichi likes this.
  5. NekoMichi
    OP

    NekoMichi Retro Collector

    Member
    1,277
    907
    Jun 4, 2015
    Minus World
    I adjusted the diagram a little, does it help?
     
  6. Mustaa

    Mustaa Advanced Member

    Newcomer
    78
    4
    Jan 13, 2016
    Netherlands
    Yeah it seems better like this, at first I was confused a bit (taking a loo k at the images before further reading). Thanks for the guide
     
    NekoMichi likes this.
  7. V0ltr0n

    V0ltr0n GBAtemp Fan

    Member
    467
    265
    Jan 5, 2016
    United States
    I gathered the difference between sys and emu just by the names. Nand on the SYStem and EMUlated nand. Great explanation of what a nand is for those that dont know though. And the flow chart? Nice job. Simplistic enough that anyone should be able to have a basic understanding of how nands work on 3ds. 10/10 would nand again-ign
     
    Last edited by V0ltr0n, Jan 16, 2016
    NekoMichi likes this.
  8. SWS90

    SWS90 GBAtemp Regular

    Member
    133
    23
    Jan 6, 2014
    United States
    Yeah, it does help.
     
  9. samiam144

    samiam144 Régulier

    Member
    2,871
    935
    Aug 19, 2007
    Canada
    Fantastic. Absolutely fantastic. :hrth:
     
  10. weatMod

    weatMod GBAtemp Advanced Maniac

    Member
    1,922
    601
    Aug 24, 2013
    United States
    can you add a section about how to use online and prevent updates on sysnand and emunand?

    i never use sysnand and i have no connections settings set up in there

    i use emunand on N3ds but i dont setup connection settings in there anymore and i leave wireless communication off in there to because i got aan update nag in emunand before

    i got a new sd card and re injected a backup 9.5 emunand to N3ds and got rid of the nag now
    but now i want to use online /wireless communications to play SSB and MK7 and to use sd memory card management from home screen in emunand
    but i am afraid of it downloading an update and getting another nag, how can this be avoided?

    would be nice if you can explain how updated downloads are stored where they actually go, to sd card of internal nand chip etc, and how to get rid of them and how to prevent them
     
  11. NekoMichi
    OP

    NekoMichi Retro Collector

    Member
    1,277
    907
    Jun 4, 2015
    Minus World
    Well, with the introduction of Arm9loaderhax, there's now a new booting pathway significantly different to Menuhax that's becoming more popular. Would it be useful to people if I added a new A9LH section to this guide with updated information?

    UPDATE 22/03/2016:
    I've added A9LH to the tutorial.
     
    Last edited by NekoMichi, Mar 22, 2016
    mungry likes this.
  12. marco8080

    marco8080 Member

    Newcomer
    12
    1
    Jan 3, 2016
    tnx for the tutorial may i know how to backup sysNAND incase i downgrade?
     
  13. NekoMichi
    OP

    NekoMichi Retro Collector

    Member
    1,277
    907
    Jun 4, 2015
    Minus World
    You can use Decrypt9 to create a sysNAND.bin dump.
     
  14. marco8080

    marco8080 Member

    Newcomer
    12
    1
    Jan 3, 2016
    tnx i google it
     
    NekoMichi likes this.
  15. Rinforzando

    Rinforzando Newbie

    Newcomer
    9
    1
    Mar 25, 2016
    United States
    This is a really great guide - thank you!
     
    NekoMichi likes this.
  16. dsync

    dsync Member

    Newcomer
    25
    4
    May 2, 2012
    Malaysia
    Kudos for clarifying the difference between sysNAND and emuNAND in a very concise manner! Would like to see other guide to explain about the sdCard directory system, especially the [Nintendo 3DS] folder with bunch of hash codes.
     
  17. lordelan

    lordelan GBAtemp Advanced Maniac

    Member
    1,527
    432
    Jan 4, 2015
    Gambia, The
    Please quote me when you answer me.

    I'm new to the 3DS Scene.
    With A9LH + Luma3DS I can have my sys updated to Ninty's latest version in order to play online and install games to SD without to fear that a FW update removes my softmod/A9LH/Luma right?
    So there's no reason for an emuNAND any longer and my setup is all I'll ever need?
     
  18. kprovost7314

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,688
    883
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    Correct. Your mods shouldn't be removed when updating and there's no reason for emuNAND/MenuHax anymore.
     
    lordelan likes this.
  19. lordelan

    lordelan GBAtemp Advanced Maniac

    Member
    1,527
    432
    Jan 4, 2015
    Gambia, The
    Fantastic, that's what I wanted to hear.
    Would be a bit better for noobs if this is clearly written here in every guide which is about emuNAND in any way.
     
  20. x3YukiLuix

    x3YukiLuix Member

    Newcomer
    21
    4
    Sep 11, 2016
    Malaysia
    i have a9lh+luma+sysnand... so now i dont need emunand to restore the nand if brick?