Windows 7 / Getting Started

Advanced NTFS Settings

The extra features of the NTFS filesystem discussed in the previous section come at a price, namely a small amount of disk space and performance overhead. The following settings allow you to fine-tune NTFS to squeeze the most performance out of your NTFS drive; experiment with these settings to find the configuration that works best for you.

Start by opening the Registry Editor and expanding the branches to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem.

Double-click any one of the following values to change its data. If the value is missing, create it by going to Edit → New → DWORD Value, and then typing the name exactly as shown.

NtfsDisable8dot3NameCreation
Values: 0 = enabled (default), 1 = disabled, 2 = enable 8.3 naming on a pervolume basis (via fsutil.exe), 3 = disabled on all volumes except system volume.
Early versions of Windows and DOS didn't support so-called long filenames, but rather allowed only eight-character filenames followed by three-letter filename extensions. Although Windows 95 and all subsequent versions of Windows more or less eliminated this restriction, an eight-dot-three version of a filename is generated with each file you create to maintain compatibility with older applications. For example, the file A letter to Mom.wpd could also be referenced as alette~1.wpd. If you don't use older 16-bit programs, you can disable Windows' creation of these 8.3 aliases by changing this value to 1 (the default is zero).

NtfsDisableLastAccessUpdate
Values: 0 = enabled (default), 1 = disabled.
Windows keeps a record of the time and date every file and folder on your hard disk was created, as well as when it was last modified and last accessed. You can stop Windows from updating the "last accessed" date for folders every time they're opened by changing the value to 1 (the default is zero), which may improve drive performance. This setting has no effect on files.

NtfsMftZoneReservation
Values: 1 = small (default), 2 = medium, 3 = large, 4 = maximum.
The core of the NTFS filesystem is the master file table (MFT), a comprehensive index of every file on the disk (including the MFT itself). Since disk defragmenters can't defragment the MFT (also known as $mft), Windows reserves a certain amount of extra space for it to grow, in an effort to reduce its eventual fragmentation. The more fragmented the MFT gets, the more it will hamper overall disk performance.
You can determine the current size and fragmentation level of the MFT on any drive by using the command-line Disk Defragmenter tool (defrag.exe) along with the -a parameter, as described in "A Defragmentation Crash Course" earlier in this tutorial. The numbers relating to the MFT are shown at the end of the Volume Information report. Probably the most interesting statistic here, though, is Percent MFT in use. The higher the number, the less space the MFT has to grow (and it will).
The NtfsMftZoneReservation setting allows you to increase the space reserved for the MFT. Although the default is 1, values of 2 or 3 are probably better for most systems with large hard disks; the maximum value of 4 is good for very large drives with a lot of small files. Specify too small of a value here, and the MFT will become fragmented more quickly as it grows; too large of a value, and it will consume (waste) too much disk space.
The problem is that changing this setting will not have any effect on your drive's current MFT, but rather only influence its future growth. For this reason, the earlier this value is increased in the life of a disk, the better. To defragment or rebuild the MFT on your Windows drive, you'll need to transfer your operating system to a new drive, as described in the next section.

You'll need to restart Windows for any of these changes to take effect.

[Previous] [Contents] [Next]