Resize FAT32 partition without losing data

by Jane / Tue Oct 30 2018

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:

  1. The file system of the target volume should be NTFS, not FAT32
  2. There should be adjacent unallocated space (on the right side) to the target volume

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:

  • Decreasing the allocated space beyond the point where the unmovable files are located

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

Shrink 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

Disk Management to shrink the FAT32 partition

Won't work, require NTFS, when the file system is FAT32, exFAT, or others non-NTFS, it will be grayed out

Shrink Volume function grayed out on a non-NTFS file system

Diskpart to shrink the FAT32 partition

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:


Partition Software to shrink the FAT32 partition

In Partition Expert, we can shrink a volume regardless of its file system, steps of shrinking the FAT32 volume would be:

  1. Right-click on the target volume and choose Resize/Move Volume function
  2. In the resize window click and drag either side of the handlebar horizontally to shrink this partition
  3. Check the preview effect in the mini disk-map and click OK to stop shrinking and close this window
  4. Click Commit from the main window to actually decrease this partition
shrink partition next to system partition

We have 4 methods to shrink a volume in the resize window:

  1. Drag the handlebar on the left side to shrink the head of the volume
  2. Drag the handlebar on the right side to shrink the end of the volume
  3. Type in specify size (number) in the "Unallocated space before" field
  4. Type in specify size (number) in the "Unallocated space after" field

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

Extend FAT32 partition

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 and Diskpart extend FAT32 partition

Disk Management can't extend the FAT32 volume, the option would be grayed out

extend volume grayed out on the FAT32 volume

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:

  1. If the partition was previously formatted with any file system format other than NTFS, the command fails with no change to the partition.
  2. You cannot extend the current system or boot partitions.

Check here for more info

Partition Software extends FAT32 partition

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:

  1. Right-click on a partition with enough free space if there's no unallocated space on the disk
  2. Use the shrink method mentioned above to shrink this volume and create unallocated space, use method 1 or 3, shrink the head partition of the drive
  3. Move the unallocated space next to the target drive, if it's not, use the Resize/Move function again
  4. Then click on the target drive and select the Resize/Move Volume function to open the resize window
  5. Now drag the handlebar on the right side to the end, click OK and Commit

Check the complete guide on how to extend C Drive with screen-shots

Merge partition to extend the FAT32 volume

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

  1. Right-click on C Drive or D Drive and choose Merge Volume
  2. In the merge volume window select both C Drive and Drive and choose the target to C

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

Partition Extender to quick extend a FAT32 volume

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:

  1. C Drive + D Drive (directly shrink D Drive)
  2. C Drive + unallocated space + D Drive (merge unallocated space and shrink D)
  3. C Drive + D Drive + E Drive (directly shrink D and E if D is not enough)
  4. C Drive + D Drive + unallocated space (merge unallocated space first then shrink D)

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

partition extender main interface

Learn more about Partition Extender

Freeing up space before resizing

I probably put this section on the top, although this method won't free up much free space, it's better than none.

disk clean up

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