Upgrade des Debian-Systemlaufwerks: Dateisysteme von MBR-Partitionen auf GPT kopieren?

1

Auf meinem Heimserver läuft Debian Lenny, und ich bin dabei, das Systemlaufwerk auf ein größeres Laufwerk zu aktualisieren.

Dabei möchte ich die Gelegenheit nutzen, die Partitionen neu zu organisieren und ihre Größe zu ändern. Zu Lernzwecken plane ich die Migration von einer MBR-Partitionstabelle zu GPT .

Aufgrund dieser beiden Änderungen kann ich nicht einfach "dd if = / old / drive of = / new / drive" ausführen (naja , nicht ohne viel Arbeit danach). Ich könnte den Debootstrap- Prozess verwenden , um eine Neuinstallation auf dem neuen Systemlaufwerk zu erhalten, aber ich habe diese Technik während des letzten System-Upgrades verwendet und es ist wahrscheinlich übertrieben.

Kann ich die Partitionen einfach vom alten auf das neue Laufwerk kopieren?

  • Funktioniert "dd if = / dev / hda1 von = / dev / hdb2" , wenn / dev / hdb2 größer als / dev / hda1 ist ? (In diesem Fall kann die Größe des Dateisystems geändert werden, um die neue größere Partition zu nutzen, oder?)

  • Wäre parted (oder gparted ) ein besseres Werkzeug zum Kopieren des Inhalts der Partitionen?

Quacksalber
quelle

Antworten:

1

Antworten sind: ja und ja. Wenn Sie eine kleinere Partition auf eine größere GParted-Partition kopieren, geschieht im Grunde das Gleiche: ddalte Inhalte zu importieren und resize2fsfür die Zielpartition zu starten . resize2fserfordert einige unangenehme Sektorberechnungen, daher würde ich empfehlen, (g) Parted Utilities zu verwenden, die dies automatisch tun, aber es ist natürlich mit zwei erwähnten Befehlen möglich. Außerdem führen die Partner einige Überprüfungen und Gesundheitsprüfungen durch, bei denen Sie sich nicht selbst ins Bein schießen können.

GPT-Migration hat nichts mit Partitionsinhalten zu tun: Partitionstabelle, egal ob GPT oder MBR, weist den Kernel nur an, wie das Lese- / Schreibfenster für die Partitionsgerätedatei positioniert wird. Der Inhalt der Partition bleibt davon unberührt.

Whitequark
quelle
Ja, der GPT-Spaß bedeutet nur, dass Grub2 auf dem neuen Laufwerk benötigt wird (das aktuelle Laufwerk verwendet weiterhin Grub1). und .. fdisk nicht mehr benutzen. (Das ist wahrscheinlich das einzige, was ich an MBR-Partitionstabellen vermissen werde.) :) Danke!
Quack Quijote
0

Postmortem :

Die Dinge verliefen größtenteils wie erwartet, aber es gab ein paar Schluckaufe, die ich dokumentieren sollte. Natürlich wurde das Kopieren aller Partitionen von einer LiveCD durchgeführt (Xubuntu 9.04, da es das war, was ich herumliegen hatte, aber jede neuere LiveCD sollte es tun).

  • Gparted weigerte sich, eine Partition auf dem alten Laufwerk auf eine vorhandene (leere) Partition auf dem neuen Laufwerk zu kopieren. ( parted hat möglicherweise funktioniert, wurde jedoch aufgrund eines "inkompatiblen" Dateisystem-Flags auf meiner Systempartition abgelehnt.) Stattdessen musste ich das Partitionsschema wegblasen und Gparted gestatten , die Partition als Teil des Kopiervorgangs zu erstellen .

  • Grub2 wurde auf dem neuen Laufwerk benötigt (Grub1 versteht GPT nicht). Dies bedeutete, Grub2 auf dem neuen Laufwerk in einer Chroot- Umgebung zu installieren (ähnlich der in diesen Anweisungen beschriebenen Chroot ):

    1. Während chroot sich in der neuen Systempartition befindet, führen Sie apt-get install grub-pcGrub2 aus, um es zu installieren ( chroot stellt sicher, dass es von den Debian-Repositories anstatt von den Ubuntu-Repositories der LiveCD bezogen wird).

    2. Der nächste Schritt sollte darin bestehen, upgrade-from-grub-legacyden Bootloader zu installieren und eine grundlegende Datei grub.cfg zu konfigurieren . Das Grub2-Paket im offiziellen Debian Lenny-Repository (derzeit v1.96 + 20080724-16 ) installiert jedoch einen Fehler/etc/grub.d/20_memtest86+ und das Upgrade-Skript bricht ab, während es verarbeitet wird. Bearbeiten Sie diese Datei folgendermaßen:

      1. Wechseln Sie . /usr/lib/grub-mkconfig_libzu. /usr/lib/grub/update-grub_lib

      2. Ändern Sie alle Instanzen von " linux16" in " linux". Dies ist die Grub2-Kernel-Direktive. Dieser Schritt ist nicht erforderlich, um das Upgrade-Skript auszuführen, aber die Memtest86 + -Direktive wird nicht ordnungsgemäß gestartet.

      3. Rennen upgrade-from-grub-legacy. Es sollte jetzt ordnungsgemäß abgeschlossen sein.

    3. Aktualisieren Sie alle fest codierten Bereitstellungen in / etc / fstab. Da Partitionen kopiert und in der Größe geändert wurden, sollten die UUIDs identisch sein. Swap-Partitionen haben jedoch nicht dieselbe UUID, sodass eine Aktualisierung erforderlich ist.

    4. Überprüfen Sie alles, drücken Sie die Daumen, fahren Sie den Computer herunter, trennen Sie das alte Systemlaufwerk, und starten Sie den Computer neu.

Quacksalber
quelle