If you try formatting a 64GB+ drive in Windows, you will find that you can’t specify the File system as FAT32. You won’t be able to format such drives to FAT32 on Windows either through the command line or the graphical interface.
In fact, you may be concerned by the file size limit on a FAT32 partition if you experienced the message “The file is too large for the destination file system” while copying a file to this drive. However, Windows allows using a preformatted FAT32 drive with a much higher capacity.
What Are the Size Limitations of FAT32?
There are two main size limitations of a FAT32 partition. One, the maximum partition size Windows can format as FAT32 is limited to 32GB. And the other, you can only have up to 4GB of a single file inside a FAT32 drive with Large-file support.
Design-wise, it is possible to format a partition of up to 2TB size to a FAT32 file system with the default sector size of 512 bytes. And by setting the sector size to 4090 bytes of 4KB, it is theoretically possible to format a maximum of 16TB partition to this file system.
However, it is not recommended to do so as FAT32 is not a fault-tolerant system, and using this system with such large drives carries the risk of data loss. This is why Microsoft moved to NTFS.
And if we talk about the 4GB file size limit, its cause is rooted in the FAT32 design. FAT uses an index that specifies the starting position and the length of a file. The length is stored in a 32-bit field, so the maximum value it can hold is 2^32-1 = 4294967295 bytes = 4GB.
How to Bypass the 32GB Size Limit?
You can’t bypass the maximum file size limit of 4 GB on a FAT32 partition as it is a design issue. We recommend switching to NTFS or exFAT instead to avoid such limitations.
However, it is possible to evade the maximum partition capacity limit by using third-party software or using a Linux system to format the partition.
Using Third-party Software
Some third-party applications allow converting any partition of up to 2TB to FAT32 file format. Here, we use the GUI version of the free application, FAT32 Format, as an example.
- Download and Open FAT32 Format.
- It should download an executable file
guiformat.exe. Open the app.
- Set the drive to the partition you wish to format.
- Set the Allocation initial size as you wish. If you are likely to store smaller-sized files in the drive, set it relatively lower. Else, leave it as it is.
- Enter any volume label that you want. If you leave it blank, the drive will show up with the default label: Local Disk for a non-PNP disk partition and USB Drive for a USB PNP drive.
- We recommend checking Quick Format.
- Then, click Start to initiate the formatting.
Using Linux Virtual Machine or Live Linux USB
Advanced users who are very familiar with using Linux systems and/or Virtual Machines can also try formatting the drive to FAT32 on the Linux system. It will not only bypass the 32 GB limit on Windows systems but also the 2TB limit on most third-party apps.
However keep in mind that if you want to surpass the 2TB limit, you need to have a GPT partition scheme on the drive and format it with 4k sectors and 64k cluster size.
Here, we create a Ubuntu Virtual Machine (VM) on a VMware workstation inside a Windows System as an example. You can also create a Live Linux USB, boot into Linux using this USB, and then use the Linux OS to perform the same action (steps 2 and 3).
Step 1: Add Disk to VM
Any external drive you connect to the VM after you have powered it on should directly show up on the VM. If not,
- Go to VM > Removable device from the menu.
- Select the external drive and then click Connect.
For internal disk,
- Open the VMware workstation as administrator and select your Linux VM without opening it.
- Click on Edit virtual machine settings.
- Select Add > Hard Drive > SCSI.
- Check Use a physical disk and click Next.
- Set the drop-down box to the Physical Drive you want (you can check the disk number on the Disk Management app).
- Click Next.
Step 2: Create New GPT Partition
MBR partition scheme only supports a maximum partition or drive size of 2TB. If you want to convert a higher-capacity partition to FAT32, you need to convert its disk to GPT first.
- Open the Linux Terminal.
- Enter the command
lsblk -lto list all your drives. Search for the drive you need by checking the size (usually sdb, sdc, etc.). Here, we consider sdb.
sudo gdisk /dev/sdband press Enter. Enter your password if prompted.
- Here, type
oand press Enter to delete the partitions and create a GPT partition table. the type
yand press Enter to confirm.
nand press Enter to create a partition and then press Enter thrice to set the default value for Partition number, First sector, and Last sector.
0700on the Hex code or GUID to change the partition to Microsoft basic data.
- Finally, type
wand press Enter to write the GPT data. Type
yand press Enter to confirm.
Step 3: Format Partition to FAT32
If you need to format a partition with 2TB or less size, it’s better to use the default sector and cluster size. So,
- Open the Terminal if you have already closed it.
sudo mkfs.vfat /dev/sdb1and press Enter. (here, sdb1 is the first and only partition under sdb disk. If you have some other disk name, you need to use its partition accordingly.)
But if you need to convert a larger drive to FAT32, you need to set the sector size to 4k. So, use the command
sudo mkfs.vfat -s 16 -S 4096 /dev/sdb1 instead.