to know how it works, you need to know how the console works to read a disc or the files on the internal memory.
The running application don't mount the devices and don't access the file itself. Instead, it asks the IOS (which acts as bridge between software and hardware, like a driver) the file they want to access, then the IOS mount the drive, locate the file, and give it to the application.
App/game <---> IOS <---> CD/NAND
the cIOS is a patched IOS which redirect the mounted devices.
App/game <---> cIOS <---> USB/SD/CD/NAND
when you launch a Wii game from USBLoaders, the loader use the cIOS which has access to USB. when the game request a file, the cIOS take it from USB (instead of CD) and send it to the running application. the game don't know the file is from another place, it runs as if it was the original file from served by the IOS from the game Disc. the game trusts the IOS and communicate only with it, it doesn't care where the provided file comes from.
EmuNAND is working the same way.
You create a copy of your internal Wii memory content (the files and folders in the internal file system) on an SD or USB FAT32 partition, and tell the cIOS to redirect the file access request and provide another file from the external device, instead of the original internal memory, to the asking application.
it's wrongly called "emulated NAND", but it's in fact a "redirected NAND access", it's not emulated.
Most USBLoaders have that option, because it's included in the cIOS itself. It's just an option to enable or not to load (or save) files to another location than the original place.
It's slightly different than 3DS, because the 3DS emuNAND is a full binary chipset data (8GB NAND -> 8GB 1:1 exact binary data copied on a hidden partition on SD card, it's not a FAT32 but the full copy of the chipset memory, not its file system).
the wii does not require the full NAND binary as a partition, only the files stored in a folder.
Dumping a NAND File system takes about 1 minute and is easy to recreate whenever it's needed! compared to full chipset dump which takes 30min/1hour.
You can even have multiple dumped version at the same time (PAL, NTSC, Kids, Friend, etc.) and it's not tied to a specific console which means you can take your SD card 'on the go' and continue playing your own games on your friend's console.
It's also different in the sense that you don't choose to boot either the normal NAND, or the copied partition. instead, you always boot the normal NAND which has a patched IOS (the d2x cIOS you installed in softmod guides) with the added ability to serves/redirect files in real time. It's an option you choose per launched game, and not per console boot.
But the "boot into a full redirected NAND copy" mode exists too, it's what is called "neek". although it has better compatibility, it's also slower to boot and harder to setup and manage or integrate in backup loaders.
so, you have 2 different emuNAND method :
1. real time cIOS emuNAND redirection as individual option from the real NAND (like LayeredFS),
or
2. full neek emuNAND rebooted environment (like redNAND on 3DS).
The purpose of emuNAND on Wii is to :
- prevent brick on real NAND. Useful when creating and testing a new system menu theme, or installing channels which can have bad data or can be malware, bricking only the copy.
- have a lot more space to install channels and data (VC, Wiiware, savegame, etc.), up to 2TB instead of 512MB! Unline 3DS the emuNAND is not the same size than NAND. The available space is as big as the FAT32 partition. (theoretically 16TB, but currently only 2TB)
it’s just by opening up USB loader gx via the forwarder channel and within homebrew.
You don't even have the USB connected?
so it shouldn't be related to a bad game or cover as there's nothing to loads from it.
though, if you don't have a connected USB, the loader goes in "channel mode", to display Wiiware and Virtual console you have installed on your console.
so, it's possible the problem is your console's data. Not sure how you can test that without deleting games.
Edit: Maybe by using an USB ! it will not try to load the games on the console's NAND but only the USB. if it works with usb, you could do more tests.
but, if you really use r1268, then the code dump is showing it's crashing when accessing sound files.
It crashes on loading a button_click.wav file normally included in the dol. (unless you use a theme)
if you don't use r1268 then the code dump are pointing to wrong addresses. you need to provide the exact revision you are using long the code dump screenshot.