Defragmentieren einzelner Dateien bzw. Verzeichnisse mit Contig

Dieser Artikel erklärt, wie man einzelne Ordner von Spielen wie World of Warcraft oder Half-Life 2 defragmentieren kann, um Lade- sowie Spielgeschwindigkeit zu erhöhen. Außerdem wird erläutert, wie man sich die Arbeit erleichten kann, indem man Contig ins Windows-Kontexmenü integriert.

Was ist Defragmentieren?

Beim Defragmentieren werden die Datenblöcke auf der Festplatte neu geordnet, damit der Lesekopf des Datenträgers nicht unnötig hin- und herspringen muss. Weitere Informationen gibt es im Wikipedia-Artikel zum Thema Defragmentierung.

Warum Contig?

Die Defragmentierung der ganzen Festplatte ist sehr zeitintensiv und ergibt nicht immer das gewünschte Ergebnis. Ganz zu schweigen, dass man mindestens 11% freien Plattenplatz benötigt. Manch ein Defragmentierungsprogramm verlangt noch mehr Speicherplatz zum Verschieben der Datenblöcke. Die Defragmentierung von Windows benötigt sogar 15% freien Speicherplatz.

Mit dem Tool Contig von Sysinternals lassen sich gezielt einzelne Dateien oder Verzeichnisse defragmentieren. So hat man genau das defragmentiert, was man für nötig hält und nicht mehr.

Man kann Contig auf den gesamten Steam-Ordner anwenden oder lediglich das Verzeichnis von Half-Life 2 defragmentieren. Der Geschwindigkeitsvorteil ist meist deutlich zu erkennen.

Contig herunterladen und installieren

Zunächst einmal lädt man sich Contig von der Microsoft-Seite herunter.

Download

Die „Contig.zip“ enthält zwei Dateien:

  • „Contig.exe“ - Programm
  • „Eula.txt“ - Endbenutzer-Lizenzvertrag


Damit das Programm in jedem Verzeichnis ausgeführt werden kann, kopieren wir die Datei „Contig.exe“ in ein Systemverzeichnis, wie beispielsweise %SystemRoot%\system32. Üblicherweise ist der Pfad C:\Windows\system32.

Defragmentieren mit der Konsole

Dieser Abschnitt befasst sich hauptsächlich mit der Windows-Konsole. Wer es einfach haben möchte, springt gleich zum Abschnitt „Eintrag im Kontextmenü“.

Benutzen der Konsole

Als Beispiel defragmentieren wir das gesamte Steam-Verzeichnis. Dafür öffnen wir zunächst die Windows-Konsole.

Start → Ausführen → cmd

Die Konsole sollte folgendermaßen aussehen:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\%USERNAME%>

Sollte Steam nicht auf C:\ installiert sein, kann man den Wechsel auf anderen Partitionen oder Laufwerken mit folgenden Befehlen erreichen:

d:             Wechsel auf den Datenträger D:\
e:             Wechsel auf den Datenträger E:\
f:             Wechsel auf den Datenträger F:\
...

Mit Hilfe dieser Befehle kann man durch die Verzeichnisstruktur navigieren:

cd ..          Damit springt man immer ein Verzeichnis zurück.
cd \           Damit geht man in der "Wurzelverzeichnis", also z.B. c:\.
cd Programme   Wenn man auf c:\ ist, springt er nun in die Programme ordner.
dir            Damit sieht man alle Verzeichnisse und Files im aktuellen Ordner.

Nun wechseln wir in das Steam-Verzeichnis. Auch hier wieder den Laufwerksbuchstaben und Installationsverzeichnis anpassen.

C:\Dokumente und Einstellungen\%USERNAME%> cd \

C:\> cd Programme

C:\Programme> dir

Verzeichnis von C:\Programme

16.04.2008  09:44       <DIR>          .
16.04.2008  09:44       <DIR>          ..
......
16.04.2008  13:11       <DIR>          Steam
......

C:\Programme> cd Steam

Abkürzen kann man das Ganze auch mit:

cd C:\Programme\Steam

Mit Hilfe der Tab-Taste kann man durch die Namen der Verzeichnisse blättern, d.h. bei langen Namen muss man diese nicht ausschreiben.

Contig-Befehle

Wir lassen uns alle Befehle ausgeben, die Contig zur Verfügung stellt.

C:\Programme\Steam> contig

Contig v1.54 - Makes files contiguous
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.com


Contig is a utility that relies on NT's built-in defragging support
to make a specified file contiguous on disk. Use it to optimize execution
of your frequently used files.

Usage:
    contig [-v] [-a] [-s] [-q] [existing file]
or  contig [-v] -n [new file] [new file length]

  -v: Verbose
  -a: Analyze fragmentation
  -q: Quiet mode
  -s: Recurse subdirectories

Die Argumente im Detail:

  • -v zeigt mehr Informationen über einzelne Dateien an
  • -a startet eine Analyse, es wird nicht defragmentiert
  • -s lässt auch alle Unterverzeichnisse durchlaufen
  • -q gibt keine Informationen über einzelne Dateien an, überschreibt -v

Das Defragmentieren

Nun starten wir unsere Defragmentierung. Wir wollen alle Dateien defragmentieren und alle Unterverzeichnisse miteinbeziehen. Steam und alles was auf Dateien im Steam-Verzeichnis zugreift, muss natürlich geschlossen sein!

contig -s *

Man kann auch nur einzelne Dateitypen defragmentieren. Hier die Game Cache Files:

contig -s *.gcf

Wenn das Programm fertig ist, sehen wir folgendes:

Summary:
     Number of files processed   : 9090
     Number of files defragmented: 828
     Average fragmentation before: 2.13546 frags/file
     Average fragmentation after : 1.00891 frags/file

Relevant sind für uns:

  • Average fragmentation before - durchschnittliche Fragmentierung vor der Defragmentierung
  • Average fragmentation after - durchschnittliche Fragmentierung nach der Defragmentierung

Die durchschnittliche Fragmentierung sollte nun deutlich gesenkt worden sein. Die Average fragmentation after sollte um den Wert 1 herum angesiedelt sein. Falls dies nicht der Fall sein sollte, kann man die Defragmentierung mit demselben Befehl wiederholen. Ansonsten kann man die Konsole nun schließen oder ein anderes Verzeichnis defragmentieren.

Eintrag im Kontextmenü

Eine einfachere Methode ein Verzeichnis zu defragmentieren ist die Erstellung eines Eintrages in das Kontextmenü, damit nach einem einfachen Rechtsklick die Defragmentierung gestartet werden kann. Dazu erstellen wir eine Registrierungsdatei mit dem Namen „defrag.reg“, die folgenden Inhalt hat:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\contig]
@="Defragmentieren"

[HKEY_CLASSES_ROOT\Directory\shell\contig\command]
@="cmd.exe /c contig.exe \"%L\\*.*\" -v -s"

Mit einem Doppelklick können wir den Eintrag zur Registrierung hinzufügen. Sofort ist der neue Eintrag im Kontexmenü jedes Ordners zu finden. Die „defrag.reg“ brauchen wir nicht mehr und kann gelöscht werden.

Soll der Eintrag wieder entfernt werden, erstellt man eine Registrierungsdatei mit folgendem Inhalt:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\shell\contig]
Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
artikel/festplatte_defragmentieren_mit_contig.txt · Zuletzt geändert: 2008/04/27 11:52 von jibe