Howto Klonen eines Linuxsystems
Dieser Artikel beschreibt die prinzipiell die Übernahme einer vollständigen Linux Installation auf einen anderen Computer. Als Beispiel wird die virtuelle Maschine aus dem Artikel Howto Virtual eStudy Development. Um das ganze speziell für Windows Benutzer zu vereinfachen, wird der Inhalt der VM bereits als Archiv bereitgestellt.
Inhaltsverzeichnis
Vorausetzungen
Vorbereitungen
- vor Arbeiten an Partitionen sollte man ein aktuelles Backup haben
- ein Backup ist nur eins, wenn man auch ein zerstörtes System damit wiederherstellen kann, wie z.B. ghost4linux
- neben den sichtbaren Partitionen gibts auch einen MBR der die Partitiontabelle enthält, der sollte ebenfalls kopiert werden.
- genug Platz auf dem Zielsystem, für die VM reichen etwa 8GB aus, etwas mehr wird jedoch empfohlen (für z.B. Gnome,KDE,Spiele...). Wer dazu bestehende Partitionen verändern muss sollte sich einmal gparted livecd anschauen.
- eine beliebige bootfähige Linux CD um die Basistools zur Hand zu haben.
- ein Archiv des zu kopierenden Systems. TODO:Alternativ kann eins erstellt werden.
Grundkenntnisse
Archiv erstellen
Da wir ein Archiv der eStudy-dev Installation bereitstellen, hier nur grob wie man sowas aus einer VM machen kann.
- VM via Live CD booten (Image einbinden)
- auf dem Zielhost mit netcat einen Port öffnen und in eine Datei umleiten (nc -l -p 10000 > datei)
- in der LiveCD die Quellpartition mounten
- Packen/Kopieren ö.a. und die Ausgabe via Pipe zum Zielhost umleiten
Anleitungen zum kopieren gibts zu Hauf im Netz. Wer eine gute findet verlinke diese doch einfach in diesem Artikel unter Links
Installation
Booten einer Linux Live CD und öffnen einer Shell
1.Prüfen ob man root ist
whoami
1.1 Falls nicht, wird man es mit
sudo su
Vorbereiten der Zielpartitionen
1. Formatieren der Zielpartion
mkfs.ext3 /dev/sda5
2. Swap Partition formatieren
mkswap /dev/sda6
3. Windows einhängen (mounten)
mkdir /mnt/win mount /dev/sda1 /mnt/win
4. Zielpartition mounten
mkdir /mnt/dest mount /dev/sda5 /mnt/dest
![]() |
Mit dem Befehl df -hT können die gemounteten Dateisysteme zur Kontrolle angezeigt werden |
Entpacken
5. Archiv mit Dateirechten entpacken
cd /mnt/dest/ tar xvpf /mnt/win/estudy-dev-2.0.1.tar.bz .
Bootloader installieren
1. Grub als Bootloader installieren
![]() |
Für den Fall das die Live CD grub nicht beinhaltet benutzen wir hier direkt die Version aus dem Archiv |
mount -o bind /dev /mnt/dest/dev mount -o bind /proc /mnt/dest/proc chroot /mnt/dest /bin/bash
![]() |
Nach dem chroot wird bereits die Installation aus dem Archiv benutzt - ohne sie zu booten ;-) |
2. Bootloader konfigurieren uuid von /dev/sda auslesen
blkid
das ergibt eine Ausgabe die eine Zeile der Form
/dev/sda5: UUID="e31c59a1-04e9-4c5c-96c6-40563213c5ff" TYPE="ext3"
![]() |
Die hier verwendenten UUIDS sind natürlich alle nur Beispiele |
die Konfigurationsdatei von grub anpassen
nano /boot/grub/menu.lst
mittels STRG+W kann nach UUID gesucht werden. Folgende Zeilen sind zu ändern:
# kopt=root=UUID=8464f019-a730-48da-906d-b3ac9cdce78f ro
zu
kopt=root=UUID=e31c59a1-04e9-4c5c-96c6-40563213c5ff ro quiet splash
Damit wird bei einem Kernel Update sichergestellt das die richtige Partition zum booten genutzt wird. Am Ende der Datei befinden sich noch zwei Einträge die die eigentlichen Menü Eintrage im Bootloader definieren. Auch hier muss die UUID zwingend angepasst werden, so wird aus
kernel /boot/vmlinuz-2.6.28-15-generic root=UUID=be36f1de-7483-4b3a-9fe2-9b11658e47af ro quiet splash
dann
kernel /boot/vmlinuz-2.6.28-15-generic root=UUID=e31c59a1-04e9-4c5c-96c6-40563213c5ff ro quiet splash
Wer sein Windows ebenfalls noch starten will der muss am Ende der menu.lst noch folgendes ergänzen:
title Windows 95/98/NT/2000 root (hd0,0) makeactive chainloader +1
mit STRG+o wird die Datei dann gespeichert.Zum Abschluss muss dann Grub in den MBR der Festplatte geschrieben werden.
grub-install --no-floppy --root-directory=/mnt/dest/ /dev/sda
fstab anpassen
Nachdem grub konfiguriert und installiert ist, muss nur noch eine Datei angepasst werden. Es mussen die UUIDs von /dev/sda5 und /dev/sda6 in die fstab eingetragen werden, zu ermitteln mit blkid
nano /etc/fstab
# Root des Dateisystems /dev/sda5 UUID=e31c59a1-04e9-4c5c-96c6-40563213c5ff / ext3 relatime,errors=remount-ro 0 1 # Swap /dev/sda6 UUID=88b99a3c-b709-45dd-a5da-3ffd49eb215d none swap sw 0 0
Speichern, fertig. Mit STRG+D kann das chroot verlassen werden. Nach einem Neustart sollte jetzt das Menü von Grub erscheinen.
Bei Problemen
Falls nichts mehr geht, es gibt eine Diskussionsseite zu diesem Artikel und hoffentlich ein Backup.