Verschieben von `/ boot` und` / `(root) Partitionen auf einem GPT / UEFI-Volume

623
Cbhihe

I arbeiten unter Linux mit einer 500 GB GPT interner Speichervorrichtung, partitioniert, so /boot, /(root), /varund /homesind in getrennten ext4Volumina. Aus historischen Gründen (früher ein duales Linux-Linux-Mount-System) verfügt das Gerät jetzt über viel Platz zwischen den derzeit verwendeten Mount-Volumes. Dieser Speicherplatz wird (von vorher) zugewiesen und enthält immer noch eine /bootPartition, die zum zweiten, jetzt verfallenen Lx-Betriebssystem gehört. Das Dual-Boot-Menü zeigt immer noch die Wahl zwischen zwei Systemen, eines davon ist jedoch weitgehend von der /bootPartition entfernt. Ich halte diesen Raum für verschwendet und möchte ihn zurückfordern.

Unter disksLinux sieht die aktuelle Partitionierung folgendermaßen aus: here(Was gemountet wird, wird mit einem schwarzen Dreieck angezeigt.) Zusätzlich zu den bereits erwähnten Volumes und links neben dem disksImage sehen Sie die EFI-FAT-Partition (ganz links wie Sie) Ich würde erwarten), den Swap-Speicherplatz und viele zugewiesene, aber nie installierte Speicherplätze.

Alles bootet und funktioniert gut und ich habe eine Sicherungskopie meiner Daten und des kompletten Partitionslayouts, das letztere mit erhalten wurde # sfdisk -d /dev/nveme0n1 > partition-layout.dump.

Ich möchte sowohl den gemounteten /bootals auch den /(root) -Bereich links vom Swap-Space verschieben und den nie montierten Space neu zuweisen varund /home... Ich habe nicht vor, entweder die GPT-Header des Geräts oder die EFI zu berühren FAT-Volumen für diese Angelegenheit.

Ich habe GParted zuvor auf MBR-Volumes mit älterem BIOS-Start verwendet, aber niemals in EFI / GPT-Umgebungen. Könnte das Verschieben /bootdie Startroutine beeinträchtigen und mein Volume nicht bootfähig machen? Wenn ja, was muss ich tun, um den Bootloader neu zu erstellen, Partitionen neu zu indizieren, ... mehr ... keine der oben genannten?

Wird bei der Verwendung von GParted der neue Speicherort verfolgt und der Partitionsindex aktualisiert, sodass der Bootloader nach der Neupartitionierung nicht blockiert?

Ich bin bereit dafür, aber ich möchte sichergehen, dass ich nicht etwas Dummes mache, bevor ich einen Muskel bewege. Ein Anstoß, Hilfe oder Ratschläge werden gebeten. Wenn ich vergessen habe, wichtige Aspekte des Kontextes einzubeziehen, gebe ich gerne weitere Details.

Prost.

0
Das Verschieben von Partitionen ist immer ein bisschen riskant. Sie sollten also vorsichtig sein und es ist gut, Backups von allem zu haben. Nun, mit dieser Warnung aus dem Weg: Das Gute an UEFI und GPT ist, dass keine Festplattendaten (wie Bootloader und ähnliches) außerhalb von Partitionen in magischen Festplattensektoren verborgen sind. Die Firmware kann FAT verstehen, alles ist explizit in Dateien enthalten. Sie können sich um Partitionen bewegen, solange die Partitionstabelle mit den tatsächlichen Positionen der Festplattenpartitionen synchron ist. Johan Myréen vor 6 Jahren 0
Sie fälschen falsch * "nicht gemounteter Speicherplatz" * und * "nicht verwendeter Speicherplatz" *. Ihre Partitionszuordnung zeigt an, dass der gesamte Speicherplatz zugewiesen wurde. Es gibt keinen * "nicht verwendeten Platz" *. Obwohl ein Betriebssystem möglicherweise keine Partition verwendet, wird dieser Bereich der Festplatte dennoch als zugewiesen und nicht als "nicht verwendeter Speicherplatz" * betrachtet. Sie müssen nicht verwendete Partitionen löschen, um * "nicht verwendeten Speicherplatz" * zu erstellen. sawdust vor 6 Jahren 1
@ JohanMyréen: Ja. Bedeutet das, dass das Verschieben mit GParted die Partitionstabelle auf dem neuesten Stand hält, ohne dass ich Partitionen neu indizieren muss? Das war die Richtung meiner Anfrage ... Cbhihe vor 6 Jahren 0
GParted ist nicht in der Lage, * eine Partition auf die andere Seite einer anderen Partition zu "verschieben", wie Sie möchten. Um die vier Partitionen (5, 8, 9, 10) zu verschieben, müssen Sie zunächst die Partitionen 2, 3, 4, 6, 7 löschen. Dann könnten Sie die Swap-Partition neu erstellen, was Probleme verursachen kann, da die neue Swap-Partition möglicherweise unterschiedliche Partitions- und UUID-Nummern hat. sawdust vor 6 Jahren 0
@sawdust: GParted ist nicht bekannt für seine Fähigkeit, einen Sprung auszuführen. Ich wollte den Swap deaktivieren, löschen, den Speicherplatz auf benachbarten ext4-Volumes neu zuweisen, `/ boot 'und` / `so weit nach links wie verschieben Das EFI-FAT-Volume wird zulassen, den Swap nach ihnen neu erstellen (mit neuer UUID), den Neustart `/ home` und` / var` ohne Swap erweitern und schließlich den Eintrag `/ etc / fstab` für die neue UUID des Swaps korrigieren. Fehlt mir etwas? Cbhihe vor 6 Jahren 0
Ihr Kommentar zu ** / etc / fstab ** weckt das Vertrauen, dass Sie wissen, was Sie tun. Anstatt * den Swap "inaktivieren" * und * "ohne Swap neu starten" *, würde ich einfach eine LiveCD booten. Ich stimme mit @ JohanMyréen überein, habe aber nur MBR-Partitionen verwendet. Seien Sie einfach auf lange Festplattenvorgänge vorbereitet. sawdust vor 6 Jahren 0

1 Antwort auf die Frage

0
Cbhihe

[TLDR] (die kurze Version)
Die spezielle Konfiguration von Partitionen, die in OP angezeigt wird, macht es unmöglich, den Bootloader nicht neu erstellen / wiederherstellen zu müssen, nachdem das Kopfende der /bootPartitionen verschoben wurde.

[Die komplette Geschichte]
Was ich getan habe:

  • Booten Sie unter Live-Linux mit einem bootfähigen USB-Laufwerk im UEFI-Modus. (Ich entschied mich für Ubuntu 18.04).
    Denken Sie daran, dass Ubuntu und moderne, diskrete NVIDIA-Grafiken überhaupt nicht auskommen. Wenn Sie eine aktuelle NVIDIA-Grafikkarte haben (aktuell, sagen wir etwa ab 2017), sparen Sie Zeit, wenn Sie tatsächlich ein UEFI-Boot ohne GUI starten. Das bedeutet, dass Sie die Neu-Partitionierung auf cli durchführen und möglicherweise auch den Bootloader wiederherstellen.

  • Wenn GPartEd die Partition 2 und MOVE Partition 3 (Swap) verlassen hat, wird die Partition 1 benachbart. Durch einfaches "Verschieben" wird die UUID der Partition nicht geändert. Wenn Sie es löschen und an anderer Stelle neu erstellen (Ihr Aufruf vollständig), müssen Sie später /etc/fstabdie neue UUID des entsprechenden Eintrags des Swaps ändern.

  • Bewegen Sie sich /boot(Partition 5) so weit wie nötig nach links. Um das Kopfende (dh die linke Begrenzung der grafischen Darstellung von OP) dieser Partition zu verschieben, müssen Sie den Bootloader später wiederherstellen (in meinem Fall GRUB2). Andernfalls können Sie nicht booten. Wenn /bootund /(root) sich im Gegensatz zum vorliegenden Fall auf derselben Partition befanden, /müsste beim Verschieben des Kopfendes von (root) auch der GRUB-Bootloader wiederhergestellt werden (da dies bedeuten würde, dass der Start der / boot / efi-Informationen in neu gestartet wird die Root-Partition).
  • bewegen Sie sich /(Wurzel) /varund /homenach Lust und Laune.

Das obige ist die vollständige Antwort auf meine ursprüngliche Frage.


Das Wiederherstellen des Booloaders ist hier nicht möglich, aber auch für UEFI gut dokumentiert. Suchen Sie dies und das für detaillierte Hilfe. Ihre Laufleistung kann je nach Ihrer Distro variieren. Ich empfehle Ihnen jedoch, so viele allgemeine CLI-Anweisungen wie möglich zu verwenden. Sie sind am besten wie in chroot's Fall dokumentiert, wohingegen Wrapper (wiederum wie in chroot' s 'Wrapper) dies nicht sein können. Wieder dein Anruf.

HTH jemand mit ähnlichen Zwecken wie ich.