Wie verschiebe ich eine Linux-Installation zwischen Partitionen?

3352
linux_is_for_desktop

Ich habe eine neue Festplatte erhalten 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 Leuten vorgeschlagen (vielen Dank an alle)
    1a. Kopieren Sie alle Dateien von einem Laufwerk zum anderen

  2. / etc / fstab ändern ( Einhängepunkte zu neuen Partitionen hinzufügen )
  3. /boot/grub/menu.conf ändern ( Bootpartition hinzufügen )
  4. Erneut installieren

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

8
Sie haben den Schritt des eigentlichen Kopierens der Dateien von der alten in die neue Partition verpasst. Einige könnten sagen, das war ziemlich wichtig :) cas vor 15 Jahren 1

3 Antworten auf die Frage

4
Axxmasterr

Ich würde sagen, es gibt eine Sache, die du vermisst hast.

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

    1a. Kopieren Sie alle Dateien von einem Laufwerk zum anderen

  2. / etc / fstab ändern (Einhängepunkte in neue Partitionen ändern)

  3. /boot/grub/menu.conf ändern (Bootpartition ändern)
  4. Erneut 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 unkompliziert sein. Es ist möglicherweise etwas komplizierter, wenn Sie die Mount-Point-Positionen in den Betriebssystemdateien bearbeiten müssen. Ich würde empfehlen, die Partitionen so ähnlich zu halten, dass Sie nur booten müssen, das neue Laufwerk anhängen, kopieren, die Bootpartition ändern und grub auf dem neuen Laufwerk erneut installieren. altes Laufwerk entfernen und fertig!

Sie müssen jedoch beim Kopieren vorsichtig sein. Verwenden Sie die Option -a, um cp. Kim vor 15 Jahren 0
oder verwenden Sie Rsync. Es hat den Vorteil, dass, wenn etwas die Kopie unterbricht, Sie einfach rsync erneut ausführen können, und es von dort abhebt, wo es aufgehört hat, anstatt von vorne zu beginnen. In der bevorzugten Reihenfolge sind die richtigen Werkzeuge für diesen Job: rsync, tar, cp -a cas vor 15 Jahren 5
+1 Der Vorschlag von Craig oben ist in der Tat ein guter Rat. Axxmasterr vor 15 Jahren 0
1
nagul

Sie müssen Dateien kopieren, wie Axxmasterr darauf hinweist. 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, den Sie zum Kopieren von Dateien verwenden. Verwenden Sie die Option -a, um das korrekte Verhalten beim Anklicken von Symlinks sicherzustellen und die Eigentumsinformationen zu erhalten.

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 in der Verknüpfung am Anfang vorgeschlagen, können Sie den alten Eintrag in der Grub-Datei belassen und einfach einen neuen hinzufügen, falls Sie zurückkehren müssen.

Viel Glück!

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 fehlschlägt (Tippfehler, Berechtigungen usw.). Ich empfehle auch, die Option -S (--sparse) mit dem 'tar' --create zu verwenden, um die Verarbeitung spärlicher Dateien (z. B. einige Instanzen von / var / log / wtmp oder / var / run / utmp) zu ermöglichen. Jim Dennis vor 13 Jahren 0
1
Fred Hamilton

Ich denke das wird funktionieren.

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

Die Schritte wären also:

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

Vergewissern Sie sich, ob Sie (Eingabedatei) und richtig erhalten, da Sie sonst Ihre gesamte alte Festplatte beschädigen.

Bei Verwendung von dd wird auch das Dateisystem kopiert. Möglicherweise ist es nicht für die Änderung der Festplattengröße vorbereitet (auch wenn mehr Speicherplatz auf der neuen Festplatte vorhanden ist). Joakim Elofsson vor 15 Jahren 0
Die geklonte Partition auf der neuen Festplatte hat zwar die gleiche 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 vor 15 Jahren 0
Sie können die Größe von ext2-3-4-Dateisystemen mit resize2fs ändern. Andere Dateisysteme verfügen über ähnliche Tools. Für ext ist es auch möglich, die Größe des Dateisystems zu reduzieren. Ich habe dies immer den cp / tar / dump-Ansätzen vorgezogen. Kristof Provost vor 15 Jahren 0