Virtual SD Card Guide
Dolphin store data to virtual SD card namely sd.raw and it's stored under \Documents\Dolphin Emulator\Wii\. By default, it will be created with size 128MB.
Why Virtual SD card
Virtual SD card has very important use for homebrew apps on Dolphin, Project M and Mario Kart custom tracks are the best example of this, as some homebrew apps can only work using files stored in (virtual) SD card.
Creating and editing virtual SD card
Easy Dolphin SDCard Maker
If the sd.raw didn't exist or you prefer to start over from scratch with size more than 128MB, you can create sd.raw using Easy Dolphin SDCard Maker. I recommend you create with size at least 512MB for large homebrew app, for example, Project M, and no more than 2GB for best compatibility.
WinImage
sd.raw can be edited using WinImage.
Linux
sd.raw can be edited by mounting the virtual disk
mount -o defaults,umask=000 sd.raw /media/sdcard
When you are done, simply unmount it
umount /media/sdcard
Dolphin setting
Go to Options > Configure... > Wii > and enable Insert SD Card.
Usage with homebrew app
The external files used for homebrew app must be stored within sd.raw and the homebrew app itself (boot.elf or boot.dol) must exist outside of it for Dolphin to load from. Project M, for example, will load from SD root \projectm\ and Dolphin will need to launch Project M through \homebrew\apps\projectm\boot.elf NOT in virtual SD card. It's very ideal to have same copies paralleled between inside and outside of virtual SD card, so you will have nothing to lose.
The homebrew app that was programmed to hack the Wii game will not work if you haven't set particular Wii as default ISO yet! Within Dolphin game list, open context menu (right-click) on any Wii game and click Set as default ISO. Do this before loading homebrew app with Dolphin.