At the time of writing, there are several issues (#1124, #1145, #1173, #1256, #1491) opened into Atmosphere-NX/Atmosphere regarding the following error:

A fatal error occurred when running atmosphere
Title ID: 0100000000000002b
Error Desc: std: abort () (called 0xffe)

I encountered it out of nowhere on SW 15.0.1|AMS 1.4.0, but have heard of others facing it as a result of a bad microSD (already tested mine), or as the result of uncleanly shutting down Atmosphere.

Besides restarting from scratch with setting up a new emuNAND, I’ve also heard of success by restoring from an entire backup emuNAND.

Both of these are too nuclear for my tastes – let’s look into how we can recover an existing Atmosphere emuNAND by partially recovering from an eMMC (sysNAND) backup.

You made an eMMC backup for this very purpose

Besides a properly backed-up eMMC as documented almost everywhere when first homebrewing the Nintendo Switch (e.g. NH Switch Guide), you’ll also need:

Should note that the files we’ll be recovering from eMMC don’t seem to change much across Switch versions – in recovering my switch, I ended using an eMMC backup made on SW 9.0.1.

To summarize

The process boils down to a few key steps:

  1. Using Hekate, boot into biskeydump and dump Switch BIS keys to SD card
  2. Using NxNandManager, configure keyset to the dumped keyfile from biskeydump
  3. Using NxNandManager, mount eMMC backup SYSTEM partition in read-only
  4. Copy the following files to some local folder – we’ll be recovering TO these
    /saves/8000000000000050
    /saves/8000000000000052
  5. Using NxNandManager, mount emuNAND SYSTEM partition in read/write
  6. Copy the following files to some local folder, then delete from emuNAND
  7. Copy the local files from step #4 into your emuNAND /saves/ folder

Step-by-step

1. Dump Switch BIS Keys

Using Hekate, launch biskeydump payload. You can also directly inject it via TegraRcm like any other binary.

Hit VOL- key to save keys as a text file to root of microSD card (/device.keys)

Shut off the console and get the microSD plugged into your Windows host.

2. Recover /saves/80…50 and /saves/80…52 from eMMC backup

Using NxNandManager, configure keyset by importing exported BIS keys from Switch microSD card (/device.keys).

NxNandManager
NxNandManager | Configure keyset

Load backup eMMC and mount SYSTEM as Read-Only – we don’t want to modify our backup.

If this is the first time doing so, you might be prompted to install the Dokan dokan1 DiskDrive driver. Next through the Windows Device Driver Installation Wizard to do so.

NxNandManager
NxNandManager | Open file (choose starting rawnand.bin.00)
NxNandManager | Partition view
NxNandManager | Mounting SYSTEM partition in read-only

From whatever mount path SYSTEM is at, copy the following files to some local folder:

  • SYSTEM (NxNandManager)/save/8000000000000050
  • SYSTEM (NxNandManager)/save/8000000000000052

Return back to NxNandManager and Unmount system.

NxNandManager | Unmount SYSTEM
NxNandManager | Close eMMC

3. Restore /saves/80…50 and /saves/80…52 to emuNAND

Mount our switch microSD card and load emuNAND from device. Ensure that when mounting SYSTEM that Read-Only is unchecked.

NxNandManager
NxNandManager | Open drive (emuNAND typically the smaller 30GB volume)
NxNandManager | Partition view
NxNandManager | Mount SYSTEM in read/write

Copy the following files to some local folder on your Windows host – they’re most likely bad files, but we don’t want to delete them in the event that recovering from eMMC makes things worse and we end up needing to recover from them.

  • SYSTEM (NxNandManager)/save/80000000000000d1
  • SYSTEM (NxNandManager)/save/8000000000000050
  • SYSTEM (NxNandManager)/save/8000000000000052

Delete the following file from emuNAND:

  • SYSTEM (NxNandManager)/save/80000000000000d1

Copy the files restored in step #2 to your emuNAND:

  • SYSTEM (NxNandManager)/save/8000000000000050
  • SYSTEM (NxNandManager)/save/8000000000000052

Unmount, close device (similar process at the end of Step #2), and unmount your microSD from Windows.

At this point, you can insert your microSD back into the switch console, boot into RCM, and inject your favourite payload to launch Atmosphere.

Wrapping up

The concept of mounting + partially recovering from eMMC seems to be a sacrilegious topic in the switch homebrew community. I’m hoping that this guide not only helps you fix the ‘A fatal error occured when running Atmosphere’ Title ID: 010000000000002b panic, but also serves as a beacon to fixing similar issues where the solution involves recovering specific files from eMMC.

Join the conversation

12 Comments

  1. This helped a lot! Thank you! I don’t understand why the community refuses a more surgical approach. It’s like one person with clout said a thing and now everyone blindly regurgitates it. This obviously proves the entire partition isn’t corrupt. I am curious how you determined those two files were to blame and, since this issue has affected multiple users, what corrupted the files in the first place.

    1. Great question – it’s mostly caused by media failure, but I’ve seen unclean start/stop of atmosphere playing a role too.
      Can’t say many use durable storage for the switch – most get by using cheap SD media which isn’t known for it’s long life.

      I always recommend others following the above procedure to do a check for media health using CrystalDiskInfo, as these two files getting corrupted can be an early indicator that you should look into preparing a replacement for your SD.

  2. I deleted SYSTEM (NxNandManager)/save/80000000000000d1 but now when powering up the switch it gets stuck in the logo screen. I checked the folder again but the files has not been regenerated. Did I fuck up or is there a way to recover it and fix my switch? I did not make a nand backup because I am that stupid :/

    1. Hey Hedaro,
      This process involves recovering from a known, good emuNAND.
      If you deleted from SYSTEM but don’t have a backup emuNAND to recover it from, you can try to create a new emuNAND on a new SD card (a temporary setup) just to restore it from.

      Assuming it’s only deleted and you didn’t format the card, you may be able to run PhotoRec on it to recover 80000000000000d1.

    1. Hey Cassios,
      Mind sharing more info? What happens during step #3?
      Is there an explicit error you’re seeing when mounting emuNAND with NxNandManager?

  3. I could not access the emuNAND drive from the SD card so I booted into Hekate and used USB tools to mount it. Otherwise the instructions worked great. Thanks!

  4. Hi,
    I followed all steps except for the last step because I could not access the emuNAND drive from the SD card, so like said in the last comment, I had to use usbtools to mount it. After deleting d1 and replacing 50 and 52, I injected hekate payload using Tegra and I am still getting the same 2b error. What could have gone wrong, can you guide me please?
    Ananth

  5. This fix totally worked for me thank you! The only thing I did differently was dump my keys using lockpick.
    I’ve had a modded switch for couple years now, and my sister wanted to play BOTW. I updated firmware and atmosphere to the latest since it’s been a while, and I guess I corrupted something causing this crash to happen.
    Making a backup really saved me here!

  6. Hello Alvin,
    When copying to the SD the files 8000000000000050 and 8000000000000052, it’s failing, just freezes, or, if i force it somehow, albeit the files appears to be the correct size, if i unmount/mount the partition again, it shows as 0kb.
    Trying to boot the emunand like this, fails again with the 010000000000002b.
    Any idea?

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.