Article ID: 156560 - View products that this article applies to.
This article was previously published under Q156560
The conversion of a disk partition from the FAT file system to NTFS requires a certain amount of free disk space be available in order to build the NTFS disk structures. This article provides a description of the process Convert.exe uses to convert FAT to NTFS and discusses the space required for conversion.
FAT and NTFS use very different on-disk structures to represent the allocation of space for files. These structures are often referred to as meta-data or file system overhead.
The FAT file system's meta-data consists of a boot sector, one or more File Allocation Tables, a fixed-size root directory structure, and a variable amount of space for each sub-directory related to the number of files in the sub-directory.
Another kind of overhead associated with both FAT and NTFS is related to the fact that both file systems allocate disk space in clusters of a fixed size. The exact size of these allocation units or clusters is determined at format time, and the defaults are dependent on the size of the volume. The default cluster size for NTFS is smaller than the default for FAT on similarly sized volumes.
Because space for file data can only be allocated in whole cluster amounts, even a one byte file will end up using a cluster's worth of disk space on a FAT volume. The NTFS case is similar, but slightly more complicated and will not be covered in detail in this article.
Like FAT, NTFS has a certain amount of fixed size overhead and a certain amount of per-file overhead. In order to support the advanced features of NTFS, such as recoverability, security, support for very large volumes, and so forth, the NTFS meta-data overhead is somewhat larger than the FAT meta- data overhead. On the other hand, because NTFS cluster overhead is smaller than FAT cluster overhead, it is often possible to store as much, if not more data on an NTFS volume as on a FAT volume, even without using NTFS file compression.
In order to guard against the possibility of corruption caused by failure during conversion, Convert.exe must build the NTFS meta-data using only that space which is considered free space by the FAT file system. In this way, if the conversion fails to complete, the FAT representation of the user files is still valid. Complicating this strategy is that one sector of NTFS data must occupy a specific location on the disk, and a very limited number of other structures must occupy contiguous sectors.
The general outline of the conversion process is as follows:
NOTE: Almost all writes are to FAT free space, so a failure will preserve the FAT intact.
The only times at which we write to non-free space, for example, the times at which a failure might cause problems are:
The above computation closely mirrors the computation performed by Convert.exe. The exact result obtained on a given system may differ slightly.
NOTE: This is the free space required by Convert.exe before it will attempt a conversion. The computation includes an allowance for the possibility that bad sectors may be encountered in the FAT free space. However, in cases where a volume has just enough free space to begin the conversion, and a significant fraction of drive space is discovered to be unusable, the conversion process may fail. As discussed above, this should not result in any disk corruption. The volume should automatically fall back to being recognized as FAT.
Article ID: 156560 - Last Review: February 23, 2007 - Revision: 2.2