Linux-System auf neue Festplatte kopieren

Mal wieder ein Artikel als Erinnerung für mich, damit ich mir das nächste Mal nicht wieder alles zusammen suchen muss.

Beide Festplatten anschließen und von Linux-CD/USB-Stick booten. mit fdisk -l nachschauen welche Platten die richtigen sind (in meinem aktuellen Fall sda und sdc). Zielplatte partitionieren.

mkdir /mnt/{old,new}
mount /dev/sda1 /mnt/old
mount /dev/sdc1 /mnt/new
cd /mnt/old
tar cpf - * | tar xp -C /mnt/new/

Das macht die folgenden Sachen

  1. zwei Mount-Points erstellen
  2. alte Platte nach /mnt/old mounten
  3. neue Platte nach /mnt/new mounten
  4. in das Verzeichnis /mnt/old wechseln
  5. Mit tar alle Verzeichnisse und Dateien nach /mnt/new/ kopieren, dabei alle Attribute beibehalten

Jetzt die /etc/fstab anpassen (natürlich in /mnt/new). Ich habe meine Partitionen über UUID gemountet, das muss ich an die neue Platte anpassen. Mit blkid erfahre ich die UUIDs der Platten.

root@book /root % blkid
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="3c3c0806-b8a0-409e-8f7a-b7d488c690b7" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: UUID="364b957c-1bf2-4aaf-8471-aadc79ce8672" TYPE="swap"
/dev/sdb1: SEC_TYPE="msdos" LABEL="VOLUME" UUID="58A5-8558" TYPE="vfat"
/dev/sdc1: UUID="f8247c5d-ae09-4fca-a3cf-9973faf2bb38" TYPE="ext4"
/dev/sdc2: UUID="521ea00e-f0ae-4d08-8330-2892ad3a7b41" TYPE="swap"

Die UUID muss ich in der /etc/fstab und in /boot/grub/menu.lst austauschen. Das geht sehr komfortabel im VI mit

:%s/OLD/NEW/g

Zuletzt brauchen wir noch Grub im Boot record von der neuen Festplatte. Hier könnte ich mit dd die ersten Blöcke von der alten auf die neue Festplatte schreiben, aber bevor ich da aus versehen etwas falsches überschreibe mache ich das lieber neu.

mount -o bind /dev /mnt/new/dev
mount -t proc proc /mnt/new/proc
chroot /mnt/new /bin/bash

Jetzt sind wir im neuen System und haben alle aktuellen Devices und Hardware-Informationen in /dev und /proc. Einfach grub-install /dev/sdc und schon habe ich den aktuellen grub in der neuen Platte installiert.

Rechner herunter fahren, alte Platte ausbauen, neue Platte korrekt anschließen, jetzt sollte der Rechner ins neue System booten.

Veröffentlicht von

Gerald

Diplom-Informatiker (DH) in Darmstadt. Ich blogge über Entwicklung, Internet, mobile Geräte und Virtualisierung. Meine Beiträge gibt es auch bei Google+ und Facebook.

5 Gedanken zu „Linux-System auf neue Festplatte kopieren“

  1. Hallo Gerald,

    die Info ist prima zusammengefasst!
    Hilfreich wäre noch der Hinweis auf dem neuen System ggf. eine neue initrd zu erstellen, nachdem man die fstab und den Grub geändert hat :

    > mkinitramfs -o /boot/initrd.img-akt
    > mv /initrd.img initrd.img.hld
    > ln -s /boot/initrd.img-akt /initrd.img

    Dies ist z. B. bei Ubuntu 12.04 notwendig.
    Viele Grüße

  2. Hallo, diese Anleitung kostet eher Zeit, funktioniert aber nicht mit Debian8.
    Getestet mit dem Umziehen von 1TB auf 2TB.
    Auf der 2TB mit Gparted sda1 (boot) und sda2 (swap) angelegt und so wie beschrieben gemountet. Nicht nur, dass es eine boot/grub/menu.lst nicht gibt, auch ein grub-install /dev/sdc scheitert am nicht gefundenen Device. Schaut euch lieber nach einer anderen Anleitung um.

Schreibe einen Kommentar zu Georg Antworten abbrechen

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