I tried to write an answer this morning, I couldn't finish it.
So :
Short answer : keep your old drive. really ! don't buy or try to use newer drives or bigger than 2TB.
medium answer : use MBR, don't use a 4k drive, use FAT32 on first partition, don't use neek, use neek2o (it's supposed to work with 4k drive but it's not.... there's still a bug. Maybe try the illegal to share version compatible with vWii it might have more bug fixes, but also has more bugs..)
Long answer : STILL writing it. It might end in my "full wii hacking write up guide" in the faq section
currently written part here:
This will be hard to setup, if not impossible.
1.) Sector size
HDDs have a hardware physical constraint : the sector size (defines how much bytes fit in one sector)
Old drives were all manufactured with 512bytes per sectors. But based on the way a drive is accessed (LBA, logical block address), the number of blocs (sectors) accessible on a 32 bit system is limited to 2^32bit (2 is because 2 possible binary states : either 0 or 1, on 32 bit size) = 4294967296 sectors * 512bytes = 2TB (A * B = max partition size)
To store more data on a drive (not talking about partition yet), you have two possibilities : change either A or B.
Make A bigger : to address more than 4M sectors you need 64bit addresses instead of 32bit (2^64 = 18446744073709551616, 18Peta). This one is software dependant (your OS, the homebrew) and need to be updated to use 64 bit values.
Make B bigger : make sectors bigger instead of 512bytes physical size. 4096 bytes per sector is the new hardware norm, but very rare and old drives can have 1024 bytes sector size. This one is hardware based and can't be changed.
Since 2008/2009, Hard drive manufacturer started creating drives with bigger sector size, and such drives are called "Advanced Format".
They are also commonly named "4k HDD" in reference to sector size of 4096bytes, but not all "advanced format" drives have 4096 Bytes per sector. 512, 1024, 2048 and 4096 are all possible sector sizes.
2.) Partition table
To define partitions on a drive, the first physical sector of a device contains a "partition table" which can hold up to 4 Primary partition information (status, start sector, size, type, etc.).
2.A) MBR
This partition table format, called the MBR (Master Boot Record), was created when HDD was only few MB in size (yes, HDD was very small years ago! I already saw a 250MB HDD in 1980's), and therefore using 32bit to store values was le proper choice. Giga Bytes was futuristic, not even talking about Tera byte capacity.
2.B) GPT
With the release of new drive models, requiring addressing of sectors higher than 2TB mark, a new partition table using 64bit values was created : GPT (GUID Partition Table)
3.) Old programs and 512e
As both the 512bytes sector size and MBR format has been the only norm for decades, a lot of programs had (and still have) these information hard coded.
A lot of hardwares, softwares and Operating Systems are only compatible with MBR partition table only, and are set to read/write 512 bytes of data for each accessed sectors, even if the sector holds more data.
This is particularly problematic for computer with old OS, like Windows XP, which are still widely used at the time they released the new drives.
WindowsXP (32bit) is not compatible with GPT, and always access sectors as if they were 512bytes. In order to use Advanced format HDD with old programs or OS, Hard drive manufacturer added a real time sector addressing converter called "512 emulation", "512e" or "XP compatibility mode".
Most advanced format drives have the 512e Emulation mode enabled for convenience. So, out of the box, all drives report a sector size of 512 bytes.
Western Digital is providing a tool to edit this emulation mode. Strangely, it's named backward in their program: when you "enable XP mode" it exposes the 4096 bytes.
Seagate offers a different approach, they are providing a tool to mount the hard drive's sectors above 2TB as an additional external drive partition. it can't access the full drive as a single partition.
Other manufacturer probably have their own choice and tools to access data beyond 2TB.
For homebrew, it is highly recommended to buy a Western Digital Hard disk drive, as it's achieving the proper method to unlock and access data up to 16TB with a single MBR FAT32 partition !
The counter part is that you'll need an OS which supports Advanced format to unlock it (Windows 7+, Linux).
4) Homebrew and GPT
A lot of homebrew only support MBR, and therefore are limited to use 32bit sector addressing. For example: Neek, emuNAND, Homebrew channel, and most homebrew from early 2010.
A few homebrew have been updated to read GPT information and can therefore use 64 bit sector addressing. For example: USBloaderGX, Wiiflow,
Nintendont, the "GX" series emulators (snes9xGX, gbaGX, etc.)
If you want to use homebrew which support only MBR with a drive bigger than 2TB you have two solutions :
- Remember from Chapter 1, we saw that in order to access bigger drives you can either change A (MBR/GPT) or B (sector size), leaving you with only one choice : sector size.
You first need to be sure your device is reporting more than 512 bytes per sector. If not, you have to use the manufacturer tool to do that. All the drive's data will be lost! make backups first.
* add info how to check sector size*
- If your drive is not an "advanced format" device, there is another solution to use data beyond 2TB with MBR and 512bytes/sector, but is not always working. Especially due to partition manager themselves more than hard drive limitation.
Based on the MBR and FAT32 specs, this is theoretically possible to create a second partition starting before the 4294967296th sector, and setting its size to 4294967295 sectors. This way, you can use up to 4TB (2 x 2TB) with MBR and 512 bytes per sector.
Unfortunately, most tools will detect that the partition is above 2TB mark and will refuse to format the partition to FAT32.
You'll also need to be able to address sector numbers in more than 32 bit (LBA had different norms and capability), the drive should be compatible with 64 bit values, and your homebrew too.