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.
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:
-vzeigt mehr Informationen über einzelne Dateien an-astartet eine Analyse, es wird nicht defragmentiert-slässt auch alle Unterverzeichnisse durchlaufen-qgibt 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 DefragmentierungAverage 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]

