Let’s face it, most of the defrag utilities that ship with any given Microsoft Windows operating system are less than up to the task. They are typically slow and lack much in the way of functionality. Fortunately, there are third-party defragmenting tools out there that do their job and do it well. Of those tools, one is the open source utility UltraDefrag.

This blog post is also available in PDF format in a free TechRepublic download.

UltraDefrag is one of the fastest defragmenting tools available. And while it’s working its speedy magic, it uses very little resources. The reason UltraDefrag is so speedy is because it uses a kernel-mode driver to do the work.

Some of the features of UltraDefrag include:

  • Able to defrag at start up (similar to chkdsk)
  • Available for both 32- and 64-bit architecture
  • Can defrag a single file or entire directory
  • Includes command-line version
  • Debug logging
  • Uses very small footprint
  • Includes portable version that can be installed on USB drive and used without installation
  • Generates HTML reports upon completion

Getting and installing

As with any Windows application, the installation of UltraDefrag is simple. Download the UltraDefrag installer (make sure you download the file for the proper architecture), double-click the file, and answer a few questions. You will notice that there are some optional components for the installation:

  • Documentation – Help files
  • Scheduler.NET – Scheduler for UltraDefrag (requires NET Framework 2.0)
  • Portable UltraDefrag package – Build a portable package for a USB drive
  • Context menu handler – Defrag volumes from context menu
  • Shortcuts – Icons for menus and desktop

I would suggest you install all the options. Having the USB version of this application is worth the price of admission alone.

Basic usage

When you first fire up UltraDefrag, the main window should look fairly familiar (Figure A), because it looks similar enough to any other defragmenting utility out there.

Figure A

UltraDefrag has a very straightforward GUI. You can even change the UI font from within the Settings window.

The basic usage should need fairly little explanation:

  • Highlight the volume you want to check.
  • Click on the Analyze button.
  • Click the Defragment button if needed due to volume.
  • Read your reports if necessary.

After you analyze a volume, you will see a very clear representation in the main window (Figure B). Depending on the results of the analysis, you may or may not want to defragment.

Figure B

A defrag is needed.

As you can see, there are enough fragmented files that will make me want to go ahead with the optimization (compacting) of the volume.

If you do click the Defragment button, you will be shocked at how quickly the process is. On a 98GB volume with 427 fragmented files, the defragmenting process took under fifteen minutes to complete.

Command-line usage

Using UltraDefrag from the command line will seem second nature to those of you who have played around with other open source tools. The structure of the command is:

udefrag.exe OPTION

By default the executable is located in the system32 directory, so the command is global (it can be run from any directory in a terminal window or from the run dialog box). Here is a listing of the possible options:

  • a – Analyze a volume
  • o – Optimize file space by moving all files to the beginning of a drive
  • l – List volumes available for defragmenting (excluding removable drives)
  • la – List all volumes available for defragmenting
  • b – Use default color scheme

So the process of defragmenting a volume from the command line would look like this:

udefrag.exe -l
udefrag.exe -a C:
udefrag.exe -o C:


You can schedule defragmenting with UltraDefrag. To schedule a process, you need to open the simple scheduler too. To open this tool, click on the Start menu and then click on the UltraDefrag submenu. Within the UltraDefrag menu, you will see the Scheduler.NET entry, which will open the scheduler (Figure C).

Figure C

It doesn’t get much easier than this to schedule a defragmenting service.

The scheduler requires you to set only the volume, the frequency, the time, and the day of the week. You cannot schedule a onetime defrag; you can only schedule recurring instances.

Creating a portable version

One of the best features of UltraDefrag is the ability to create a USB version of the tool. Once it is installed on the flash drive, you can take this around to any Windows machine and use UltraDefrag without having to install it on the machine.

It is quite easy to create a portable package. All you need to do is place all the files in: Start | Programs | UltraDefrag | Portable package onto your USB drive. You can optionally set some configurations for your Portable Package by using a configuration file named PORTABLE.X. With this file, you can configure where to show the bootsplash image and the language. Here’s an example of the contents of the file:


This file is placed on your USB drive along with the rest of the contents of Portable package.

Final thoughts

If you use a defragmenter to keep your Windows machines working at their optimum performance, it would behoove you to take advantage of UltraDefrag. It’s faster, lighter, and offers better features than most other, similar tools.

Stay on top of the latest XP tips and tricks with TechRepublic’s Windows XP newsletter, delivered every Thursday. Automatically sign up today!