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:
- Windows 10 Host with microSD card slot (or SD card slot with SD/microSD adapter, or some USB adapter)
- USB Type-C cable (if that’s how you prefer to inject Hekate payload)
- biskeydump (to dump your Switch BIS keys – it wasn’t clear, we’ll be decrypting your eMMC)
- NxNandManager (to mount eMMC)
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.
The process boils down to a few key steps:
- Using Hekate, boot into biskeydump and dump Switch BIS keys to SD card
- Using NxNandManager, configure keyset to the dumped keyfile from biskeydump
- Using NxNandManager, mount eMMC backup
SYSTEMpartition in read-only
- Copy the following files to some local folder – we’ll be recovering TO these
- Using NxNandManager, mount emuNAND
SYSTEMpartition in read/write
- Copy the following files to some local folder, then delete from emuNAND
- Copy the local files from step #4 into your emuNAND /saves/ folder
1. Dump Switch BIS Keys
Using Hekate, launch biskeydump payload. You can also directly inject it via TegraRcm like any other binary.
VOL- key to save keys as a text file to root of microSD card (https://alvinr.b-cdn.net/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 (
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.
From whatever mount path SYSTEM is at, copy the following files to some local folder:
Return back to NxNandManager and Unmount system.
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.
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.
Delete the following file from emuNAND:
Copy the files restored in step #2 to your emuNAND:
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.
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.