====== 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 [[http://de.wikipedia.org/wiki/Defragmentierung|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 [[http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx|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. [[http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx|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 . 16.04.2008 09:44 .. ...... 16.04.2008 13:11 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ü ===== {{artikel:festplatte_defragmentieren_mit_contig:contig01.png}} 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]