Linux ohne Neuinstallation kopieren

18.07.2008 - Gerrit Garbereder

Dieses Tutorial beschreibt, wie man ein bestehendes Linuxsystem ohne neu Installation kopieren kann. Dies wird hier am Beispiel von einem openSUSE gemacht. Das Quellsystem befindet sich auf einem physikalischen Rechner mit 160GB SATA Festplatte. Das Zielsystem ist eine VMWare mit 5GB virtueller SCSI Festplatte. Das Tutorial kann aber auch für den Umzug eines Systems auf einen anderen Rechner benutzt werden. Der Umzug ist hier möglich, da von der 160GB des Quellsystems nur 2GB belegt waren und so das System auf die kleine 5GB Festplatte passt.

Das wird benötigt

  1. Installiertes Quellsystem
  2. Portables Speichermedium (USB-Stick, externe Festplatte)
  3. Installtions-CD mit identischem Kernel des Quellsystems
  4. Zielsystem mit min. so viel Speicherplatz, wie auf dem Quellsystem belegt ist

Schritt 1: Quellsystem kopieren
Als erstes muss das Quellsystem gestartet werden und das Speichermedium gemountet werden. Sollten mehr als 4GB Daten auf dem Quellsystem sein gilt es zu beachten, dass FAT32 nur Dateigrößen bis ~4GB zulässt. Hier rate ich zu eines ReiserFS formatierten Festplatte.
Dazu wird ein Ordner angelegt in den das Speichermedium gemountet werden soll

mkdir /mnt/extern

Danach wird das Speichermedium an diese Stelle gemountet

mount /dev/sdb1 /mnt/extern

Sollte sdb1 nicht ihr Speichermedium sein, muss der Befehl entsprechend angepasst werden. Überprüfen sie mir

ls /mnt/extern

ob das Speichermedium richtig gemountet wurde.
Als nächstes wird jetzt das gesamte Quellsystem in ein .tar Archiv gepackt. Dabei dürfen folgende Ordner nicht mit in das .tar Archiv gepackt werden: /proc/ /dev/ /sys/ /mnt/
Der tar Befehl sieht dann so aus:

tar -cvf /mnt/extern/quelle.tar /etc/ /bin/ /boot/ …

Der Codeschnipsel oben ist nur ein Beispiel, listen sie alle Ordner die sich unter / befinden, bis auf die oben genannte Ausnahmen, auf.
Unmounten sie das Speichermedium, das Quellsystem kann runtergefahren werden.

Schritt 2: Zielsystem vorbereiten
Auf dem Zielsystem wird nun eine Installation von der Installation aus durchgeführt. Es reicht eine Minimalinstallation. Das Zielsystem muss jedoch die Selbe Partitionierung haben wie das Quellsystem. Die Größe der einzelnen Partition spielt keine Rolle aber der Typ und die Nummer der Partitionierung muss zum Quellsystem Identisch sein. War die Installation erfolgreich schließen sie jetzt an das Zielsystem das Speichermedium an und mounten es genauso wie in Schritt 1. Kopieren sie jetzt die Datei /boot/initrd-<Kernelversionsnummer> auf das Speichermedium:

cp /boot/initrd-2.6.22.5-31-default

Fahren sie das Zielsystem herunter und starten es mit einer LiveCD.
Dort mounten sie die Festplatte und das Speichermedium. Im Beispiel ist die Festplatte unter /mnt/root/ und das Speichermedium wieder unter /mnt/extern/ gemountet. Navigieren sie bis in das Rootverzeichnis des Zielsystems und entpacken dort das .tar Archiv:

tar -xvf /mnt/extern/quelle.tar

Ist dies erfolgreich abgeschlossen muss nun die initrd kopiert werden:

cp /mnt/extern/initrd-2.6.22.5-31-default boot/

Starten sie das System neu und entfernen sie die LiveCD das neue System sollte nun wie gewohnt booten und mit allen Einstellungen des Quellsystems übereinstimmen.

Schritt 3: MAC Adresse anpassen
Das neue System wird jetzt noch Probleme mit dem erkennen der Netzwerkkarte haben. Starten sie dazu das neue System und navigieren sie in den Ordner

/etc/udev/rules.d/

Dort öffnen sie die Datei 70-persistent-net.rules Dort stehen zwei Ethernet Anschlüsse eingetragen kommentieren sie den ersten mit einer # aus und nennen den anderen von eht1 in eth0 um.
Diese Pfadangaben können ggf. von Linux zu Linux abweichen, am schnellsten findet man den Pfad zur Konfigurationsdatei auf der Wiki- oder Forenseite des jeweiligen Betriebssystems.
Mit dem Befehl

rcnetwork restart

starten sie die Netzwerkverbindung neu. Die Netzwerkkarte sollte jetzt richtig erkannt sein.

Viel Erfolg beim Umzug des Systems