The Net Wizard HauptseiteISP SetupNetzwerkeVelotourenSoftwareKryptografieVaria

Klonen einer Harddisk auf eine kleinere

Klonen allgemein
Ich habe mich kürzlich entschieden, in allen Laptops die Harddisds durch SSD Disks zu ersetzen. Dabei stellte sich das Problem, dass die SSD Disks durchgängig eine geringere Kapazität hatten. Dadurch war es nicht möglich, die gesamte Harddisk auf die SSD zu kopieren. Letzteres geht sehr einfach, wenn man von einer live-Distribution gebootet hat und beide Medien angesprochen werden können:
dd if=/dev/sda of=/dev/sdb bs=10M
Diese Methode hat den Vorteil, dass man wirklich ein eins zu eins Abbild der Harddisk hat, ohne dass man sich um die Partitionstabelle oder den Master Boot Record kümmern muss. Sie funktioniert aber nur, falls die SSD grösser oder gleich gross ist, wie die ursprügliche Harddisk.

Klonen auf eine kleinere Harddisk
Es gibt verschiedene Möglichkeiten unter diesen Umständen zum Ziel zu gelangen. Ich habe mich dafür enschieden, alle Partitionen bis auf diejenige am Ende der Harddisk einzel mittels dd zu kopieren, danach auf der neuen harddisk eine Partition zu erstellen um dann mittels rsync die letzte Partition zu syncronisieren. Das funktioniert sehr gut, weil ich die Partitionierung immer so wähle, dass Systempartitionen immer am Anfang sind, und der Rest der Platte dann für Daten verwendet wird. Hier die Schritte im Einzelnen:
  • Als erstes sollte man ein Backup der existierenden Daten erstellen. Dazu booted am von einem live-Medium (z. B. grml) und erstellt eine Kopie der harddisk via dd auf eine externe Festplatte:
    dd if=/dev/sda gzip > /media/image.gz
  • Nun müssen die einzelnen Partitionen gesichert werden. Für jede Partition (ausser swap extended und der letzten Datenpartition) geht man dabei folgendermassen vor:
    dd if=/dev/sdaN gzip > /media/sdN.img.gz
  • Sichern der Datenpartition:
    mkdir /media/home
    rsync -avxHz /home/ /media/home/
  • Sichern des Master Boot Records:
    sfdisk -d /dev/sda > /media/sda.bak
Nachdem jetzt alle Daten gesichert sind, kann man sich daran machen, die Harddisk zu ersetzen. Die einzelnen Schritte dafür hängen sehr stark von der verwendeten Hardware ab. Nach dem Tausch sollte man wieder von einem Livemedium booten und die externe Harddisk anhängen.
  • Als erstes muss der MBR wieder hergestellt werden. Dies funktioniert ähnlich, wie das sichern:
    sfdisk /dev/sda < /media/sda.bak
    Als nächstes müssen die Partitionen angepasst werden. Dazu startet man fdisk /dev/sda, und lässt sich die Partitionstabelle ausgeben (p). Die Sektorgrenzen aller Partitionen, die auf der extended Partition liegen schreibt man sich dann auf. Danach werden diese gelöscht (d). Als nächstes löscht man die extended Partition erstellt diese neu. Jetzt kann man auch die vorhin gelöschten Partitionen wieder erstellen (n), wobei bei der letzte Partition die Sektorgrenze beim letzten Sektor aufhört. Danach wird die Partitionstabelle geschrieben (w).
  • Wiederherstellen der Nicht-Daten-Partitionen:
    gunzip /media/sdN.img.gz | dd of=/dev/sdN
  • Zurückspielen der Daten-Partition:
    mkdir /home
    mount /dev/sdaM /home rsync -avxHz /media/home/ /home
Nun sollte man eigentlich von der neuen Harddisk booten können.

Powered by w3.css