Master File Table

A master file table is a database in which information about every file and directory on an NT File System (NTFS) volume is kept. An MFT will have a minimum one record for every file and directory on the NTFS logical volume. Moreover, each record contains attributes that tell the operating system how to handle the file or directory associated with the record.

In most cases, information about a file or directory such as the type, size, date/time of creation, date/time of most recent modification and author is either stored in MFT entries or external to the MFT but described by MFT entries.

To view a full list list of MFT attributes, just click on “View” in an open folder with at least one file or subfolder, and then select “Choose Details.” You can make attributes visible by checking or unchecking the boxes in the left column of the pop-up window.

When you add more files to an NTFS file system volume, additional entries are put into the MFT, which means the MFT is continually growing. When files are deleted from an NTFS volume, their MFT entries can be reused. That said, the disk space allocated for these entries is not reallocated and the MFT does not decrease in size.

The NTFS file system sets aside space to keep the MFT as contiguous as possible as it expands. The MFT zone space is the name for the space reserved by the NTFS file system for the MFT in each volume.

In either case, fragmentation of the MFT starts to take place when either the reserved MFT zone or the unreserved space on the disk is completely allocated. When the unreserved space is fully allocated, space for user files and directories will be allocated from the MFT zone; when the MFT zone is fully allocated, the space for new MFT entries will be designated from the unreserved space.

The MFT can (and should) be defragmented. It’s a good idea leave as much space at the beginning of the MFT zone as possible before defragmenting the volume to minimize the probability of the MFT zone becoming completely allocated before the defragmentation is finished. You should always leave some unallocated space outside of the MFT zone just in case the MFT zone becomes fully allocated before defragmentation has finished.