Wie erweitere ich eine Ext4-Partition und ein Ext4-Dateisystem?

Wie erweitere ich eine Ext4-Partition und ein Ext4-Dateisystem?

Ich habe eine 400 GB große Festplatte mit einer 320 GB großen Ext4-Partition. Ich möchte die Ext4-Partition vergrößern, um den verbleibenden Speicherplatz (80 GB freier Speicherplatz) zu nutzen.

+--------------------------------+--------+
|             ext4               |  Free  |
+--------------------------------+--------+

Wie könnte ich das tun?

Ich habe Leute gesehen, die es verwenden resize2fs, aber ich verstehe nicht, ob dadurch die Partitionsgröße geändert wird.

Eine andere Lösung wäre, fdiskaber ich möchte meine Partition nicht löschen und Daten verlieren. Wie kann ich die Partition einfach vergrößern, ohne Dateien zu verlieren?

Hinweis: Ich spreche von einer nicht gemounteten Datenpartition ohne LVM und ich habe Backups, möchte mir aber den Zeitaufwand für die Wiederherstellung ersparen.

Antwort1

Sie müssen mit der unmounteten Partition beginnen. Wenn Sie sie nicht unmounten können (z. B. wenn es sich um Ihre Root-Partition oder etwas anderes handelt, das das System ausführen muss), verwenden Sie etwas wieSystemrettungs-CDstattdessen.

  1. Führen Sie aus parted, oder, gpartedwenn Sie eine GUI bevorzugen, ändern Sie die Größe der Partition, um den zusätzlichen Speicherplatz zu nutzen. Ich bevorzuge, gpartedda es Ihnen eine schöne grafische Darstellung bietet, die der in Ihrer Frage gezeichneten sehr ähnlich ist.

  2. resize2fs /dev/whatever

  3. e2fsck /dev/whatever(nur um herauszufinden, ob Sie auf der sicheren Seite sind)

  4. Mounten Sie Ihre Partition erneut.

Obwohl ich noch nie erlebt habe, dass dies fehlgeschlagen ist, sollten Sie vorher unbedingt Ihre Daten sichern!

Antwort2

Verwendung growparteines resize2fsBeispiels:

Beachten Sie das Leerzeichen zwischen /dev/sdaund 1im Fall von growpart /dev/sda 1:

Dies sind die beiden Befehle:

growpart  /dev/sda 1
resize2fs /dev/sda1
$ growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=39999455 end=40001503 new: size=80000991,end=80003039
$ resize2fs /dev/sda1
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/sda1 is now 10000123 (4k) blocks long.

Wenn dies nicht wie erwartet funktioniert, liegt es möglicherweise an einer erweiterten Partition. In diesem Fall sollte diese Antwort gelten:https://unix.stackexchange.com/a/687489/124109

Antwort3

Ja, Sie können EXT4-FS online vergrößern, wenn Ihre Partition bereits sortiert ist. Haben Sie die Partition sortiert? Haben Sie LVM?

sudo resize2fs /dev/drive_to_grow

fdiskwird die Größe Ihrer Partition ändern, stimmt, aber wenn es sich um eine Root-Partition handelt (oder tatsächlich um eine beliebige gemountete Partition), muss sie zuerst ausgehängt werden. Also höchstwahrscheinlich offline!

Wie bei allem, was mit Festplatten-/FS-Operationen zu tun hat, empfehle ich dringend, ein Backup sowie einen getesteten und gut verständlichen Wiederherstellungsprozess zu haben.

Antwort4

Die akzeptierte Antwort ist etwas veraltet: Die Größenänderung eines ext4-Dateisystems erfolgt besseronlineund nicht offline, da der Online-Erweiterungscodepfad häufiger verwendet wird als der Offline-Pfad.

Schwieriger dürfte es sein, die darunterliegende Partition zu erweitern, es sei denn, Sie verwenden LVMUndSie haben freien Speicherplatz in Ihrer Volume-Gruppe. Um eine Partition online zu erweitern, können Sie fdiskoder verwenden parted; anschließend müssen Sie ausführen, kpartx <device>um den Kernel über die Änderung zu informieren. Wenn Sie LVM verwenden, müssen Sie pvresizedie soeben geänderte Partition vor lvresizedem Volume hinzufügen.

Schließlich können Sie resize2fsIhr Dateisystem ausgeben.

verwandte Informationen