Wie verschiebe ich eine Linux-Installation zwischen Partitionen?

8

Ich habe eine neue Festplatte und möchte eine vorhandene Linux-Installation (genauer: OpenSUSE 11.1) von einer Partition auf der alten Festplatte auf eine Partition auf der neuen Festplatte verschieben.

Mein Plan ist:

  1. Booten mit einer Boot-CD (sagen wir, es ist die OpenSUSE-Boot-CD)

    BEARBEITEN Wie von vielen vorgeschlagen (danke an alle)
    1a. Kopieren Sie alle Dateien von einem Laufwerk auf das andere

  2. Ändern Sie / etc / fstab ( fügen Sie Mount-Punkte zu neuen Partitionen hinzu)
  3. ändere /boot/grub/menu.conf ( füge eine Boot-Partition hinzu)
  4. Grub neu installieren

Habe ich recht? Ist es das?
Oder habe ich einen wichtigen Schritt falsch gemacht? (Ich bin mir ziemlich sicher, dass ich es getan habe)

linux_is_for_desktop
quelle
1
Sie haben den Schritt verpasst, die Dateien tatsächlich von der alten Partition auf die neue zu kopieren. Einige könnten sagen, dass das ziemlich wichtig war :)
Cas

Antworten:

4

Ich würde sagen, dass Sie eines verpasst haben.

  1. Booten mit einer Boot-CD (sagen wir, es ist die OpenSUSE-Boot-CD)

    1a. Kopieren Sie alle Dateien von einem Laufwerk auf das andere

  2. Ändern Sie / etc / fstab (ändern Sie die Mount-Punkte in neue Partitionen)

  3. ändere /boot/grub/menu.conf (ändere die Boot-Partition)
  4. Grub neu installieren

Ich würde sagen, wenn Sie die Partition auf dem neuen Laufwerk so einrichten, dass sie mit den alten Einstellungen kompatibel ist, sollte dies ziemlich einfach sein. Es kann etwas komplizierter sein, wenn Sie die Speicherpunktpositionen in den Betriebssystemdateien bearbeiten müssen. Ich würde empfehlen, die Partitionen so ähnlich zu halten, dass Sie nur booten, das neue Laufwerk bereitstellen, kopieren, die Startpartition ändern und grub auf einem neuen Laufwerk neu installieren müssen. Entfernen Sie das alte Laufwerk und Sie sind fertig!

Axxmasterr
quelle
Beim Kopieren muss man allerdings vorsichtig sein. Verwenden Sie die Option -a, um cp.
Kim
5
oder verwenden Sie rsync. Es hat den Vorteil, dass Sie rsync einfach erneut ausführen können, wenn etwas die Kopie unterbricht, und es wird dort fortgesetzt, wo es aufgehört hat, anstatt von vorne zu beginnen. In der Reihenfolge der Präferenz sind die richtigen Werkzeuge für diesen Job: rsync, tar, cp -a
cas
+1 Der Vorschlag von Craig oben ist in der Tat ein guter Rat.
Axxmasterr
1

Sie müssen Dateien kopieren, wie Axxmasterr betont hat. Alles andere sieht für mich richtig aus. Andere sind einem sehr ähnlichen Weg gefolgt: Verschieben einer GNU / Linux-Installation auf eine neue Partition

Seien Sie vorsichtig mit dem Befehl cp, mit dem Sie Dateien kopieren. Verwenden Sie die Option -a, um ein korrektes Verhalten sicherzustellen, wenn Sie auf Symlinks klicken, und behalten Sie die Eigentumsinformationen bei.

Einige Leute haben tar anstelle von cp verwendet, um die Dateien auf die neue Partition zu kopieren:

$ cd sourcedir; tar --create --file = -. | (cd targetdir; tar --extract --file = -)

Wie im Link zu Beginn vorgeschlagen, möchten Sie möglicherweise den alten Eintrag in der Grub-Datei belassen und einfach einen neuen hinzufügen, falls Sie zurücksetzen müssen.

Viel Glück!


quelle
Ich empfehle, die Semikolons in diesem Befehl in && (bedingte Operatoren) zu ändern, damit die nachfolgenden 'tar'-Befehle nicht ausgeführt werden, wenn chdir () aus irgendeinem Grund (Tippfehler, Berechtigungen usw.) fehlschlägt. Außerdem empfehle ich die Verwendung der Option -S (--sparse) mit 'tar' --create, um die Verarbeitung von Dateien mit geringer Dichte zu ermöglichen, wie z. B. einige Instanzen von / var / log / wtmp oder / var / run / utmp.
Jim Dennis
1

Ich denke das wird funktionieren.

Wenn sich auf jeder Festplatte nur eine Partition befindet und die neue Festplatte dieselbe Größe oder größer als die ursprüngliche Festplatte ist, können Sie schneller die alte Partition klonen (/ dev / xxx, wobei xxx = Ihre ursprüngliche Festplatte sda) , hdb usw.) zum neuen (/ dev / yyy).

Die Schritte wären also:

  1. Booten Sie mit einer Live-CD
  2. sudo dd if = / dev / xxx von = / dev / yyy bs = 32k

Stellen Sie sicher, dass Sie if (Eingabedatei) und korrekt erhalten, da sonst Ihre gesamte alte Festplatte überlastet wird.

Fred Hamilton
quelle
Wenn Sie dd ausführen, wird auch das Dateisystem kopiert. Möglicherweise ist es nicht auf Änderungen der Festplattengröße vorbereitet (selbst wenn mehr Speicherplatz auf der neuen Festplatte vorhanden ist)
Joakim Elofsson,
Richtig, die geklonte Partition auf der neuen Festplatte hat dieselbe Größe wie die ursprüngliche Partition auf der alten Festplatte. Sie müssen sie also erweitern, um die vollständige neue Festplatte zu verwenden (ich würde gparted verwenden). Wenn Sie auch Dateisysteme ändern möchten, ist der in einer anderen Antwort erwähnte Ansatz "cp -a" besser.
Fred Hamilton
Sie können die Größe von ext2-3-4-Dateisystemen mit resize2fs ändern. Andere Dateisysteme haben ähnliche Tools. Für ext ist es auch möglich, die Größe des Dateisystems zu reduzieren. Ich habe dies immer cp / tar / dump-Ansätzen vorgezogen.
Kristof Provost