This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Microsoft Drive Optimizer" – news ·newspapers ·books ·scholar ·JSTOR(September 2011) (Learn how and when to remove this message) |
| Microsoft Drive Optimizer | |
|---|---|
Microsoft Drive Optimizer inWindows 10 | |
| Other names | Disk Defragmenter |
| Developer | Microsoft |
| Operating system | Microsoft Windows |
| Type | Defragmentation software |
| License | Proprietarycommercial software |
Microsoft Drive Optimizer (formerlyDisk Defragmenter) is autility inMicrosoft Windows designed to increase data access speed by rearrangingfiles stored on adisk to occupycontiguous storage locations, a technique calleddefragmentation. The tool was first officially shipped withWindows 95 as Disk Defragementer.
Defragmenting a disk minimizes head travel, which reduces the time it takes to read files from and write files to the disk.[1] As a result of the decreased read and write times, Microsoft Disk Defragementer decreases system startup times for systems starting from magnetic storage devices such as a hard drive. However, defragmentation is not helpful on storage devices such assolid state drives,USB drives orSD cards that useflash memory to increase speeds, as these drives do not use a head. Doing so may decrease lifespan for these types of devices.
Defragmentation as such is unnecessary and harmful tosolid-state drives (SSDs). In Windows 8 and later version Disk Defragmenter was renamedDefragment and Optimize Drives; SSDs were optimised in a useful and appropriate way by performingTRIM operation instead.
As early as the end of 1982, theIBM PC DOS operating system that shipped with earlyIBM Personal Computers included a Disk Volume Organization Optimizer to defragment the 5¼-inchfloppy disks that those machines used. At this time,Microsoft'sMS-DOS did not defragment hard disks. Several third party software developers marketed defragmenters to fill this gap. MS-DOS 6.0 introduced Microsoft Defrag.[2]Windows NT, however, did not offer a Defrag utility, andSymantec was suggested by others as a possible alternative for the utility.[3]
Initial releases of Windows NT lacked a defragmentation tool. Versions throughWindows NT 3.51 did not have anapplication programming interface for movingdata clusters on hard disks.[4] Executive Software, later renamedDiskeeper Corporation, releasedDiskeeper 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 theWindows NT 4.0 kernel,[4] which worked for bothNTFS andFAT partitions. However, Windows NT 4.0 did not provide a graphical or command-line user interface.[4]
Disk Defragmenter first shipped as part ofWindows 95 and later shipped withWindows 98 andWindows Me, licensed from Symantec Corporation. It could be scheduled using a Maintenance Wizard and supported command line switches.[5] In the version of Disk Defragmenter included with Windows 95 and 98, if the contents of the drive changed during defragmentation, the program paused, rescanned the entire drive, and then resumed the process from where it had left off.[6] This quirk was removed in the Windows Me version of Disk Defragmenter.
Disk Defragmenter inWindows 2000 was a stripped-down version of Diskeeper, licensed from Diskeeper Corporation. It uses the following techniques:[4]
In Windows 2000 and later operating systems, Microsoft Disk Defragementer has the following limitations:
In addition, the Windows 2000 version has the following limitations which were removed in Windows XP:[8]
Windows Disk Defragmenter was updated to alleviate some restrictions.[9] 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,[10] providing access to the defragmenter fromcmd.exe andTask Scheduler. Windows XP and later has introducedBoot Files Defragment function, this function is enabled by default and can be disabled in Registry.[11]
In Windows Vista and later, if theMaster File Table (MFT) is spread into multiple fragments, the defrag engine can combine the MFT fragments during defragmentation.[12]
InWindows Vista, Disk Defragmenter includes an option to automatically run at scheduled times using Task Scheduler and uses low CPU priority and the newly introducedlow 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,progress indicator, disk analysis and fragmentation information 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.[13] The result, however, is thatDisk 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.[14] This utility can be used to defragment specific volumes or to just analyze volumes as the defragmenter would inWindows XP.
Disk Defragmenter is maintained by Microsoft's Core File Services. The Windows Vista version has been updated in Windows Vista SP1 to include the improvements made inWindows Server 2008. The most notable of these improvements is that the ability to select which volumes are to be defragmented has been added back.[15]Notably, the Windows Vista defragmenter is much more effective than the version included with XP.[16]
Windows 7 reintroduces the analyze function and showing percent complete of the defragmentation, both of which were removed in Windows Vista. It can also defragment multiple volumes simultaneously.
According to Scott Hanselman ofMicrosoft, Windows 7[verification needed] and later do optimize asolid-state disk (SSD) but in a completely different way. Because SSDs work in a different way than Hard Disk Drives, there is no performance benefit from defragmentation of files on SSDs. Additionally, SSDs handle a finite number of storage write cycles before their lifespan expires. However, file systems cannot support infinite file fragmentation as they reach their metadata limit. Microsoft Drive Optimizer (formerly Disk Defragmenter) in Windows 7 and later is aware of whether the disk in use is an HDD or an SSD. For HDDs, full defragmentation is supported including file defragmentation. For SSDs, it only performs defragmentation of file system metadata if volume snapshots are enabled for that disk. This is done to maintain optimal volume snapshot copy on write performance on fragmented SSD volumes. In Windows 8 and later, it is also responsible for performing a manualTRIM or retrim operation on SSDs.[17]