next up previous contents
Next: Directory Entries Up: NTFS Previous: NTFS

Master File Table

NTFS keeps track of the contents of a disk by storing file records in an expandable file called the Master File Table (MFT). [Int97c] Ten percent of a disk is reserved for the MFT when the disk is formatted. As files are added to the file system, the actual MFT grows to fill the reserved space. The MFT contains file records for the disk. The minimum size of the MFT is the first sixteen file records. [Int97b]

The first sixteen file records of the MFT are considered reserved and are duplicated at the middle of the disk as a precaution. This is shown in Figure 5.3. [Int97b]

Master File Table

  
Figure 5.3: An Example Disk

The first nine file records in the MFT are the entries for:

1.
the MFT itself [Int97b]
2.
pointer to the duplicate part of the MFT [Int97b]
3.
disk activity log [Int97b]
4.
the volume file (indicating the disk name, NTFS version used to format the disk, and a disk repair needed flag) [Int97b]
5.
the attribute definition table [Int97b]
6.
the root directory [Int97b]
7.
the bitmap file (one bit for each cluster) [Int97b]
8.
the boot file [Int97b]
9.
the bad cluster file [Int97b]

Note that, as shown in Figure 5.3, the last seven records of the reserved file records are reserved for future use.

The remainder of the MFT is used to provide information about and pointers to the files and directories stored on the disk. The data for each file on the disk is contained in one or more file records stored in a relational database format. The first file record for a file is called the base file record. [Int97b] Each file record is about 1 kilobyte in size. [Int97a] Each file record contains the name, file attributes, and pointers to the fragments belonging to the file. Note that files smaller than about 4 kilobytes are stored in the MFT itself. If a file is badly fragmented, then multiple file records will be needed, possibly causing the file system to run out of space for the MFT if the entire reserved space is filled. [Int97b]


next up previous contents
Next: Directory Entries Up: NTFS Previous: NTFS
Barnett Hsu
1998-10-31