Free (released under the GNU General Public License) disk defragment and optimize utility for Windows 2000/2003/XP/Vista/X64. Completely automatic and very easy to use, fast, low overhead, with two optimization strategies, and can handle floppies and USB disks/sticks. Included are a Windows version, a command line version (for scheduling by the task scheduler or for use from administrator scripts), a screensaver version, a DLL library (for use from programming languages), and versions for Windows X64. JkDefrag is based on the standard defragmentation API by Microsoft, a system library that is included in Windows 2000, 2003, XP, and Vista. All defragmenters are based on this API, including commercial defragmenters. JkDefrag is therefore very solid and there is no risk of losing data. You can stop the program at any time, it will finish the current file in the background. If your disks use NTFS then you"re even safe when the computer crashes in the middle of defragging. Nevertheless, it"s still a good idea to backup before defragmenting, just like with other defragmenters, because the heavy use of the harddisk may trigger a hardware fault.
Changes in this version:
- NTFS disks are now analysed by directly reading the MFT from disk. This is a lot faster, and finds more system files.
- NTFS streams are now supported and will be defragged and optimized.
- Added an icon.
- Added a version info resource to the executables.
- Added a manifest so Vista will always run JkDefrag with administrator privileges.
- Added support for short filenames. The masks now also work for short names, for example "PROGRA~1" instead of "Program Files".
- Spacehogs are now shown in dark-green, regular files in light-green. Allocated space is now shown in grey, instead of black.
- Bugfix in redrawing the diskmap, to properly handle redraw-requests while redrawing.
- Files larger than 1 gigabyte are now closed and re-opened at 1 gigabyte intervals.
- Change in the fast optimize algorithm. When a gap cannot be perfectly filled the program now takes the highest file on disk that will fit, instead of the largest file. This reduces the amount of data moved and optimization will finish quicker.
- Added a special exception for the "?:BootAuth?.sys" files used by DriveCrypt.
- Added a few extra lines to the status report.
- The logfile now shows which command line options were used.
- Added to the default list of spacehogs:
?:RECYCLED* (FAT on 2K/XP)
?:$RECYCLE.BIN* (Vista)
?:WINDOWSEhome*
?:WINDOWSFonts*
?:WINDOWSHelp*
?:WINDOWSIME*
?:WINDOWSSpeech*
?:WINDOWSSymbols*
*.chm
*.mp3
*.pdf
*.bup
*.ifo
*.vob
*.avi
*.log
For programmers:
- All instances of CHAR changed into WCHAR. This has widespread implications in many locations. I am hoping the change will fix the problem that some users have reported on weird filenames.
- Renamed "JkDefrag.cpp" into "JkDefragLib.cpp"
- Renamed "JkDefrag.h" into "JkDefragLib.h"
- Renamed "JkDefragWindows.cpp" into "JkDefrag.cpp"
- Added "ScanNtfs.cpp" and "ScanNtfs.h"
- Several changes in the DefragDataStruct.
- Several changes in the "Makefile" to facilitate debugging.
JkDefrag v3.19 [Aug 27, 2007] changes:
- Fixed a bug that caused the program to crash at various places during execution, mostly on Windows XP.
- If the NtfsDisableLastAccessUpdate registry key is set then the program will not look at the LastAccessTime when testing if a file is a SpaceHog.
- Added to the default list of spacehogs:
?:I386*
*.old
*.bak