To format FAT32 bigger than 2TB, there are some requirements.
First, the issue is not FAT32 format itself, as it can support up to 16TB in one single partition.
The issue is the MBR partition table, which is based on 32bit values, and can only store limited numbers up to 0xFFFFFFFF in hexadecimal.
the MBR table's partition definition contains the partition type (FAT32, NTFS, etc.) the starting sector, and the size of the partition in sector numbers.
to fit on MBR, the FAT32 partition is limited to 2TB:
based on the 32 bit (0xFFFFFFFF = 4294967295), it means :
4,294,967,295 sectors * 512 bytes/sectors = 2,199,023,255,040 bytes or 2TB.
This is true ONLY for drives with 512 bytes per sector, which are now getting old. Most new drives are now manufactured with bigger sector size (usually 4096bytes/sector), which means :
4,294,967,295 sectors * 4096 bytes/sectors = 17,592,186,040,320 bytes or 17.6TB.
The issue is not always your drive, but the program you use to format or partition the drive.
Most program have hardcoded the 2TB limit, and don't try to format anything bigger even if the drive is not a 512bytes/sector size. (for example, Windows hardcoded size limit is 30GB
)
Sometime, it's not the software's fault, but the way the HDD is seen by the software. To prevent old programs to break because of the hardcoded 512byte/sector, Manufacturers did an emulated layer to convert 512bytes access to bigger sector access (1024, 2048 and 4096 bytes/sectors). This is a micro-program running on the internal chipset of the HDD's mother board doing the conversion to fit multiple sent 512 bytes packets into a single sector.
The issue most users are encountering is that emulation mode ! the software still see the drive as 512 instead of 4k, and refuse to format it bigger than 2TB.
You need to switch off that emulation mode in order to let the software see the real sector size. personally, I think it's called backward :
putting the drive in "XP compatibility mode" should enabled the Advanced mode emulation (XP is not compatible with 4k and need to see the drive as 512bytes/sector) because old OS and program didn't even expect anything else than 512.
But I think it just disables the emulation mode and expose the real 4096bytes/sector size, actually "breaking" XP compatibility. (unless the problem with Windows XP is not the sector size but the emulation layer interface itself)
Anyway, whatever that option is called in your manufacturer's tool, that's what you need to do:
1. use a driver with sector size bigger than 512bytes (it's a hardware size, you can't edit it). VERY rare HDD bigger than 2TB will still use 512byte/sector, so you shouldn't have to worry about the sector size.
2. run the program, format the drive as "XP compatibility mode" or switch the "emulation mode" or e512 mode, and then you can format FAT32 partitions bigger than 2TB
Maybe you don't have any option, like explained in
@ca032769's link posted above. formatting it to MBR was enough.
look here for some screenshot and guide :
Start reading at "Other note". (note : it's from the same user who created this thread, maybe it will help more users if the first post was updated with that info)
You'll find links for both WD and Seagate drives.
For other brand, you'll have to search on your manufacturer's website.