Windows XP und die SSD

Im Laufe der letzten Jahre sind SSDs immer günstiger geworden und haben bei mir schon so mache herkömmliche Festplatte abgelöst. Nun war auch mein XP-Rechner dran. Allerdings gibt es da Einiges, worauf man achten sollte für eine gute Performance und lange Lebensdauer der neuen SSD. In diesem Artikel werde ich alle möglichen Einstellungen und Optimalisierungen auflisten und erklären, welchen Einfluss diese haben.

SATA-Modus im BIOS auf AHCI einstellen.

Im BIOS des Rechners sollte der “SATA-Modus” für die SSD von “IDE” oder “Compatibility” auf “AHCI” umgestellt werden. Hierfür muss in Windows XP vorher der passende AHCI-Treiber des Herstellers installiert werden. AHCI unterstützt neue Funktionen und sorgt für einen höhere Geschwindigkeit. Sollte Windows nach dem Umstellen vom IDE-Modus in den AHCI-Modus nicht mehr starten, ist der Treiber nicht richtig installiert oder der falsche. Ein erneutes Umstellen in den IDE-Modus sorgt dafür, dass Windows normal hoch fährt.

Mehr Informationen über AHCI gibt es hier: Wikipedia

Partition ausrichten (4K-alignment)

Traditionelle Festplatten arbeiten mit einer Blockgröße von 512 Bytes. SSDs und moderne Festplatten ab 2010 allerdings arbeiten mit einer Blockgröße von 4096 Bytes oder auch 4K genannt. Windows XP kennt nur die 512 Bytes- Variante und spricht die Festplatte auch so an. Die SSD kann die 512Bytes-Blockgröße simulieren und schreibt diese in 4K-Blöcke auf die SSD. Allerdings – wenn man eine Partition während der Installation von XP erstellt hat – was in der Regel Standard ist –  ist diese nicht korrekt ausgerichtet (Mis-alignment) und sorgt so für einen deutlich niedrigere Schreibgeschwindigkeit und verkürzte Lebensdauer der SSD. Man kann schon beim Erstellen der Partition, z.B. mit der gparted Linux-CD, dafür sorgen, dass die Partition richtig ausgerichtet ist. Weil ich aber eine bereits installierte Version von der Festplatte auf die SSD migriert hatte, musste ich eine andere Methode wählen. Für diese Aufgabe gibt es einige Tools die man nutzen kann. Ich habe mich entschieden für den MiniTool Partition Wizard. Diesen einfach starten, den Datenträger mit der rechte Maustaste anklicken und “Alle Partition ausrichten” auswählen. MiniTool zeigt an, ob die Partitionen ausgerichtet werden müssen. Wenn dies so ist, oben auf die Schaltfläche “Übernehmen” klicken und den Rechner, wenn er darum fragt, neu starten. Dies kann nach Menge der auf der SSD befindlichen Daten, einige Zeit in Anspruch nehmen.

 

Mehr Informationen über das sogenannte Advanced Format gibt es hier: Wikipedia

Defragmentierung deaktivieren

Die Defragmentierung sorgt für eine Neuordnung der Dateien. Eine SSD sollte niemals defragmentiert werden. Neuere Betriebssysteme erkennen eine SSD als SSD und werden diese nicht defragmentieren. Aber Windows XP kennt nur normale Festplatten und weiß nicht, was eine SSD ist. Deswegen müssen wir in Windows XP die Defragmentierung im Register abschalten. Dies machen wir mit dem Programm regedit.exe. Einfach das Programm starten durch Drücken der Windows-Taste und R, dort regedit eingeben und Enter drücken. Anschließend den Schlüssel Hkey_Local_Machine\Software\Microsoft\Dfrg\BootOptimizeFunction\ öffnen und den Eintrag “Enable” von Y auf N ändern. Nach einem Neustart ist die automatische Defragmentation deaktiviert.

Mehr Informationen über Fragmentierung gibt es hier: Wikipedia

Datei-Indizierung abschalten

Die Datei-Indizierung hilft dabei Daten und Dateiinhalte schneller zu finden, allerdings sorgt dies auch wie deutlich mehr Lese- und Schreibaktivität. Um diese zu deaktivieren öffnen wir den Explorer durch drücken der Windows-Taste und E, anschließend mit der rechten Maustaste auf die neue SSD klicken und “Eigenschaften” auswählen. In diesem Eigenschaftenfenster  den unteren Haken bei “Laufwerk für schnelle Dateisuche indizieren” entfernen. Des Weiteren sollte man auch den Indexdienst deaktivieren. Hierfür im Windows Explorer mit der rechten Maustaste auf Arbeitsplatz klicken und “Verwalten” auswählen. Unter dem Punkt “Dienste und Anwendungen” den Unterpunkt “Dienste” auswählen. Auf der rechten Seite erscheinen nun alle Dienste des Rechners. Hier auf den Indexdienst doppelklicken und den Starttyp auf “deaktiviert” setzen. Wo wir schon hier in den Diensten unterwegs sind, können wir auch gleich die “Automatischen Updates” deaktivieren (es kommen für XP eh keine Updates mehr).

Mehr Informationen über die Indizierung gibt es hier: Wikipedia

Systemwiederherstellung deaktivieren

Dies ist ein zweischneidiges Thema. Die einen schwören bei der Systemwiederherstellung darauf, ich hingegen habe diese in meiner Laufzeit noch nie benutzt. Wenn man eine vernünftige Sicherheitskopie hat, ist diese Funktion meiner Auffassung nach unnütz, da sie nur Festplattenplatz und Rechenleistung verbraucht.  Es muss aber jeder selber wissen ob er die Systemwiederherstellung deaktiviert oder nicht. Zum Deaktivieren  im noch geöffneten Windows Explorer mit der rechten Maustaste auf Arbeitsplatz klicken und “Eigenschaften” auswählen. Im Reiter “Systemwiederherstellung” einen Haken setzten bei “Systemwiederherstellung deaktivieren” und mit OK bestätigen.

Mehr Informationen über die Systemwiederherstellung gibt es hier: Wikipedia

Auslagerungsdatei deaktivieren

Bei genügend Arbeitsspeicher kommt man recht selten an das Limit des selbigen. Sollte es wieder Erwarten doch öfters vorkommen, kann man natürlich die Auslagerungsdatei ohne Probleme neu erstellen. Zum Deaktivieren der Auslagerungsdatei im Windows Explorer mit der rechten Maustaste auf den Arbeitsplatz klicken und “Eigenschaften” auswählen. Im Reiter “Erweitert”, unter dem Punkt “Systemleistung” auf den Knopf “Einstellung” klicken. In diesem Unterfenster den Reiter “Erweitert” auswählen und unter dem Punkt “Virtuelle Arbeitsspeicher” den Knopf “Ändern” klicken. In diesem nächsten Fenster “Keine Auslagerungsdatei” auswählen und mit “Festlegen” bestätigen. Anschließend mit OK  das Fenster schließen und den Rechner neu starten.

Mehr Informationen über die Auslagerungsdatei gibt es hier: Wikipedia

Timestamp-Funktion anpassen

Jede Datei besitzt 3 Zeitstempel, einmal wann diese erstellt ist, wann sie zuletzt geändert wurden und wann sie zuletzt geöffnet wurde. Die letztere ändert sich bei – wie es die Bezeichnung schon vermuten lässt – jedem Öffnen einer Datei und sorgt damit für unnötige Schreibaktivität. Zum Deaktivieren einen DOS-Prompt öffnen durch Drücken der Windows-Taste und R, dort cmd eingeben und Enter drücken. In diesem DOS-Fester geben wir “fsutil behavior set disablelastaccess 1” ein und drücken Enter. Nach einem Neustart werden nur noch Zeitstempel bei Änderungen einer Datei abgespeichert.

Temporäre Daten in ein RAM-Drive auslagern

Windows XP in der 32-Bit Version kann nur 3,3 GB an Speicher adressieren. Sollte man mehr haben, kann man aus dem Rest ein sogenanntes RAM-Drive erstellen. Somit wird aus dem Speicher eine Festplatte. Auf dieser Festplatte kann man dann die temporären Dateien auslagern. Vorteil ist zum Einen, dass diese nicht auf der SSD gespeichert werden, also weniger Schreibvorgänge, und zum Anderen, dass die temporären Dateien  nach einem Neustart des Rechners verschwunden sind. Es wird also gleich aufgeräumt. Ein RAM-Drive ist schnell, etwas 5 bis 10 mal schneller als eine SSD. Um dies zu bewerkstelligen, nutze ich das Programm Dataram Ram-Disk 3.5 130, dieses gibt es noch im Internat als RC umsonst. Mit dieser Version kann man ein RAM-Drive bis zu 4GB erstellen.

Nach dem Installieren einfach die “RamDisk Configutration Utility” starten. Im Reiter “Settings” die Option “FAT32 Partition” auswählen und die Größe auf das Maximum einstellen. Bei mir wollte er nicht die 4096 akzeptieren, deswegen habe ich 3900 gewählt. Im Reiter “Load and Save” kann man noch einige Sachen einstellen, z.B. dass er direkt schon einen TEMP-Ordner anlegt. Wichtig ist es im Reiter “Advanced” einen Haken bei “Use Memory above 4GB for RAMdisk” zu setzen, damit die Software den ungenutzten Speicher verwendet.  Nachdem diese Einstellungen vorgenommen wurden, unten einfach auf “Start RAMDisk” klicken und schon ist die RAMDisk da. Auch nach einem Neustart wird die RAMDisk automatisch erstellt.

Nun muss man nur noch Windows beibringen, dieses Laufwerk auch für die Temporären Dateien zu nutzen. Hierfür wieder im Windows-Explorer mit der rechten Maustaste auf “Arbeitsplatz” klicken und “Eigenschaften” auswählen. Im Reiter “Erweitert” den Knopf “Umgebungsvariablen” anklicken. In dem folgenden Fenster müssen jetzt die TEMP- und TMP-Variablen geändert werden sodass diese in den TEMP-Ordner auf dem RAMDrive gespeichert werden. Bei mit ist das RAMDrive das Laufwerk E, also habe ich die 4 Werte in “E:\TEMP” geändert. Nun werden nach einem Neustart alle von Windows erstellten Temporären Dateien auf dem RAMDrive gespeichert. Einige andere Software bietet eine eigene Möglichkeit um einen temporären Order anzugeben, diese sollten auch auf das RAMDrive verwiesen werden.

 

TRIM

TRIM ist ein Befehl zur Markierung gelöschter Datenblöcke auf einer SSD zum Zweck der späteren Wiederbeschreibung. Windows XP unterstützt noch kein TRIM. Diese Funktionalität kam erst mit Windows 7. Viele Hersteller haben eine vergleichbares Verfahren schon in der Firmware der SSD eingebaut und hierdurch wird TRIM-Support vom OS überflüssig. Natürlich sollte man beim Auswählen der SSD darauf achten, dass die SSD diese Funktion in der Firmware integriert hat. Auch besteht die Möglichkeit um den Computer von einer Live CD zu starten und TRIM auszuführen. Hierfür kann man Linux nutzen, was allerdings recht kompliziert werden kann, vor allem wegen des Supports des NTFS-Filessystems. Eine einfache Methode bietet zum Beispiel eine ältere Version von Arconis True Image, am besten die 2014er Version. Diese Funktion wurde in der Acronis 2015er Version, nach Ablauf des Supports von Microsoft für Windows XP in 2014, entfernt.

Mehr Informationen über TRIM gibt es hier: Wikipedia

8 thoughts on “Windows XP und die SSD

  1. Hi Roman,

    ausgezeichneter Artikel. Herzlichen Dank.
    Ziemlich alles war das XP so treibt berücksichtigt.

    Zu:
    “Viele Hersteller haben eine vergleichbares Verfahren schon in der Firmware der SSD eingebaut und
    hierdurch wird TRIM-Support vom OS überflüssig.”

    * NEIN, NEIN, NEIN!
    Die SSD internen “Garbage Collection” und “Wear Leveling” ersetzen keinen TRIM Befehl!

    Warum?
    * Ausgangssituation NTFS Partition BS/OS egal:
    Partition schon auf Blöcke ausgerichtet. Anfang der Partition bei 1MB (2048x512Byte Sektoren).
    Sonst würde das Beispiel ausarten und wie Roman bereits geschrieben hat ein Übel.
    Ein sehr sehr grosses Übel.

    * Alle Zahlen nur Beispiele. Und ALLES vereinfacht. Fehler auch drinnen, aber nicht was das Prinzip betrifft!
    Bitte verzeiht mir das.

    * Eine SSD schreibt und “denkt”in Blöcken (Fakt):
    * Die Anzahl der Schreibzugriffe sind limitiert durch den Flash Speicher.
    Egal ob eine Zelle nun 10.000 oder 100.000 oder mehr aushält. Ja nach Typ der Zelle.
    Consumer SSD ~ 10.000x Stand heute.
    Dann hält halt eine hochwertigere SSD den Irrsinn ein bisschen länger aus. Supergau kommt trotzdem!

    * Eine SSD hat ausshalb der Blöcke der angegebenen Kapazität noch 10-30% Reserveblöcke.
    Das dient dazu, wenn es absehbar ist dass ein Block seine Lebensdauer erreicht hat,
    ihn als “nicht mehr benutzen” markiert. Die Daten umkopiert und eben einen Reserveblock nimmt.

    512KB hier. Egal auch wenn ich nur ein Byte runterschreibe.

    * Partition mit Windows NTFS. Clustergrösse der fomatierten Partition:
    4096 Bytes (bei den heutigen Grössen meistens 16384)
    Belegt 8x Sektoren (Datenträger mit 512Bytes Sektoren). Sagen wir die Sektoren 4.096 bis 4103 (weil ausgerichtet)
    (Clustergrösse = minimum, was vom BS/OS runtergeschrieben wird. Analog wie die Blöcke)

    * Datei anlegen:
    “Trallala.txt” mit einem Byte.

    * Wir vergessen hier mal, das ein NTFS (Treiber vom BS/OS) kleine Dateien gleich ins Inhaltsverzeichnis
    (MFT=MasterFileTable) speichert, statt in andere Sektoren und dann die Sektoreninfos in den MFT.
    Fragmentierung lässt grüssen.

    Was passiert:
    1. Belegt minimum einen NTFS Cluster mit 4096 Bytes. Durchs BS/OS bedingt.
    2. Die SSD entscheidet nun (“Wear Levelling”), auf Grund von Schreibzyklustabellen, in welchen Block gespeichert wird.
    a. Wenn eine freier Block, dann einfach reinmischen und speichern.
    b. Wenn bereits was im Block drinnen ist:
    1. Die 524.288 Bytes (512KB) lesen.
    2. Die 4096 werden reingemischt. Wo halt noch was frei ist in dem gelesenen Block im RAM.
    3. Das “Wear Levelling” der SSD (Firmware) entscheidet nun weiter, dass dieser Block schon
    einige Kilometer drauf hat (Ja, es führt intern eine Datenbank. Das Ding lebt!)
    a. Schreibt den Block in einen freien Block, wenn verfügbar.
    UND GENAU DA LIEGT DAS PROBLEM #1! Komme später drauf zurück.
    b. Schreibt den Block in einen freien Block in den Reserveblöcken.
    HIER PROBLEM #2!
    c. Oder wenn schon alle anderen Optionen ausgeschöpft sind, in einen Block der weniger Kilometer drauf hat.
    UND PROBLEM#3.

    Und markiert den vorher verwendeten Block als “Frei”.

    Das macht die SSD völlig transparent vom BS/OS oder Benutzer!

    (Eine Harddisk (512Byte Sektoren) würde da einfach in 8x Sektoren (8×512=4096) speichern, das ihm das NTFS vorgibt.)

    * Datei überschreiben mit einem anderen Byte:
    Genau derselbe Vorgang wie beim anlegen.

    * Datei Trallala.txt löschen (JETZT GEHTS LOS):

    1. Das BS/OS (ohne TRIM) markiert die 8x Sektoren als gelöscht bwz entfernt einfach die Datei und die Sektorinfos aus der MFT.
    Finito. Das wars.

    2. !!! Die SSD und das “Wear Leveling” bekommen davon nichts mit, dass die MFT manipuliert wurde !!!
    Der vollständige Block muss, aus der Sicht der SSD immer noch behandelt werden, wie wenn alle Daten drauf
    wichtig/belegt wären. Es weiss es ja nicht besser. Wurde ja nicht drüber infomiert.

    3. Und hellsehen wie im Text vom Roman “…in der Firmware der SSD eingebaut…” KANN SIE NICHT!
    Da kann noch soviel eingebaut sein. Ausser unbegrenzte Reservesektoren (auf einem begrenzten Planten)…

    * PROBLEM#1: Und jetzt fängt die SSD dauernd mit der Suche nach freien Blöcken an.
    Wenn aufgebraucht, obwohl aus der Sicht des BS/OS frei/leer ist, geift PROBLEM#2.
    (NOCHMAL: Alle gelöschten/freien Sektoren des BS/OS, sind immer noch belegte Blöcke auf der SSD!)

    * PROBLEM#2: Nehme ich halt Reservesektoren.
    Geht auch eine Weile gut, aber eine Weile kann sehr kurz sein.
    Bis aufgebraucht. Nun PROBLEM#3.

    * PROBLEM#3: Nichts mehr frei, dann nehme ich einen Block der weniger Kilometer hat,
    und kopiere um. Hierbei werden die Dinger dann brennend heiss! Die arbeiten nur mehr.

    * SUPERGAU: Nun sind die Schreibzyklen der Blöcke erschöpft.
    Datenverlusst.

    LÖSUNG:
    * Der TRIM Befehl des BS/OS, hätte der SSD sagen können, dass dieser Block bzw. die Sektoren der gelöschten Datei, frei ist.
    Dann würde es bei der Grösse der SSD, wesentlich länger dauern, bis an die Reserveblöcke rangegangen wird.

    ————
    Und nicht wundern über:
    * Auslagerungsdatei ausschalten.

    Manche Software geht dann nicht mehr. Beispiel: Das Spiel: “Farcry”.
    Meuterte bei mir.

    * Verschleiß- und Ausfallsvorhersage (S.M.A.R.T.)

    https://de.wikipedia.org/wiki/Solid-State-Drive#Verschlei%C3%9F-_und_Ausfallsvorhersage_(S.M.A.R.T.)

    * Manche Chipsätze bzw. deren SATA Controller die im AHCI/Raid Modus betrieben werden,
    liefern den Datenträger “Logisch” statt “Physisch”. Wird also nicht direkt an das Betriebssystem
    durchgereicht. Selbst wenn der beste Treiber des Herstellers verwendet wird.

    * Tools wie “Chrytal Disk” können dann nicht mehr die S.M.A.R.T. Daten auslesen. Z.B. 89% usw. bei einer SSD.
    Beispiel: Mainboards ATI-Chipsätzen. Bei mir mehrere.
    Hier einer spezifisch: Mainboard ASRock FM2A85X Extreme4 (AMD A85X Hudson D4 Chipset)
    Eine normale Festplatte.
    Chrystal Disk liefert einen externen Link, wo man das eventuell hinbekommen kann.
    Mein Chipsatz wurde jedoch nicht erkannt/unterstützt.
    War ein Ritt, mit AMD Chipset/Controller Zusatzprogrammen da ran zu kommen. Liefert nur:
    “Datenträger OK”. Aber besser als nichts.

    * Sicheres Löschen berücksichtigen. Verkauf. Defekt. Usw.
    * An die Reserve Blöcke der SSD kommt man selber nicht so einfach ran!
    https://de.wikipedia.org/wiki/Solid-State-Drive#Sicheres_L%C3%B6schen

    * Sinngemäss aus Wikipedia: “…sind nur durch Programme wie Secure Erase auf die Werksleistung rücksetzbar. ”
    “Secure Erase” hier ein Beispiel. Es gibt noch andere Programme dazu.
    ————
    Fazit
    ————
    * Sind wichtige Daten drauf (was ist schon nicht wichtig), nur BS/OS mit TRIM Befehl.

    * Macht eine SSD, ob XP oder andere Betriebsysteme, NIE voll!!!
    Das reibt das Ding zusammen! Bei XP wenn die SSD voll ist, kann das innerhalb
    von Stunden passieren. Kommt halt auf die Schreibzugriffe an.
    Aber ich hatte auch einen Kunden, dessen SSD im Windows 10, weil Randvoll, sehr sehr heiss geworden ist. Dessen SSD war einfach zu klein. Hatte nur mehr 3GB oder
    so frei. Üble Sache.

    * Partitioniert kleiner als gebraucht. Ein bisschen am Ende frei, schafft viele “natürliche” Reserverblöcke. Auch mit TRIM-Befehl kein Fehler.

    * @XP: Nur als 2. oder 3. Platte, für z.B. Spiele oder nur LESENDE Dateien/Ordner wie
    ein z.B. “D:\Programme”, “E:\Spiele” auf der SSD anlegen. Perfekt wenn ihr nur lesen tut, dann habt ihr eine grosse und lange Freude am XP mit SSD.

    * Temporär SSD @ XP für Videobearbeitung. Schnell. Sauschnell. War nie schneller.
    Keine Frage Aber nicht lange. Muahahahamu.

    * Und am ENDE rate ich Euch ausdrücklich davon ab, eine SSD mit einem BS/OS zu verwenden, das KEINE TRIM-Befehl unterstützt. Das muss ich tun!

    Salve
    Die todgeweihten SSD grüssen Euch.
    Dino auch.

    PS: Will nur helfen durch meine Überlegungen.

  2. Hallo und danke für die schöne Erklärung.
    Welchen Treiber für den AHCI Modus verwenden? Den vom Mainboard oder einen der für XP gemacht wurde?
    Im Voraus vielen Dank
    Grüße Conni

    1. Hallo Conni,

      erst immer den vom Hersteller des Mainboards, wenn dieser noch XP-Treiber anbietet. Ansonsten wird das so ne Sucherei nach einem funktionierendem. Da muss man mit Vendor und Devicenummer suchen.

      Gruß Roman

      1. Hallo Roman,
        danke für deine schnelle Antwort.
        Ich werde mal schauen ob ich für dieses Board noch was finde.
        Falls es doch klappen sollte,poste ich mal zurück.
        Grüße Conni

  3. Hallo,
    super Erklärung!!
    Ich nutze auch immer noch Windows XP, weil mir da der Umgang mit den Dateien und Ordnern am besten ist. Man kann in sämtlichen Ordnern durch Deaktivieren von “automatisch Anordnen” die Dateien oder Unterordner so hinschieben, wie man es braucht, und diese Ordnung bleibt auch nach PC-Neustart erhalten.
    Der MyPal Browser ist noch aktuell für XP, und Dr. Web ist ein aktuelles Antivirus für XP.
    Bisher hatte ich XP auf der Seagate ST500LM000 SSHD, die eine HDD und 4 GB SSD integriert hat. Damit startet XP auch schon schnell.
    Nun will ich jedoch mit einem neueren Mainboard, das gerade noch XP unterstützt, komplett weg von allen SATA/Strom Kabeln, und auch XP auf eine Msata oder M.2 installieren oder mit Acronis das jetzige XP spiegeln.
    NVMe will ich nicht, und kann das Mainboard auch nicht. Aber M.2 AHCI funktionieren auf dem Mainboard. Msata natürlich auch.

    Und nach deiner Anleitung von hier werde ich jetzt mal eine Kopie (habe 3 auf 3 verschiedenen HDD) des jetzigen XP auf eine M.2 spiegeln und testen, wie das so läuft.
    Besten Dank

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert