How convert.exe Converted FAT32 to NTFS in Windows XP

In Windows XP, the command-line utility convert.exe allowed users to transition a drive from FAT32 to NTFS without formatting or losing existing data. It accomplished this through an in-place conversion process: rather than moving or copying user data, the tool analyzed the existing drive layout, generated a new NTFS Master File Table (MFT) and metadata in available free space, and seamlessly remapped the partition's boot sector to point to the new file system structure.

1. Free Space Verification and Allocation

Before modifying any data, convert.exe inspected the FAT32 volume to ensure there was sufficient unallocated space to house the core NTFS metadata. NTFS requires specific system files—most notably the Master File Table ($MFT), $LogFile, and $Bitmap—to manage files and permissions. The utility located contiguous blocks of free clusters on the drive to serve as the staging area for these new structures.

2. Translating FAT32 Structures to NTFS

FAT32 tracks files using a flat File Allocation Table paired with directory tables that store filenames, timestamps, and the starting cluster of each file. Instead of touching the actual contents of the user's files, convert.exe parsed these existing FAT structures and translated them into NTFS equivalents:

  • Each file and folder entry in the FAT directory was transformed into a record inside the newly generated $MFT.
  • The cluster chains describing where file fragments lived were mapped into NTFS non-resident data run attributes.
  • The physical clusters containing the actual user file data were left entirely intact and in place.

3. Writing NTFS System Metadata

The utility wrote all the required NTFS metadata directly into the reserved free space. This included creating default security descriptors, setting up journaling logs, and populating the $Bitmap file to mark both the newly created metadata clusters and the existing user data clusters as occupied. During this phase, the underlying FAT32 file system was still functionally intact because the new data was written only to sectors previously marked as free.

4. Committing the Boot Sector

The final and critical step was the switchover. Once the NTFS structures were fully written and validated, convert.exe updated the volume boot record (VBR) at the beginning of the partition. It replaced the FAT32 boot code with NTFS boot code and updated the pointers to reference the cluster location of the new $MFT. Because this switch was performed atomically, the drive instantly presented itself to the operating system as an NTFS volume upon the next mount.

5. Post-Conversion Characteristics

Because user data clusters were never relocated during the conversion, the cluster size of the resulting NTFS volume often remained aligned with the original FAT32 cluster size (frequently 512 bytes or non-standard allocations) rather than the standard 4KB default of a freshly formatted NTFS volume. While this sometimes resulted in higher file fragmentation or slightly reduced performance compared to a native format, it allowed the entire migration to execute quickly and with zero data loss.