USB Partition - Use partitioned USB HDDs with the Wii U

Why?

You have asked for it, so here it is...

USB Partition


The Wii U only allows you to format whole USB storage devices to use them for expanding the storage to store Wii U games. This stroopwafel plugin changes this. It lets you use a partition on your USB storage device for storing Wii U games. You can for example have one partition to use in vWii with USB Loaders and then a second Wii U formatted partition to store your Wii U games.

There are two variants of this plugin: the standard one (5usbpart.ipx) only mounts the Wii U formatted partition. The sd variant (5upartsd.ipx) allow you to use a FAT32 partition as a SD card replacement.


If you want instead use a Partition on your SD card as USB storage for Wii U games look here: https://gbatemp.net/threads/sdusb-the-modern-way-to-play-wii-u-games-from-sd-at-full-speed.655744/

Wafel Installer



As a alternative to following this manual guide, you can now use the wafel installer. It guides you through installing the prerequisites, partitioning and setting up the plugin. It is also the only way right now of modding your console without a SD card first.
If you want to follow the manual setup, skip to the next section (Prerequisites)

If you are already using Aroma, put the wafel_installer.wuhb into your wiiu/apps folder on the SD. You find the download here: https://github.com/zer00p/wafel_installer/releases
If you haven't modded your console yet, or lost the SD or SD content, just go to https://wafel.xyz on the Wii U web browser (Internet applet) and you can launch the wafel installer directly from that website.

If you don't have a SD, it asks you if you want to use the USB instead, which will setup the SD emulation version of the plugin. Demo
Installing Aroma is optional.
Stroopwafel and ISFShax are required.
If you are already running homebrew from the SD, you can start the setup of the USB Partition from the USB Partition option in the wafel installer main menu.

Prerequisites

You need two things:
  1. a way to launch minute (usually ISFShax)
  2. a USB Storage device, like an external HDD, SSD or industrial USB Flash drive.
For 1. the recommended way is to setup ISFShax, for that we have a guide here: How to set up ISFShax
If you don't want to commit to installing ISFShax yet you can skip the "Installing ISFShax" step in the ISFShax setup guide and instead run it manually through the chosen exploit on every reboot.
Instead if ISFShax you can also use defuse, in case you have that already.
If you want to use the SD emulation feature, you need to setup ISFShax to run completely from SLC (as you won't have a real SD card to load the files from)

For 2. you find already enough recommendations and people with strong optinions on what to use and what not, so I won't go into much detail there. Generally flash drives use the cheapest of the cheapest garbage flahs and therefore won't last long, even brand ones. So it's generally advised to avoid them or make sure it is really a good one by checking if it gives numbers for TBW and implements wear leveling.

Setup

First of all make a Backup. If anything goes wrong, the whole Disk will be formatted and you lose everything* which was previously on it! You have been warned...

*testdisk might or might not be able to recover something if you are lucky, but do not rely on that.

Partitioning the USB disk​

On Windows you can probably use Disk Management with HDDS. If DIsk Management won't work for you or you have Pen drive you can use a third party tool like Minitool Partition Wizard or Easeus, on Linux you can use gparted.

The general rules are: The partition Table needs to be MBR, not GPT. The first Partition (by number, not physical location) is either ignored or used as SD card (depending on which favor of the plugin you use). If you want to use it as SD card, it needs to be primary (not logical) and formatted FAT32. From the other primary partitions only ones with the NTFS (or exFAT) type will be considered. The phsically last one of those will be chosen and used as (wfs) USB storage.

You can either chose from scratch by deleting all partitions and start from scratch or resize an existing partition to make room.
An example setup would be:
two primary partitions on the USB Disk:
  1. FAT32 - (in gparted set lba flag). Here goes the vWii games and homebrew if you use the SD variant of the plugin.
  2. NTFS - This partition will be seen by the Wii U as "USB", you use to store the Wii U games on (don't assign a drive letter)
Instead of NTFS you can also use exFAT. NTFS won't be the file system the Wii U will be using, it is just there to tell the plugin which partition to use. The Wii U will later format it with it's own file system (wfs).

usbpartiton.png


Installing the Plugin​

Get the latest 5usbpart.ipx (or 5upartsd.ipx for sd emulation) from here: https://github.com/StroopwafelCFW/wafel_usb_partition/releases and place it in your ios_plugins folder. That is either wiiu/ios_plugins on the SD card or /sys/hax/ios_plugins on the slc.


Using the Partition

If you now boot boot back up, the Partition shows up as a USB device, which needs to be formatted and can then be used as usual. Before you start installing stuff on it, I would recommend you connect it back to the PC and check if it worked and the partitions are still there. After formatting the partition, you can also connect an existing USB storage and copy stuff over.

Caveats with the SD emulation


The SD emulation is only present in the Wii U OS. It won't have any affect on vWii and also isn't available in minute. So you can't use it to load the ios_plugins or do backups to in minute.
It should only be used without an actual SD inserted to avoid potential corruption. The Wii U FAT driver only supports one device. If two are connected the one which is detected later is used. If both are connected during bootup the USB one would win, since USB is detected later than the real SD.

Known Problems


Wii VC (including GC) does not work beyond 2TiB. If you are planning to use Wii VC from the eShop or Injects, then don't go beyond 2TiB. The addressing for 4TiB has only be fixed for the Wii U side, but not vWii / HAI IOS.
 
Last edited by SDIO,
Wii VC should work from the partition. But maybe if it is beyond 2TB that could cause problems. I needed to patch the SCSI driver in IOSU to use 64bit addresses. I would assume HAI IOS has the same problem and therefore doesn't work.

What could work: have the partition start further inside the first 2TB and install the Wii VC first, so the Wii VC gets placed on blocks that are still inside the first 2TB. But that is more of a hack and involves undefined behavior, so it's not reliable
Edit: I confirmed that USB Loader GX works and runs games from the FAT32 partition. It's only launching Wii games from the Wii U Menu(installed from NUSpli) and WiiFlow that black screen crash.

I'm now having what I believe is the same issue. I have a 750GB 2.5" HDD on a y splitter cable though.

vWii games launched from the Wii U Menu black screen until the system reboots. These were installed with NUSpli. Disc games work fine.
USB Loader GX can see both partitions just fine. And the vWii seems to see the FAT32 partition as an sd card. The wii file explorer HB app can also see the FAT32 partition as a USB device.

But WiiFlow crashes with the same kind of black screen crash. It goes back to the HB menu instead of rebooting though. What's different here is that using the startup config app to turn off forced clos changes things for WiiFlow. It will now show the splash screen, then crash before it can generate a .ini config file and/or logs.

I have the partitions flanged up as in my previous post. But I want to redo them and make more room on the vWii/FAT32 side.

Is there any possible way to resize the partitions without having to completely redo them? I won't lose anything important, it's just super time consuming to reinstall all the games again and all that. Will it actually work if I just shrink the WiiU volume?

I'm probably going to reinstall the vWii using the Decaffeinator on extreme. But not until tomorrow or Saturday.
 
Last edited by Intoxicus5,
If your HDD is already encrypted, then just use the the normal one. You can't decrypt it and there isn't much advantage to it. It doesn't help with performance form my tests.
Well, the question is whether a unencrypted drive would work on any WiiU, not only on the one written to it?
If I would like to create an unencrytped drive, what are steps to do? Can one copy from an encrypted to an unencrypted drive using WiiU's data managment?
 
  • Like
Reactions: DolphinPussy
Hi! Thanks for the work on this. I installed a USB drive internally into my wii u and used this to have it serve both wii u and wii. I can use FTP on the wii side to add games to the drive there, but is there a way to use the FTPuii on the wii u side to move files to the drive? I tried now and do not see it. Also - is FTPuii any faster than normal FTP on the vWii?
 
  • Like
Reactions: DolphinPussy
Hi! Thanks for the work on this. I installed a USB drive internally into my wii u and used this to have it serve both wii u and wii. I can use FTP on the wii side to add games to the drive there, but is there a way to use the FTPuii on the wii u side to move files to the drive? I tried now and do not see it. Also - is FTPuii any faster than normal FTP on the vWii?
I can only answer about the first question, answer is no. The Wii U partition is mounted while on Wii U mode, so the FAT32 partition goes unused. Though you don't need FTP to access the FAT32 partition, you can plug it into your computer directly and that will work fine (way better than the FTP speeds).

If you want to move files to the WIi U partition, you don't really need to. All that's on there are game files and save files, it's way easier to use SaveMii for the saves and there's no reason to mess with the game files.
 
I can only answer about the first question, answer is no. The Wii U partition is mounted while on Wii U mode, so the FAT32 partition goes unused. Though you don't need FTP to access the FAT32 partition, you can plug it into your computer directly and that will work fine (way better than the FTP speeds).

If you want to move files to the WIi U partition, you don't really need to. All that's on there are game files and save files, it's way easier to use SaveMii for the saves and there's no reason to mess with the game files.
Yeah that makes sense. But I have a curveball. I have a HDD hardwired into the usb ports.


Like this:
DHRdyCe.png


I tried inserting to plug it into my computer through USB A to USB A cable like so, but this didn't work:

gYg8hP9.png


Now the last option I have, which I have not tried, is a switch (4PDT to be exact) that could switch over the 4 usb wires to a usb port that I can then plug a cable into. I am by no means a circuitry expert, so I haven't tried this yet cause I am not yest convinced it will work.
ehXthv1.png
 
  • Like
Reactions: DolphinPussy
Hey all, this is amazing work.

Just to check for my understanding, will this allow me to use an external fat32 drive for my Wii U retroarch, while still having the SD card that is needed to run a Wii U?

Thanks again.
 
If you want to use the FAT32 partition for Wii U stuff, then you would use the version of the plugin with SD Emulation. In that case it would replace the SD with the partition
 
  • Like
Reactions: grandosegood
Well strange issue here:

Got it working last year on one of my 50 board console, sd emulation version+haxcopy to SLC for fastboot. All working without physical SD and with 88772B ethernet plugin. Then I decided to switch to another HDD, and upgraded the plugin, then it refused to boot.
USB device failed to initialize (no power indicator from the enclosure) if using 5upartsd.ipx. (v4.2 here) I thought something wrong with the updated version then reverted back to previous one from 2025, USB got initialized but still hung before Wii U logo shows up. Then I upgraded isfshax, minute and all other iosplugins I used, still the same...

Then I changed to the non-sd emulation version (by insert physical SD+fw.img at SD's root to force an SD boot), it booted. Upload the non-SD version 5usbpart.ipx to SLC and deleted fw.img from SD root, also worked...

Could you troubleshoot this for me? This is a relatively small HDD:

Code:
Model: JMicron Generic (scsi)
Disk /dev/sdc: 250GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  85.9GB  85.9GB  primary  fat32        boot, lba
 2      85.9GB  250GB   164GB   primary

Tried enclosure with or without individual power supply, the same.
If using 5usbpart.ipx in SLC+physical SD, wiiu boots fine, wiiu games works.
Switched to vwii and in HBC when I appoint USB device, HBC can show wii homebrews on the FAT32 partition. USB loader GX can recognize wii game wbfs image and play, i.e. everything is working on Wiiu and vWii side.

But if I switch to 5upartsd.ipx in SLC and keeping all other iosplugins the same version, the console refuses to boot, no USB initialization. only one-turn of disc drive buzz.

files under ios_plugins folder, all are of latest version I could found:
00core.ipx
5isfshax.ipx
5payldr.ipx
5upartsd.ipx
5usbeth.ipx
 
I can't repoduce the system. I tried with the same setup and it just worked. Do you have any other USB devices connected? Can you try without the usbeth and payldr plugin?
 
  • Like
Reactions: DolphinPussy
Awesome, the biggest advace in the wiiu scene in a long time.
Question. Since it uses MBR, the 2TB limit applies?
We're close to the holy grail setup.
Also I would need someone to test that. I don't have a spare 3TB 512byte sector HDD laying around and I don't feel like spending the time filling it up. So if someone want it, they would have to test it.

So what are your opinions on that?
Would one be able to use the partitions within an internal SATA drive or is that not possible?
 
We're close to the holy grail setup.

Would one be able to use the partitions within an internal SATA drive or is that not possible?
https://github.com/StroopwafelCFW/wafel_sata_usb

Maybe this plugin?
Post automatically merged:

I can't repoduce the system. I tried with the same setup and it just worked. Do you have any other USB devices connected? Can you try without the usbeth and payldr plugin?
OK today I tried a 3rd hdd enclosure and it booted fine with latest 4.2 plugin+usb ethernet... I also noticed there is still a chance of boot fail when connecting to the front USBs, but the rear two are fine.
Alas all these 3 enclousures work on another 30 board console, so the power supply of this 50 one is REALLLLY weak, maybe this is the root cause.

Anyway thanks again for your great work.
 
  • Like
Reactions: DolphinPussy
Yeah, SDIO told me about it.
It is incompatible with most configurations due to lack of testing, so I'm going to rebuild the USB MLC with the 4nocrypt.ipx with 5usbpart + 5upartnc.ipx plug-ins already in (assuming the entire OS needs to be rebuilt without encryption) and maybe that will have SATA working, without an infinite format message loop, as has been reported by another user.
If the USB is on MLC, then one has to assume it will work.
https://github.com/StroopwafelCFW/wafel_usb_nocrypto
Post automatically merged:

I can't repoduce the system. I tried with the same setup and it just worked. Do you have any other USB devices connected? Can you try without the usbeth and payldr plugin?
what is the difference berween 4nocrypt.ipx and 5upartnc.ipx?
5satausb.ipx can't replace it after building from 4usbmlc.ipx?

If 4usbmlc.ipx doesn't function at an order different from 4nocrypt.ipx, is there 4usbmlcnc.ipx (crypto disable systemwide) then the sata drive might work without being system memory, unless the Wii U doesn't see it as a valid device regardless of encryption.

One of these options may function as a workaround if merged, I'm digging through your code to find out.
I appreciate your input, sincerely.
 
Last edited by DolphinPussy,
That isn't ready yet.

what is the difference berween 4nocrypt.ipx and 5upartnc.ipx?
Blue text on blue background is really hard to read... The 4nocrypt.ipx disables crypto on the first USB device attached, no matter if partitioned or not. It is intended for transfer between encrypted and unencrypted USB devices. The 5partnc disables encryption on all partitioned USB devices.
 
  • Love
Reactions: DolphinPussy
Can we have 1st partition for vWii, 2nd for WiiU and 3rd for something else? I mean won't it break the plugins work.
 
depends on the type of the last partition. The plugin looks for the last partition with type 0x7 or 0x17
 
  • Like
Reactions: mrconsole
Sorry if this has been said already. I'm bound to either missing something that I'm meant to do, or I did it right and just misunderstand how I'm meant to put files on each partition.

I'm a bit stuck in-between Set Up and Using the Partitions.

I have everything for ISFShax all finished and working. I have the `5usbpart.ipx` in my iso_plugins folder. I assume everything there is fine

But once I get to setting up Partitions and format the HDD on the WiiU, I plug everything back on my PC and the Partitions don't show up. I have it as an MRB, partition one is exFAT (since I'm not using it for SD card, unless it still needs to be?) and labeled "Wii" and partition two is not assigned a drive letter, is NTSF and is the second physically.

I have a 2TB that I am trying to split to 1TB each, one for Wii and DS games, and the other for the Wii U games. I already have Aroma and everything set up on a 128GB SD card, so I don't need the one for the SD emulation.

Am I missing something? Or is it supposed to work like that? (Genuinely asking that's not me trying to sound rude or anything.)
 
Last edited by SutekiRedux,
Did you actually install ISFShax or just put the files on the SD?
Did you put the plugin in the correct folder? wiiu/ios_plugins?
 

Site & Scene News

Popular threads in this forum