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, fdisk
aber 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.
Führen Sie aus
parted
, oder,gparted
wenn Sie eine GUI bevorzugen, ändern Sie die Größe der Partition, um den zusätzlichen Speicherplatz zu nutzen. Ich bevorzuge,gparted
da es Ihnen eine schöne grafische Darstellung bietet, die der in Ihrer Frage gezeichneten sehr ähnlich ist.resize2fs /dev/whatever
e2fsck /dev/whatever
(nur um herauszufinden, ob Sie auf der sicheren Seite sind)Mounten Sie Ihre Partition erneut.
Obwohl ich noch nie erlebt habe, dass dies fehlgeschlagen ist, sollten Sie vorher unbedingt Ihre Daten sichern!
Antwort2
Verwendung growpart
eines resize2fs
Beispiels:
Beachten Sie das Leerzeichen zwischen
/dev/sda
und 1
im 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
fdisk
wird 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 fdisk
oder 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 pvresize
die soeben geänderte Partition vor lvresize
dem Volume hinzufügen.
Schließlich können Sie resize2fs
Ihr Dateisystem ausgeben.