Andrei GACEFF



Back to main page


DefragNT - presents the user with many options for disk defragmenting (including various file sorting criterias) and many informations about the opened partition. It is a visual-rich tool which will even allow you moving a specific portion of a specific file to a specific location.

DefragNT is freeware.

The user starts by selecting a FAT or NTFS partition; a fast, preliminary partition report includes cluster size, partition size and free space available (percentage), total number of clusters and a simple allocation map, for quick visual inspection of partition fragmentation status.

Note: the cluster size - the minimum amount of data that the file system handles - is a value determined at partition format time. A smaller value (2KBytes or less) allows for smoother space administration and is preffered with a partition that will hold numerous very small files, but the FAT is larger in this situation and chkdsk/scandisk operations as well as disk defragmenting will require much more time! Overall performance (of disk tools and usual applications,too) is better when using larger clusters (16KBytes and above) but space waste can occur. In these conditions, a value of compromise, of 4KB or 8KB cluster size should be used.

It is unpractical to have a rectangle drawn on screen for every cluster on disk; instead, a drawn rectangle represents a group of clusters - a block, coloured accordingly to its content.

Note: the main display's details look slightly different in version 1.9.

In order to obtain accurate statistics on file and free space fragmentation, you need to perform a partition analysis, which can take as much as several minutes, depending on partition size and number of files. When this phase is done, the user can view more details - number of files, number of free space fragments, average number of fragments per file, a better allocation map (indicating locked clusters) and more.

Locked clusters are clusters containing data (and thus they are not free), but DefragNT does not have the permission for moving them. These clusters can belong to system files, files currently being exclusively opened by a running process, or they can be folders.

Empty files are, in the vast majority of cases, log or temporary files that the user should manually delete if he has permissions.

All the information about a cluster block will be displayed by DefragNT by request in a new window; simply click a certain block in the map area with the mouse.

A map block can contain chains of file allocated clusters, of free clusters or locked clusters, as shown in the example above.

Examine the fragmented files report because here you will see into how many fragments are files split. Pay attention to the most fragmented file: it may be an important system file, a multimedia file or simply a file you use a lot.

With this data in mind, you can go in the menu and choose to locate that file (or another file of interest to you) on the partition, find out at what clusters does it start and end. The blocks containing clusters that belong to the file you have specified turn yellow in the block map.

Now, with the block map and the locate file command at hand, the simplest operation would be manually defragmenting or moving a file. Practical reasons for such an operation could exist. If this is the case, the user can ask DefragNT to perform these specific file clusters operations.

Finally, set up the defragmenting options like file/folder placement and file sorting before you actually begin a defragmentation. For fast defragmenting, instruct DefragNT not to move the files that are not fragmented; for thorough defragmentation, allow the utility to process these files as well, since they can prevent other files or the free space from being defragmented. Also, many file list sort passes will enforce the sort criteria that you selected, but can take a lot of time for partitions with many files.

The operations you make on the file list in the File Sort window do stack up: sorting most recently accessed files first, then placing folder FOLDER1 first and then placing FOLDER2 first will result in a file list which consists of all the files in the FOLDER2 folder at the beginning (most recently accessed first), followed by all the files of the FOLDER1 folder (most recently accessed of them first), then all the other files of the partition, also in most-recently-accessed-first order. Be careful of the order in which you request place/sort operations, otherwise you will obtain unwanted results: just keep in mind that the last applied sort criteria is the strongest.

Defragmentation will begin, in a one pass process that turns green defrgmenting blocks as it progresses. Be patient; minimize the application's window if you are not interested in visual rendering of this progress.

Note that you can do other things while DefragNT defragments the partition, with the condition to use in your work files stored on other partitions. In its minimized (but active) state, DefragNT occupies arround 20% of a 600Mhz Duron processor's time.

Download:

- version 1.9 (March 2004) with Unicode support (DefragNT now handles files with names using language-specific double-byte characters); corrected defragmentation algorythm (to correctly handle a special situation); revised partition analysis, conducted in its own thread; revised partition details display;

- version 1.6 (January 2004) with theoretical support for partitions as large as 80GBytes (now DefragNT should handle partitions with up to 20.971.519 clusters, as opposed to old limit, of 16.777.215 clusters ~ 67GBytes partition with 4KBytes-sized clusters);corrected bug in the Partition Analysis routine; corrected memory leak problem occuring during defragmentation;

- version 1.5 (December 2003) with revised partition analysis, so that the program can now defragment NTFS partitions with compressed files (which is the case of all NTFS system partitions, because of the compressed WINNT\System32\dllcache folder); the partition selection (in "Select working partition" dialog) is handled better by the program;.

- version 1.1 (November 2003); requires no installation, just unzip and run the executable.



Compatibility: OS support for safe cluster moving was introduced by Microsoft starting with Windows NT4.0. Consequently, DefragNT requires NT4 or later in order to function. Also to be noted that the NT4 and NT5 (Windows 2000) cluster move support is limited to FAT partitions; with Windows XP, however, the system accepts handling cluster-move calls on NTFS partitions as well ans so, on NT5.1 (Windows XP) and higher OS, DefragNT will function on both FAT and NTFS disk partitions.

This is a reason why a future version of this software could be named DefragXP.

Data safety: File cluster moving is handled exclusively by the NT operating system; DefragNT does not install a custom NT service nor communicate directly with the disk drive. So, this makes DefragNT operation no more dangerous than copying files within Windows Explorer. Except for provoking intense disk activity, which usually puts data at a certain risk in the eventuality of a power failure, DefragNT is very data-safe.

Performance issues: First, minimizing DefragNT during disk defragmenting greatly improves performance (up to 5 times), because the high level of graphic detail that needs to be redrawn after each disk operation consumes a lot of CPU time. Secondly, while very useful for some configurations (file servers or computers that generally hold many small files), file sorting is a very lengthy operation; use a reasonable number of sort passes. And third, because of its "clean", unoptimized method of defragmenting, DefragNT may require a lot of time to defragment a drive.

Performance may improve in future versions.

Known problems: Because of the System Volume Information that Windows NT maintains, and because of other system files that the OS may decide to access at any moment, DefragNT will report errors (failing to move a file fragment) and may stop defragmenting boot partitions, especially if you try to defragment the very same partition you have just booted from.



Contact me at andreigaceff@yahoo.com for anything related to DefragNT.

Back to main page