How can we resize a FAT32 partition without data loss? Do we need any third-party partition managers or can we just use the built-in Disk Management and Diskpart tools? Why do we sometimes can't use the corresponding functions, why does the Extend Volume function grayed out, and why they sometimes won't allow us to shrink a volume?
Windows default partition tools: Disk Management and Diskpart.exe (command line tool) are the best options for new disk partition managing (creating new partitions, format, delete, extend, shrink and some other basic operations), but when coming to operations like extending and shrinking a partition after the disk being used for a while, these tools would require conditions to activate them
The Extend Volume function would require the following conditions to work:
Only when those two conditions are satisfied will Windows activate that function, so even there's unallocated space follows, that function will still be grayed out if the file system is FAT32
The Shrink Volume it will show error when:
Besides, this function also requires an NTFS file system, it will be grayed out too when the file system is FAT32
Reference: Microsoft official: Shrink a basic volume
These content should answer questions above, now let's move on to resizing the FAT32 partition
Three methods would be discussed in this section, Disk Management, diskpart, and Partition Expert, and Disk Management and diskpart would still have issues on this operation, details can be found below
Won't work, require NTFS, when the file system is FAT32, exFAT, or others non-NTFS, it will be grayed out
Will only work on the NTFS file system.
You can reduce the size of a volume only if it is formatted using the NTFS file system or if it does not have a file system
So commands below will show error:
SHRINK DESIRED=500 MINIMUM=250
In Partition Expert, we can shrink a volume regardless of its file system, steps of shrinking the FAT32 volume would be:
We have 4 methods to shrink a volume in the resize window:
method 1 and 3 creating unallocated space ahead of the target volume, while method 2 and 4 make it after
Why don't just build a "Shrink Volume" function like the Disk Management does?
Extend and Shrink functions are built into the "Resize/Move Volume" function, to be more specific, built into the handlebars, drag each of them inwards to shrink and outwards to extend, easy to understand and use
Learn more about Partition Expert
We'll perform the 'Extend' operation using Disk Management, diskpart command line tool, and third-party partition manager - Partition Expert, but as you may have acquired that default utilities won't work, details will be followed
Disk Management can't extend the FAT32 volume, the option would be grayed out
Diskpart won't work on a non-NTFS file system, and will show error when typing the command
extend [size=<size>], Microsoft official doc says:
If the partition was previously formatted with any file system format other than NTFS, the command fails with no change to the partition.
You cannot extend the current system or boot partitions.
Check here for more info
The partition software we're about to use is called "Partition Expert", a portable partition manager, has almost all the functions of Disk Management and diskpart but more powerful with more advanced functions, can be used as an alternative program for daily use. Download and run the portable edition (32-bit or 64-bit) directly and follow steps below to extend the FAT32 partition:
Check the complete guide on how to extend C Drive with screen-shots
Actually we don't need to create unallocated space at the first place if we don't have it on the disk, we can merge two adjacent partitions into the target volume, unfortunately, Disk Management and diskpart don't have such function, although it's not an awesome feature, it sometimes actually helps. In Partition Expert, we can do it like this if we have a disk map like this:
Disk 0: C Drive D Drive
Then click OK and Commit to merge these volumes, then free space in D Drive and existing data will be merged into C Drive, in the root directory, as a new folder, so this function is useful when not much data on another partition
Another tool we recommend is Partition Extender, for extending a FAT32 volume and also shrinking another volume no need to considerate the file system, this tool extends a volume by auto shrinking the other and auto merge unallocated space on the disk, so if the disk-map is one of the followings, Partition Extender will work very well:
Extender also has a resize window, the drag-able handlebar, in disk-map 2, after clicked on C Drive in disk-map 2, Extender will first merge unallocated space when dragging, and unallocated space will be added to C Drive and if you think unallocated space is not enough, you can keep dragging, then D Drive would shrink too, but only the free space not the existing data. The same theory applies to disk-map 3 and disk-map 4
Learn more about Partition Extender
I probably put this section on the top, although this method won't free up much free space, it's better than none.
When a partition is in low disk space the system will pop-up a low disk space alert when clicking on the message, we'll be navigated to the disk clean up window, then we can check different items that take up free space and click OK to proceed