- Disk Defragmenter (Windows)
-
Disk Defragmenter
A component of Microsoft WindowsDisk Defragmenter in Windows 7 Details Type Defragmentation software Included with Windows NT 4 and onwards
Windows 95 and onwardsDisk Defragmenter is a utility in Microsoft Windows designed to increase access speed by rearranging files stored on a disk to occupy contiguous storage locations, a technique called defragmentation. Defragmenting a disk minimizes head travel, which reduces the time it takes to read files from and write files to the disk.[1] Beginning with Windows XP, Disk Defragmenter also reduces system startup times.[citation needed]
Contents
History
Early history
As early as the end of 1982, the IBM PC DOS operating system that shipped with early IBM Personal Computers included a Disk Volume Organization Optimizer to defragment the 5¼-inch floppy disks that those machines used. Microsoft's MS-DOS did not include a utility to defragment floppy disks.[2]
Versions of PC-DOS and MS-DOS through 6.0 did not include software to defragment hard disks. Several third party software developers marketed defragmenters to fill this gap. MS-DOS 6.0 introduced Defrag. Windows NT, however, did not offer a Defrag utility, so Symantec was suggested as a possible source of the utility.[3]
Initial releases of Windows NT lacked a defragmentation tool. Versions through Windows NT 3.51 did not have an application programming interface for moving data clusters on hard disks.[4] Executive Software, later renamed Diskeeper Corporation, released Diskeeper defragmentation software for Windows NT 3.51[4], which shipped with a customized version of the NT kernel and file system drivers that could move clusters.
Microsoft included file system control (FSCTL) commands to move clusters in the Windows NT 4.0 kernel[4], which worked for both NTFS and FAT32 partitions. However, Windows NT 4.0 did not provide a graphical or command-line user interface[4].
Introduction
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.[5] This version had the limitation that if the contents of the drive changed during defragmentation, it rescanned the drive and restarted the process from where it left off.[6]
The Disk Defragmenter in Windows 2000 was a stripped-down licensed version of Diskeeper, licensed from Diskeeper Corporation. It uses the following techniques:[4]
- 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.
- Moving infrequently used files further from the directory area.
- Obeying a user-provided table of file descriptions to emphasize or ignore.
- 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.[7] 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,[8] 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.
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.[9] 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.[10] This utility can be used to defragment specific volumes or to just analyze volumes as the defragmenter would in Windows XP. In Windows Vista if the MFT is spread into multiple fragments, the defrag engine can combine the MFT fragments during defragmentation. Disk Defragmenter is maintained by Microsoft's Core File Services (CFS) team. The Windows Vista version has been updated in Windows Vista SP1 to include the improvements made in Windows Server 2008. The most notable of these improvements is that the ability to select which volumes are to be defragged has been added back.[11] Notably, the Windows Vista defragmenter is much more effective than the version included with XP.[12]
Windows 7
Windows 7 is different from the other versions as you can follow the defragmentation, and the percentage that has been completed. That method gives you an estimate on when the defragmentation will be complete.[citation needed] However, this utility will not defragment a solid-state drive[13].
Windows 8
Windows 8 improves solid-state drive drive support by visually identifying the storage type of each volume, and by adding the option to optimize them using TRIM. This replaces the Defragment option for solid-state drives. The name of the utility is changed to "Defragment and Optimize Drives".
Limitations
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.[14] In particular, this includes the registry, page file and hibernation file.
- Prior to the Windows Vista release, only one volume could be analyzed or defragmented at a time and only one instance could run.[15]
- Only local volumes can be defragmented, network volumes are not supported.[15]
- The GUI version prior to Windows Vista cannot be scheduled, however the command line utility since Windows XP and later can be scheduled.[citation needed]
- Unlike previous versions, the GUI version in Windows Vista does not display a map of disk fragmentation, nor does it display progress during defragmentation.[citation needed]
In addition, the Windows 2000 version has the following limitations which were removed in Windows XP:[15]
- 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.
See also
References
- ^ "How to make a computer faster: 6 ways to speed up your PC". Microsoft at work. Microsoft. http://www.microsoft.com/atwork/maintenance/speed.aspx. Retrieved 2011-11-07.
- ^ "TechNet Archive: MS-DOS". TechNet. Microsoft. http://technet.microsoft.com/en-us/library/cc743186.aspx. Retrieved 2011-11-07.
- ^ "How do I run Microsoft Defrag?". Computer Help. Computer Hope. http://www.computerhope.com/issues/ch001126.htm. Retrieved 2011-11-07.
- ^ a b c d e Russinovich, Mark (20 March 2007). "Inside Windows NT Disk Defragmenting". TechNet. Microsoft. http://technet.microsoft.com/en-us/sysinternals/bb897427.aspx. Retrieved 2008-12-09.
- ^ Windows 95 Defrag.exe Command-Line Parameters
- ^ Description of the Disk Defragmenter Tool in Windows 98/Me
- ^ Russinovich, Mark; David Solomon (2005). "Memory Management". Microsoft Windows Internals (4th edition ed.). Microsoft Press. p. 728. ISBN 0-7356-1917-4.
- ^ "Description of the new command line Defrag.exe included with Windows XP (MSKB283080)". Microsoft. http://support.microsoft.com/kb/283080/en-us. Retrieved 2008-12-09.
- ^ Disk Defragmenter FAQs
- ^ "Disk Defragmenter". User Guide. Windows Vista User Guide. 27 January 2007. http://www.windowsvistauserguide.com/disk_defragmenter.htm. Retrieved 2007-01-27.
- ^ Disk Defragmenter in Windows Vista and Windows Server 2008
- ^ "21 Essential Steps to Make Your PC Better/Faster/Stronger – Page 4". Maximum PC. 2009-05-28. http://www.maximumpc.com/article/features/21_essential_steps_make_your_pc_betterfasterstronger?page=0,3. Retrieved 2011-10-24.
- ^ Woody Leonhard. "Defragmenting a Hard Drive in Windows 7". Windows 7 for Dummies. For Dummies Publishing. http://www.dummies.com/how-to/content/defragmenting-a-hard-drive-in-windows-7.html. Retrieved 2011-11-07.
- ^ Disk Fragmentation and System Performance
- ^ a b c Disk Defragmenter Limitations in Windows 2000, Windows XP, and Windows Server 2003
External links
Categories:- Windows components
- Microsoft Windows file system technology
- DOS on IBM PC compatibles
- Windows-only software
- Defragmentation software
Wikimedia Foundation. 2010.