How to convert from WBFS to FAT32 or NTFS

How to convert from WBFS to FAT32 or NTFS

This tutorial will show you how to convert a partition:
  • without losing your games
  • without copying somewhere else and back
  • without ripping them again
  • do in a few minutes (with good PC experience)
  • do it without much experience

1. Introduction

WBFS partitions have been around for a long time. They were the earliest way to run Backups from USB and SD.
But they have some drawbacks. For example you can not store homebrew programs, movies or any other types of files on them.
To do that you would need to partition the drive. But in that case you have to know beforehand how much space you will need for which purpose.
Another Problem with WBFS is that windows permanently asks to format it. One incautious click by a friend and everything is gone.

This was overcome by the ability to use FAT and later even NTFS and EXT2,3,4. FAT support is included in most Loaders nowadays and has no drawbacks compared to WBFS.

One of the problems of WBFS that persists is its lack of proper filesystem utilities.
If you still have a legacy WBFS drive it is hard to convert to something else and can't be grown or shrunk in size.

This tutorial will try to make it as easy and fast as possible to convert to FAT32. There these problems do not exist.

You could of course rerip all you discs or use a WBFS Manager to copy all games to another drive and back again.
But this will need a LOT of patience in the first case or free space on your PC and still a lot of time in the second.

Instead we will convert the drive directly, without copying all of its data, yet still retaining all games.
This is also known as "in place" conversion, and common in other filesystems (see eg. "Partition Magic")
The fact that most data remains untouched makes this process ridiculously fast, compared to other methods.
I converted a full 50GiB drive in 4.2 seconds. Thats over 10GiB/s!

While this tutorial will convert WBFS to FAT32, other filesystems are available from there.
Windows for example can already do FAT to NTFS without losing data (search for "convert" in Windows Help (F1))


2. Tutorial

I suggest you first read this tutorial completely, then ask any questions and only then go ahead and do it.

2.1 The Requirements

First you will need some programs:
The converter itself is called "wbfs2fat" and available here in the GBAtemp forum
It will run under Windows and Linux (and possibly more).

For Windows there is a pre packaged wbfs2fat.exe with everything you need.

On Linux you are probably already good too. The only things needed are "python 2.x" and "sudo". Both are installed by default in many distributions.
To run the GUI you will need "pyqt4" too. If you miss one of them, open you package manager and search for them. They will be in there. Ask around if you don’t find them.

Alternative the the .exe you can run the .py file on Windows too. Both native Python and Cygwin's are supported.
But I think that's only interesting if you want to dig into the code. Additional requirements for doing this are listed in the "readme.txt".

While not strictly a requirement I strongly suggest you get wiimm's wwt+wit.
Its used for most of the optional parts of this tutorial.

I suggest you now use "wwt" to check the drive for any filesystem errors (option "CHECK" and if you have time "VERIFY" too).
I prefer using it but other WBFS Managers might offer that too.
Additionally you might want to copy "that game the dog ate" on you PC just to be absolutely sure.


2.2 GUI

Simply run wbfs2fat without any parameters or with "--mode gui". The other parameters are supported too (see CLI if you want)

You get a window which lists all detected partitions.
w2f.main.png

Depending on system setup you might need to do it as administrator/root. Access denied errors here on are a sign of this.
To do this e.g.. right click the icon and select "run as administrator" or use "sudo" on Linux.

If the partition you want to convert is missing you can type its path into the "device" line and click "scan"

Select the one you want to convert by clicking on it and click the "convert to Fat32" button.

Now you can adjust some options. The defaults should do fine but feel free to change them.
w2f.options.png

Click OK when you are done.

Wait a few seconds for it to complete. It will report its progress and any anomalies as it goes.
Check its output carefully for any errors.
w2f.convert.png

Once you see "W2F: Conversion completed" its done. Click "Close".


2.3 CLI

Alternative to the graphical one there is a command line interface too.

Run "./wbfs2fat.py --mode scan" to get a list of all WBFS partitions.
If you only get "permission denied" try running it as administrator, or on Linux run "sudo ./wbfs2fat.py --mode scan" instead.
It will give you a line for each WBFS partition, consisting of a device identifier, its size and the number of games on it.
Find the device name for the partition you want. For example "/dev/sdc2".
If your partition is listed twice, once without number, and once with a "1", just use the one without. That's a slight oddity in cygwin.

To see what additional options are available run "./wbfs2fat.py --help"
Under cygwin and linux you will want to use the respective renaming option. Under non-cygwin windows that’s not neccessary.
Normally the backup if created in the current directory but there's an option to select another dir.

To convert the partition run "./wbfs2fat.py --mode convert <dev> " along with any other options you want.
<dev> is the device name for the WBFS partition in question. For example running "./wbfs2fat.py --mode convert /dev/sdc1 -b /cygdrive/d/ -l e" will
  • convert the partition /dev/sdc1
  • make a backup in /cygdrive/d/ (which is D:\)
  • rename the files using the drive letter e (as in E:\)
Wait a few seconds for it to complete. It will report its progress and any anomalies as it goes.
Check its output carefully for any errors.


2.4 Finishing Touches

Once it is run through the partition is FAT32 and can be accessed normally.
Before you go ahead I suggest running all checks you like against it NOW.
That is because using the drive normally can overwrite parts anywhere on the drive. Including parts not in the backup.
That is just normal operation and not a problem per se, but it will make the backup invalid.
Some suggestions are chkdsk, fsck.vfat, the windows filesystem check (in the rightclick menu of the drive letter),...
You can check the games too, for example using "wit"s "VERIFY" function.

I advise against letting these tools "repair" anything, instead it is better to restore the backup.
Excepted from this rule is the uninitialized free cluster summary.
It is expected and can be fixed without repercussions, it's not really an error in the first place.

The games will be stored as .wbfs files splitted by ~4GiB.
They are inside a folder named wbfs in the root of the drive and are named ID6.wbfs (e.g. "E:\wbfs\RSPDS.wbfs").
Well if you enable the automatic renaming that is. If not you will have to do it manually.
Create the folder, move them, and rename *.0 to*.wbfs, *.1 to wbf1, *.2 to *.wbf2 and so on.

That's it, you are done. Close cygwin/the console and try it on your wii. Don't forget to unmount/eject it normally.


3. The Backup

During execution a line will be printed saying "WARNING: start of dangerous part"
This line only means that the first write has occurred. Any crash, abort or whatever before that did not change the drive AT ALL.
While they cause no further harm they might indicate a larger problem. I suggest you ask for advice (e.g. here on GBAtemp).

To recover from a crash during the dangerous part a backup is created.
It contains everything that was overwritten in the process (only some megabytes anyway).

But it does not contain what eg your later deleting/creating of files did change.
It is only intended in case wbfs2fat fails, not for later. There is simply no way to foresee which games you might delete manually.
Restoring a backup later will cause massive data loss. Especially after things that move data around like defrag.
But when used before writing to the partition with other tools it carries no risk.

The backup function is the most tested part of the program. That's because it allows rapid resets too.
Copying its 6MiB back is A LOT faster than creating and filling a new 50GiB WBFS partition for each test.

To restore the Backup simply use the "restore Backup" button in the GUI or the "--restore=BACKUP" CLI option.
By default the Backups are located in the folder from where you ran wbfs2fat and named "wbfs.DEVICE.TIMESTAMP.back".

The backup is a complete image of the first N blocks of the drive, where N is whatever was needed to contain the FAT metadata.
Thus it can be restored easily using the image tool of your choice too.
For example using "dd if=<backup_file> of=<device>" (dd is available in cygwin and most Linux Distributions by default)


4. Space

The conversion requires some free space (it's checked automatically).
It will need approximatively 0.02% (2MiB per 10GiB) of the partition size plus one WBFS Block per game.
Once the partition is converted you can gain space back by scrubbing the games again (should net a gain on big partitions)
My suggestion is to use e.g. "wit CONVERT -Bz E:\wbfs\" but maybe other manager can do that to.
You can of course skip or postpone this step. In fact I suggest waiting, because it of course writes data (see "The Backup).


5. Where to go from here

Now that your drive is FAT32 you can manipulate it by a variety of tools.
These Tools include Partition Magic, Parted Magic, "convert" and others.
Using the internet you should find everything you need.

Functions seen in better partitioning tools include:
  • resizing of partitions without losing data
  • joining/merging of two partitions into one that contains the files and space of both
  • splitting of one partition into two while dividing the files and space between them as you like
  • changing the filesystem again (e.g. NTFS) without losing data.
If you only want to go on to NTFS, Windows has everything you need.
It can already change a partition from FAT to NTFS without losing data.
The tool is named "convert" and runs from the Windows Command console("cmd").
Search Windows Help (F1) for a detailed explanation of "convert".


6. Misc

You can test wbfs2fat on filesystem images first. Simply enter its filename instead of a device name.
No idea how to test/mount the resulting Fat32 image under Windows. Under Linux use "mount -o loop IMAGE SOMEDIR"

I hereby grant licence to host this howto to everyone, given that he
  • includes a notice of the original authorship
  • marks any changes as such
  • includes a link to the original source (the 3. one below) to allow users to receive updates
  • includes a link to wbfs2fat (eg. the 2. one below (because of updates too))
  • only includes download links to wbfs2fat which are compliant with its licence
If you have a reason to want different terms simply ask, my mind is not set in stone.

Please post comments to wbfs2fat itself (as opposed to this guide) in the discussion thread.


7. Links

Homepage/Discussion Thread
Detailed Tutorial/Howto
GUI demo video
 

nightwaxon

Well-Known Member
Newcomer
Joined
Jun 19, 2009
Messages
47
Trophies
0
XP
182
Country
I've had a WBFS drive for years for my Wii games. I've always been put off converting the drive as if it's not broke, don't fix it. With the advent of GC loading from USB I was running two USB drives which was a pain in the arse. I read up on this tool, within 10 minutes it's all done a FAT32 drive with all my games intact, no fuss!. How simple that was. Thanks again to the author, superb work!
 

pitweasel

Well-Known Member
Newcomer
Joined
Mar 31, 2009
Messages
69
Trophies
0
XP
122
Country
United States
The games will be stored as .wbfs files splitted by ~4GiB.
They are inside a folder named wbfs in the root of the drive and are named ID6.wbfs (e.g. "E:\wbfs\RSPDS.wbfs").
Well if you enable the automatic renaming that is. If not you will have to do it manually.
Create the folder, move them, and rename *.0 to*.wbfs, *.1 to wbf1, *.2 to *.wbf2 and so on.

I opted out of auto-rename (dumb idea, I see), and every single one of my games is a *.0 - there's no .1, .2, etc. Does that mean I rename every file to a .wbfs extension? Thank you so much for your help!

Edit: I changed one to .wbfs just to experiment, and USB Loader GX (latest version) saw it. However, when I run it, the Wii just goes back to the HBC. Any idea what I could be doing wrong? Thanks again!
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
yes renaming them all to .wbfs and moving them to the /wbfs folder should do the trick

perhaps your cios is to old for fat32, maby try cios d2x
 

pitweasel

Well-Known Member
Newcomer
Joined
Mar 31, 2009
Messages
69
Trophies
0
XP
122
Country
United States
yes renaming them all to .wbfs and moving them to the /wbfs folder should do the trick

perhaps your cios is to old for fat32, maby try cios d2x

Seems odd that the games would appear, but not run. But I'm downloading it now to give it a try! I have to wait for my drive to finish copying (in case I end up reverting back to a WBFS partition), but I'll try d2x first and report back. Thanks for the suggestion!
 

HunterZ

Well-Known Member
Newcomer
Joined
Aug 31, 2011
Messages
63
Trophies
0
XP
146
Country
United States
I've got a 500GB USB HDD with a decent-sized (probably 32GB, can't remember) FAT32 partition for homebrew and a WBFS partition (the rest of the drive, probably over 400GB I think) for Wii backups.

People keep saying that WBFS is "dead" or "dangerous", so I am wondering if I should switch the drive to a single FAT32 or NTFS partition or something.

I keep reading that FAT32 is the way to go, but I'm also reading that it's dangerous and/or difficult to do FAT32 over 32GB. Obviously I don't want to limit myself to one or more 32GB partitions on a 500GB drive.

What are people's recommendations?
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
Its not dangerous or difficult to create a fat32 partition >32GB, the only problem is that you have to use a 3rd party tool to do it.
As wbfs2fat will do that its not a problem here.
 

NewFang

Well-Known Member
Newcomer
Joined
Feb 11, 2010
Messages
79
Trophies
0
XP
165
Country
United States
I'm unclear on the tutorial after finding the WBFS drive and then clicking "convert to Fat32. Are there any steps after this that I need to do? I would like to be sure before I go ahead with this. Thanks in advance for any help in the matter.
 

mechagouki

Kill 'em all...
Member
Joined
Nov 20, 2008
Messages
679
Trophies
1
Age
52
Location
Toronto, ON
XP
614
Country
Canada
When I run the exe I get a command line box pop up momentarily and then....nothing. Am I doing something wrong? Running Windows 7 Ultimate SP1.
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
the box is normal
it should show an additionanl window after some seconds

try running from commandline
that way should be able to read possible error messages
 

Sergetov

New Member
Newbie
Joined
Jan 12, 2013
Messages
1
Trophies
0
Age
43
XP
41
Country
United States
Psy,

I used WBFS2FAT and converted my 1tb wbfs with backups. The execution went smoothly, but upon testing it, I found that around 70 of my backups have disappeared. The folders are still there but they read 0 bytes. The drive size still looks like the files are somewhere in there.

I tried using the Restore Backup function but I get this:

W2F: restoring Backup
ERROR <type 'exceptions.IOError'>


I tried using cygwin and the command you posted to restore the drive, but it still doesn't restore.

I haven't written onto the drive or altered it, and I'm stumped as to what to do next. Any help is appreciated.

Eddie
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
I tried using the Restore Backup function but I get this:
W2F: restoring Backup
ERROR <type 'exceptions.IOError'>
restoring the backup is the best thing to do for now

the ioerror is most likely windows refusing access to the drive
cygwin being unable to access it too would fit with that
you could try to close all other programs accessing the drive and running it (wbfs2wat or cygwin) as admin
maybe even try to run it as "system" if you find a guide
as a last resort you can use dd with a linux live cd or something like that
I can write up a short guide if there is need

I would be very interested in the backup file (or debug file) to analyse why some games where not converted
 

Kadin

Ain't no rest for the wicked...
Member
Joined
Aug 26, 2009
Messages
300
Trophies
0
XP
279
Country
United States
Thanks so MUCH for this program and tutorial PsyBlade! Picked up a 32GB SD card to load my GC backups onto but honestly that's an expensive option when I have 200GB free on a formerly formatted WBFS drive which had about 25 games on it. Ran the program and in like not even a minute all was converted. Copied over my games from my SD to the HDD and installed DIOS MIOS (non-LITE) and all runs perfectly.

Saved me some money and a shitload of hassle having to use the SD. THANK YOU!
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
at that point nothing was written to the drive yet
it still is at it was

I guess this is the same type of corruption NewFang and LoloLakitu had
I still don't know how to detect it in general
but I can write a custom fix easily
just upload the "wbfs2fat.debug" file somewhere
 

PsyBlade

Snake Charmer
OP
Member
Joined
Jul 30, 2009
Messages
2,204
Trophies
0
Location
Sol III
XP
458
Country
Gambia, The
I uploaded a version that should work

Mario Kart Black seemed to include a lot of bogus data that is now ignored. should work fine but check that game for errors afterward
Skyward Sword shares a lot of blocks (121) with other games (list follows), check it to. If it is ok the rest is not. If it is not no the rest might be.

shared blocks / game
1 R2TE41
1 R3OE01
1 R3RE8P
1 R3SE52
1 R7EE8P
1 RBHE08
1 RBKE69
1 RDGEA4
1 RDSJAF
1 RGTE41
1 RIJE69
1 RK2EEB
1 RKFEH4
1 RKME5D
1 RMUE52
1 RNCEH4
1 RNEEDA
1 RNZE69
1 RRKE70
1 RS2EGJ
1 RSHE69
1 RT4JAF
1 RX9P69
1 SB3E08
1 SFUE64
1 SNCE8P
1 ST5E52
1 SXFE52
2 RB7E54
2 RBLJ8P
2 RKLEG9
2 RLKEGY
2 RNSE69
2 RRZEGY
2 RSTE64
2 RWWE78
3 ROYE41
3 RVYE52
14 RTDJES
17 RBSJ08
40 R4ZJ01
 

TaxiTitan

Well-Known Member
Member
Joined
Mar 13, 2008
Messages
251
Trophies
0
XP
125
Country
C:\Users\Vista pro\Desktop\dios mios\wit-v2.10a-r4118-cygwin\bin>wwt check
***** wwt: Wiimms WBFS Tool v2.10a r4118 cygwin - Dirk Clemens - 2012-10-10 **
***
CHECK /dev/sdg1
* Summary of WBFS Check: 651 errors found:
206 used WBFS sectors marked as free!
4 free WBFS sectors marked as used!
403 WBFS sectors are used by 2 or more discs!
38 invalid WBFS block references found!
Total: 83 discs are invalid!

I wrote "wwt check" to check the files.
How do I fix it?
Im not so used to comand line.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=pnRVIC7kS4s