Um Ihrem Rechner so richtig Beine zu machen, tauschen Sie am besten die verbaute Festplatte gegen eine SSD. Allerdings lauern auf dem Migrationsweg etliche Stolperstellen, die es geschickt zu umgehen gilt.
Gerade Consumer-SSDs – die also nicht so viele Schreibzugriffe auszuhalten haben, wie man sie den Enterprise-Kollegen in einem rund um die Uhr beschäftigten Disk-Array zumuten kann – bewegen sich preislich heute bereits auf dem Level guter Festplatten. Das macht den Tausch der HDD gegen eine SSD nicht nur attraktiv, sondern inzwischen auch einigermaßen bezahlbar. Als Lohn winkt eine ums Fünf- bis Siebenfache gesteigerte sequenzielle Schreib/Leseleistung, die sich fast überall deutlich temposteigernd auswirkt: beim Booten, beim Starten von Anwendungen und bei I/O-lastigen Prozessen.
Studieren geht vor Kopieren
Also einfach Daten kopieren und fertig? So einfach klappt das nur im allergünstigsten Fall, in aller Regel steht man schnell vor der einen oder anderen Hürde.
Das beginnt bereits damit, dass bei vergleichbarem Preis eine SSD kleiner ausfällt als die alte Festplatte. Wer den Plattenplatz nicht schon bis zum letzten Byte ausgereizt hat, kann es gut verschmerzen, wenn sich bei 50 GByte weniger Platz auf der SSD der Füllungsgrad gegenüber der Festplatte um ein paar Prozent erhöht. Für die Migration hat das jedoch die Konsequenz, dass für das Kopieren Tools wie Dd oder Partimage (auf dem wiederum Clonezilla beruht) als Werkzeuge ausfallen: Die sichern nur auf mindestens gleich große Partitionen zurück, selbst wenn auf dem Original noch viel Platz frei blieb. Anstelle einer physischen, sektorweisen Kopie braucht man also eine logische, dateibasierte – für die sich beispielsweise Rsync anbietet.
Eine Alternative bestünde theoretisch darin, die Partitionen auf der Quellplatte zuerst so zu verkleinern, dass sie anschließend nicht größer ausfallen als diejenigen, die sich auf der Ziel-SSD ergeben. Das funktioniert aber nicht in allen Fällen: Hatte man sich etwa für das ansonsten leistungsfähige und schnelle Dateisystem XFS entschieden, steht man nun vor der Tatsache, dass das sich zwar vergrößern lässt, aber nicht verkleinern. Auch JFS oder Reiser4 lassen sich nicht schrumpfen [1].
Richtig partitionieren
Bevor Sie aber etwas kopieren können, müssen Sie erst einmal die SSD partitionieren. In einem grafischen Tool wie Gparted tippen Sie dazu schlicht die Größen in MByte in das Formular ein. Allerdings besteht dabei die Gefahr, etwas Wichtiges zu übersehen, was später viel Tempo kosten kann: die richtige Ausrichtung der Partitionen (“Alignment”).
SSDs arbeiten anders als normale Festplatten nicht mit 512-Byte-Blöcken, sondern mit solchen von 4 KByte Größe. Beginnt nun eine Partition nicht an einer 4K-Grenze, verursacht das für jeden zu lesenden oder zu schreibenden Block zwei Lese- respektive Schreibzugriffe, weil sich dann der Dateisystemblock über zwei physische Sektoren des Mediums erstreckt. Das kann die Performance um den Faktor 25 drücken. Insbesondere sollte die erste Partition keinesfalls ab Sektor 63 beginnen, dem üblichen Startsektor für Festplatten (Abbildung 1).

Abbildung 1: Passt der in einem Zug zu lesende oder schreibende logische Block des Filesystems nicht in den physischen des Mediums (also hier der SSD), braucht es doppelt so viele Zugriffe.
Nach der Partitionierung können Sie ans Kopieren gehen – und hier lauert der nächste Stolperstein: Egal, ob Sie die Partitionen Sektor für Sektor oder Datei für Datei kopieren, der Klon wird nicht booten. Es fehlt der sogenannte Master Boot Record (MBR), der außerhalb der Partitionen im ersten Sektor der Festplatte lag. Er enthält neben der Partitionstabelle einen Bootloader, also das erste Glied der Ladekette, die letztlich das Betriebssystem in den Speicher befördert und ausführt.
Sie könnten den MBR mithilfe des Befehls aus Listing 1 separat kopieren: Dieses Kommando führte aber nur in die nächste Falle, denn es überschriebe die zuvor mühevoll ausgeklügelte und ausgerichtete Partitionstabelle auf der SSD. Nun ließe sich der MBR als Ausweg auch ohne Disk Signature und ohne Partitionstabelle kopieren (bs=440) – aber wie Sie noch sehen werden, geht es auch einfacher.
Listing 1
# dd if=/dev/Quell-Device of=/dev/Ziel-Device bs=512 count=1
Nummernrevue
Auch wenn Sie die Klippe MBR umschifft haben, bootet das System noch immer nicht. Stattdessen meldet es jetzt grub error: no such device …. Das liegt daran, dass die Datei fstab, die Linux sagt, welches Filesystem es in welches Verzeichnis einhängen soll, genauso wie /boot/grub/grub.cfg nicht mehr wie früher mit den Device-Namen operiert, sondern mit den sogenannten UUIDs (“Universal Unique Identifier”) der Partitionen.
Dabei handelt es sich um eindeutige, 16 Byte lange Ausdrücke wie fc3065ec-00dc-4c80-9da2-175b94b00697. Unter Linux lesen Sie diese als root mit dem Kommando blkid aus. Da sie für die zugehörige Partition eindeutig sind, haben sich die UUIDs beim Wechsel zur SSD geändert. Sie könnten zwar per tune2fs (Ext2/3/4) oder xfs_admin (XFS) den Partitionen auf der SSD wieder die alten Werte der Festplattenpartitionen zuordnen, aber auch hier existiert eine einfachere Lösung.
Müssen Sie auf einem Dual-Boot-System auch Windows-Partitionen migrieren, wird es kompliziert: Das Microsoft-OS verwendet anstelle der UUIDs wesentlich kürzere Seriennummern der Partitionen. Diese Serials dürfen sich auf keinen Fall ändern, da Sie sonst Probleme mit der Windows-Lizenz bekommen. Hier gilt es also, der SSD die alten HDD-Werte unterzujubeln.
Mit all den bisher diskutierten kleinen Schwierigkeiten im Hinterkopf können Sie sich nun einen Schlachtplan zurechtzulegen.
Hardware
Als Erstes kümmern Sie sich um die Voraussetzungen auf Hardware-Seite. So stellen Sie im BIOS den Modus des SATA-Controllers auf AHCI ein, sofern noch der ältere IDE-Modus verwendet wurde. Das kommt der Performance zugute, und Windows würde ansonsten auch einen falschen Treiber benutzen – was Sie nur umständlich über die Registry ändern könnten.
Außerdem sollten Sie nach Möglichkeit dem Rechner einen SATA-III-Controller spendieren. Mit dem SATA-II-Vorgänger, der maximal 300 MByte/s schafft, lässt sich die SSD nicht ausreizen. Geht es aber beispielsweise um den Onboard-Controller eines Laptops, werden Sie notgedrungen mit dieser Einschränkung leben müssen.
Partitionierung
Im zweiten Schritt geht es ans Partitionieren. Als Werkzeuge dazu eignen sich hier das gute alte Fdisk und ein Taschenrechner besser als alle grafischen Tools: Auf der Kommandozeile können Sie sowohl Partitionsgrößen als auch Partitionsgrenzen in Form von Sektornummern vorgeben. Listing 2 zeigt eine beispielhafte Partitionstabelle.
Listing 2
Gerät boot. Anfang Ende Blöcke Id System /dev/sda1 * 4096 3074047 1536000 7 HPFS/NTFS/exFAT /dev/sda2 3076096 212789247 104857600 7 HPFS/NTFS/exFAT /dev/sda3 213098496 240361471 13631488 7 HPFS/NTFS/exFAT /dev/sda4 240361472 781422767 270530648 5 Erweiterte /dev/sda5 240365568 252948479 6291456 82 Linux Swap / Solaris /dev/sda6 252948480 781422767 264236120 83 Linux
Die Nummer des Startsektors jeder Partition sollte sich glatt durch 4096 teilen lassen, beispielsweise 3076096 / 4096 = 751. Ändern Sie den Startsektor auf ein ganzzahliges Vielfaches von 4096, ergeben sich unter Umständen kleine Lücken zwischen den Partitionen – im Beispiel etwa zwischen /dev/sda1/ (Ende: 3074047) und /dev/sda2/ (Start: 3076096). Das macht aber nichts.
Kopierorgie
Im nächsten Schritt nehmen Sie das Kopieren der Originalplatte in Angriff. Wie sich noch zeigen wird, übertragen Sie die Inhalte am besten zunächst auf einen weiteren Datenträger, wie etwa eine externe Festplatte, und nicht direkt auf die SSD. Fürs Übertragen der Linux-Partitionen bietet sich Rsync an, dem Sie dazu allerdings einen ganzen Rattenschwanz an Optionen mitgeben müssen, um die Zugriffsrechte, Zeitstempel, Links und so weiter zu erhalten.
Vor dem Kopieren booten Sie den Rechner von einer Live-CD (etwa Knoppix oder System Rescue CD) oder von einem USB-Stick. So vermeiden Sie, die Quellpartition direkt zu nutzen: Andernfalls müssten Sie den Mountpoint der Zielplatte ausschließen (sonst landen Sie in einer Endlosschleife) sowie zudem mindestens /proc ausnehmen, das sonst aus virtuellen Files wie /proc/kcore gigantische, physische Dateimonster macht. Heraus kommt letztlich ein Befehl wie der folgende (was die Optionen bedeuten, verrät die Tabelle “Rsync-Optionen”):
$ rsync -rvlpogdstHEAX /Original /Kopie
Rsync-Optionen
| Option | Bedeutung |
|---|---|
d |
Verzeichnisse kopieren |
g |
Gruppen-Zugehörigkeit mitkopieren |
l |
Symlinks als Symlinks kopieren |
o |
Datei-Eigentümer mitkopieren |
p |
Datei-Berechtigungen mitkopieren |
r |
rekursiv kopieren |
s |
keine Interpretation von Sonderzeichen in Dateinamen durch die Shell |
t |
Modifikations-Zeitstempel mitkopieren |
v |
verbose, mehr erklärende Ausgaben |
A |
ACLs (Access Control Lists) mitkopieren |
E |
Bit für die Ausführbarkeit einer Datei erhalten |
H |
Hard Links erhalten |
X |
Erweiterte Attribute erhalten |
Fensterspielchen
Windows-Partitionen kopieren Sie am einfachsten mit einer kostenlosen 30-Tage-Demo-Version des kommerziellen Tools Acronis True Image [2]. Die GUI der Backupsoftware fällt weitgehend selbsterklärend aus (Abbildung 2).
Anschließend stellen Sie die Volume Serial Numbers der Windows-Partitionen wieder her. Dazu kopieren Sie die Seriennummern der Original-Partitionen in ein File (Listing 2, erste Zeile). Dieses könnten Sie nun mit einem Hex-Editor wie Hexedit bearbeiten, wobei es zu beachten gilt, dass die Nummer im Little-Endian-Format notiert ist, also quasi rückwärts.
Da das Serial aber später ja unverändert in der neuen Partition landen muss – das gelingt mit dem Kommando aus der zweiten Zeile von Listing 3 – brauchen Sie gar nichts zu verändern. Achtung: Der Parameter, der beim Lesen skip heißt, nennt sich beim Schreiben seek, außerdem müssen Sie die Device-Namen denen auf Ihrem System anpassen.
Listing 3
# dd if=/dev/sdb1 bs=1 of=/tmp/serial-p1 skip=72 count=8 # dd if=/tmp/serial-p1 of=/dev/sdc1 bs=1 seek=72 count=8
Migration
Jetzt können Sie damit beginnen, die SSD zu befüllen. Dazu restaurieren Sie zunächst das Image-Backup der Windows-Partitionen. Das stellt mit Acronis True Image kein Problem dar, wobei Sie sich jedoch doppelt versichern sollten, die richtigen Partitionen als Quelle und Ziel auszuwählen (Abbildung 3) – anderenfalls müssen Sie gegebenenfalls noch einmal ganz von vorne beginnen. Ganz fatal kann die Sache immerhin nicht ausgehen, denn die Quellplatte wird ja zu keiner Zeit beschrieben.

Abbildung 3: Die Images der Windows-Partitionen lassen sich einfach wieder restaurieren. Als Ziel geben Sie die SSD an.
Nun kommt die Reihe an Linux. Richten Sie dabei zuerst von einer Install-CD das Grundsystem neu in den dafür vorgesehenen Partitionen ein, schlagen Sie mehrere Fliegen mit einer Klappe:
- Die neuen UUIDs der Partitionen landen in den entsprechenden Konfigurationsdateien.
- Der MBR entsteht samt passender Partitiontabelle neu.
- Die resultierende Grub-Konfiguration bootet gegebenenfalls auch Windows.
- Sie erhalten ein aktuelles, altlastenfreies und nicht fragmentiertes Linux.
Natürlich will man nicht all das verlieren, was man unter Linux im Lauf der Zeit installiert und konfiguriert hatte. Deswegen überschreiben Sie die neue Installation nun mit der Rsync-Kopie. Dabei weisen Sie Rsync mit --ignore-existing an, bereits existierende Dateien zu überspringen. Ansonsten verwenden Sie denselben Befehl wie oben im Abschnitt “Kopierorgie”, ändern aber Quelle und Ziel so, dass Rsync vom Backup auf die SSD schreibt. Dieses Vorgehen weist allerdings zwei kleine Nachteile auf, die wir nicht verschweigen wollen.
Zum einen überschreibt Rsync wegen der Option --ignore-existing keine Konfigurationsdateien, die in der Neuinstallation bereits vorliegen. Das betrifft etwa in /etc die Dateien hosts, passwd und group. Daher verweigern solche Applikationen, die einen nachträglich angelegten Benutzer benötigen oder auf einen Host zugreifen, dessen Name sich nicht via DNS auflösen lässt, erst einmal den Dienst. Entsprechende Konfigurationsfiles müssen Sie nachträglich manuell von der Rsync-Kopie auf die SSD kopieren.
Zum anderen werden beim Booten von Windows mithilfe von Grub jegliche Windows-Upgrades (etwa auf Windows 8) wahrscheinlich nicht funktionieren. Solche Aktualisierungen versuchen während des Installationsprozesses das System mehrfach neu zu starten und wollen dafür vorher den Windows-Bootloader im MBR editieren. Wenn Sie ihn dort nicht finden, brechen Sie mit einer Fehlermeldung ab.
Fazit
Eine SSD statt einer Festplatte beschert einen merklichen Performancegewinn (Abbildung 4), wie er sich so deutlich mit keiner anderen Tuning-Maßnahme erzielen lässt. Der Umstieg ist beileibe kein Hexenwerk, erfordert jedoch ein planvolles Vorgehen, eine gute Vorbereitung und eiserne Konzentration bei der Umsetzung. Mit den hier vorgestellten Schritten und etwas Verständnis für die Hintergründe sollte es Ihnen aber auf jeden Fall gelingen, dem Rechner eine solche Frischzellenkur zu spendieren.

Abbildung 4: Merklicher Performance-Gewinn: Festplatte WD5000BPVT-08HXZ (oben), SSD Seagate 600 Pro (Mitte), SSD Intel 3500 Series (unten). Die Werte wurden unter Windows mit Cystal Disk Mark ermittelt.
Infos
[1] Gparted-Features: http://gparted.sourceforge.net/features.php
[2] Acronis True Image: http://www.acronis.com/en-us/personal/pc-backup






