SDB:Distribution umkopieren
Anliegen
Sie möchten Ihr SuSE Linux wie es ist auf eine andere Festplatte bzw. Partition kopieren, ohne es neu installieren zu müssen.
Vorgehen
Prinzipiell geht das folgende nur ohne Komplikationen, wenn die Partition des Root-Dateisystems nicht als solches gemountet ist, d.h. es geht nur z.B. aus dem Rettungssystem (vgl. das einschlägige Kapitel im Handbuch; s. im Index unter dem Stichwort "Rettungssystem").
Das Vorgehen soll anhand eines Beispiels beschrieben werden.
Sie haben eine alte Platte /dev/hda (1. IDE-Festplatte) und kaufen eine neue SCSI-Platte (/dev/sda; erste Platte am SCSI-Bus). Die Root-Partition ist /dev/hda5 (erstes logisches Laufwerk in der erweiterten Partition). Das neue Root-Dateisystem soll /dev/sda1 werden. Nach dem Starten des Rettungssystems mit Linuxrc und nachdem Sie sich eingeloggt können Sie die beiden Partitionen an verschiedene Mountpoints mounten. Hier wird davon ausgegangen, daß Sie auf /dev/sda schon Partionen mit ext2-Dateisystemen angelegt haben.
Legen Sie die Mountpoints an
mkdir /OLD mkdir /NEW
Falls Sie das Rettungssystem von SuSE Linux 10.2 nutzen kann es sein, das Sie die Meldung
mkdir: cannot create diretory 'OLD': Read-only file system erhalten.
Wenn dies der Fall ist können Sie das umkopieren in '/tmp' erledigen.
Ersetzen Sie hierzu alle Anweisungen mit /OLD oder /NEW durch /tmp/OLD bzw. /tmp/NEW
z.B.
vorher -> nachher
mkdir /OLD -> mkdir /tmp/OLD
cd /NEW -> cd /tmp/NEW
Mounten Sie die beiden Partitionen (Dateisysteme)
mount /dev/hda5 /OLD mount /dev/sda1 /NEW
Kontrollieren Sie, ob
- /dev/hda5 die richtige Root-Partition ist
- /dev/sda1 leer ist.
Wechseln Sie ins /OLD-Verzeichnis
cd /OLD
Geben Sie nun folgenden tar-Befehl ein
tar -cSp --numeric-owner --atime-preserve -f - . | ( cd ../NEW && tar -xSpv --atime-preserve -f - )
Dadurch sollten alle Dateien aus /OLD nach /NEW gebracht werden. Links und Rechte der Dateien sollten als solche erhalten bleiben.
Passen Sie nun einige wichtige Dateien auf die neue Root-Partition an
Editieren Sie die Datei /NEW/etc/fstab nach den neuen Anforderungen, z.B. mit vi:
vi /NEW/etc/fstab
Eintrag vorher:
/dev/hda5 / ext2 defaults 1 1
Eintrag nachher:
/dev/sda1 / ext2 defaults 1 1
Je nachdem welchen Bootloader sie benutzen müssen sie noch etwas tun
im Falle von LILO:
Passen Sie ggf. auch /NEW/etc/lilo.conf an. LILO können Sie erst nach dem Starten mit der neuen Partition aufrufen.
im Falle von GRUB:
Passen Sie /NEW/boot/grub/menu.lst an.
Eintrag vorher:
kernel /boot/vmlinuz root=/dev/hda1 ...
Eintrag nachher:
kernel /boot/vmlinuz root=/dev/sda1 ...
Je nachdem ob die neue Platte die erste (vom Bios) gefundene Platte ist oder nicht und ob sich da etwas verändert hat muß evtl. noch der Eintrag:
root (hd0,0)
angepasst werden. hd0 steht für die erste (Bios) Platte und ,0 steht für die erste Partition, in unserem Beispiel müsste dieser Eintrag nicht geändert werden wenn sda1 vom Bios auch wieder als erste Partition auf der ersten Platte gefunden wird.
Wechseln Sie dann ins Root-Verzeichnis und unmounten Sie beide Partitionen
cd / umount /OLD umount /NEW
Booten Sie dann neu, wobei Sie wieder über die mitgelieferte Boot-Diskette gehen müssen
Anstatt am Ende von Linuxrc das Installationssystem zu starten, starten Sie bitte das "Installierte System", wobei Sie für die neue Root-Partition (hier: /dev/sda1) angeben.
Wenn Sie das System erfolgreich über die neue Root-Partition gestartet haben, sollten Sie noch ggf. /etc/lilo.conf anpassen und LILO neu starten. Dann können Sie erstmals über LILO von der neuen Root-Partition booten.
Stichwörter: festplatte kopieren root dateisystem filesystem booten lilo partition maddin_kopieren
Dieser Artikel bezieht sich auf SuSE LINUX und stammt aus der Support-Datenbank von SuSE.