Disk Defragmenter (Windows): Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Disk Defragmenter
Defrag icon.png
A component of Microsoft Windows
Disk Defragmenter Vista SP1.png

Disk Defragmenter is a computer program included in Microsoft Windows designed to increase access speed by rearranging files stored on a disk to occupy contiguous storage locations, a technique commonly known as defragmenting. The purpose is to optimize the time it takes to read and write files to/from the disk by minimizing head travel time and maximizing the transfer rate. As of Windows XP, Disk Defragmenter is also used to improve system startup times.



MS-DOS versions up to version 5 did not include any defragmentation capabilities. When Defrag, licensed from Symantec, was shipped for free with MS-DOS 6.0, the use of the alternative commercial products became less frequent, because customers were unable to justify the additional expense.

Initial releases of Windows NT also did not include a defragmentation tool, nor did Windows NT 3.51 or prior releases include any built-in application programming interface for moving clusters. Executive Software (later renamed to Diskeeper Corporation) released a defragmentation tool for Windows NT 3.51 that shipped with a customized version of the NT kernel and file system drivers that provided this functionality. When Windows NT 4.0 was being developed, Microsoft incorporated this functionality into the kernel as file system control (FSCTL) commands for both NTFS and FAT32 partitions.[1] No graphical or command-line interface was provided, however.


Windows 9x

A Disk Defragmenter also shipped as part of Windows 95, Windows 98 and Windows Me. It could be scheduled using a Maintenance Wizard and supported command line switches.[2] It had a limitation that if the contents of the drive changed while defragmenting, it restarted the process from the beginning.[3]

Windows 2000

Windows 2000 includes a stripped-down licensed version of Diskeeper Corporation's (formerly Executive Software's) Diskeeper. The techniques used by the Disk Defragmenter are as follows:[1]

  1. Moving all the index or directory information to one spot. Moving this spot into the center of the data, i.e. one third of the way in, so that average head travel to data is halved compared to having directory information at the front.
  2. Moving infrequently used files further from the directory area.
  3. Obeying a user provided table of file descriptions to emphasize or ignore.
  4. Making files contiguous so that they can be read without unnecessary seeking.

Windows XP and Windows Server 2003

Windows Disk Defragmenter was updated to alleviate some restrictions.[4]:728 It no longer relies on the Windows NT Cache Manager, which prevented the defragmenter from moving pieces of a file that cross a 256KB boundary within the file. NTFS metadata files can also be defragmented. A command-line tool, defrag.exe, has been included,[5] providing access to the defragmenter from cmd.exe and Task Scheduler.

Windows Vista and Windows Server 2008

In Windows Vista, Disk Defragmenter includes an option to automatically run at scheduled times using Task Scheduler and uses low CPU priority and the newly introduced low priority I/O algorithm so that it can continue to defrag using reduced resources (less CPU and disk read/write activity) when the computer is in use. The user interface has been simplified, with the color graph and progress indicator being removed entirely. It was also not possible to select which drives to defragment, though Windows Vista Service Pack 1 adds this feature.

If the fragments of a file are over 64 MB in size, the file is not defragmented if using the GUI; Microsoft has stated that this is because there is no discernible performance benefit since the time seeking such large chunks of data is negligible compared to the time required to read them.[6] The result, however, is that Disk Defragmenter does not require a certain amount of free space in order to successfully defrag a volume, unlike performing a full defragmentation which requires at least 15% of free space on the volume. The command line utility, Defrag.exe, offers more control over the defragmentation process, such as performing a full defragmentation by consolidating all file fragments regardless of size.[7] This utility can be used to defragment specific volumes or to just analyze volumes as the defragmenter would in Windows XP.

Disk Defragmenter is maintained by Microsoft's Core File Services (CFS) team. The Windows Vista version has been updated to include the improvements made in Windows Server 2008 in Windows Vista SP1. The most notable of these improvements is that the ability to select which volumes are to be defragged has been added back.[8]

Windows 7

Windows 7 is different from the other versions as you can follow the defragmentation, and how many % that has been completed. That way it gives you a overview on when the defragmentation will be complete.


In Windows 2000 and later operating systems, Disk Defragmenter has the following limitations:

  • It does not defragment files residing in the Recycle Bin or files that are in use.[9] In particular, this includes the registry, page file and hibernation file.
  • Only one volume can be analyzed or defragmented at a time and only one instance can run.[10]
  • Only local volumes can be defragmented, network volumes are not supported.[10]
  • The GUI version prior to Windows Vista cannot be scheduled, however the command line utility since Windows XP and later can be scheduled.
  • Unlike previous versions, the GUI version in Windows Vista does not display a map of disk fragmentation, nor does it display progress during defragmentation.

In addition, the Windows 2000 version has the following limitations which were removed in Windows XP:[10]

  • Defragmenting NTFS volumes with cluster sizes larger than 4 kilobytes (KB) is not possible.
  • It is not possible to perform fine-grained movement of uncompressed NTFS file data in Windows 2000. Moving a single file cluster also moves the 4 KB part of the file that contains the cluster.
  • EFS encrypted files are not defragmented.
  • NTFS metadata, such as the Master File Table (MFT), or metadata that describes a directory's contents is not defragmented.

See also


External links


Got something to say? Make a comment.
Your name
Your email address