Ich bin dabei, die Größe einer LUKS-verschlüsselten Partition zu ändern, die ein einzelnes ext4-Dateisystem enthält (kein LVM oder so). In den häufig gestellten Fragen zu Cryptsetup wird empfohlen, die alte Partition zu entfernen und neu zu erstellen, aber das hört sich nach viel Zeitverschwendung an. Daher möchte ich manuell vorgehen und die Größe der Partition sorgfältig ändern.
Bisher denke ich, dass ich Folgendes tun muss:
- Erstellen Sie eine (verschlüsselte) Sicherung des Dateisystems. Wichtig! Sie sind nicht der erste, der Ihre Daten verliert, während Sie die folgenden Aufgaben ausführen.
- Hängen Sie das vorhandene ext4-Dateisystem aus (z. B. durch Booten von einer Live-CD). Wenn Sie von einer Live-CD booten, hängen Sie die verschlüsselte Partition mit ein
cryptsetup luksOpen /dev/sdXY ExistingExt4
- Ändern Sie die Größe des vorhandenen ext4-Dateisystems .
cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
- Schließen Sie die LUKS-Partition mit
cryptsetup luksClose ExistingExt4
- Verkleinern Sie die Partitionsgröße.
Sind die obigen Schritte korrekt?
Wofür soll ich mich$SECTORS
in Schritt 4 entscheiden ? Ist dieser Schritt überhaupt nötig? Die cryptsetup
Handbuchseite beschreibt die resize
Option nicht wirklich :
resize <name>
resizes an active mapping <name>.
If --size (in sectors) is not specified, the size of the underlying
block device is used.
Wenn ich die ext4-Partition um 15 GiB verkleinere, kann ich dann davon ausgehen, dass 15 GiB mithilfe von aus der vorhandenen Partition entfernt werden können parted
? Wenn ja, wie geht das? Meine Festplatte ist GPT-partitioniert, wenn das wichtig ist.
quelle
Antworten:
Führen Sie
fsck
nach dem Sichern (Schritt 1) und dem Aufheben der Bereitstellung (zwischen 2 und 3) Folgendes aus, um sicherzustellen, dass das Dateisystem fehlerfrei ist:Ansonsten sind die Schritte in Ordnung.
Dieser Schritt ist notwendig, da sonst die Partition weiterhin auf der alten Seite angezeigt wird. Dies wird mit Nautilus bestätigt, obwohlDieser Schritt ist nicht erforderlich. Es wirkt sich nur auf den aktuellen Größenstatus aus, der im Dateibrowser angezeigt wird. Nach dem Ändern der Größe und dem Schließen / Öffnen der Partition wird die Nummer wiederhergestellt. Wenn Sie also die LUKS-Partition wie später gezeigt schließen, wird dies obsolet.resize2fs
die LUKS-Partition nach dem Ändern der Größe mit der alten Größe angezeigt wurde. Nach dem Rennencryptsetup resize
wird die richtige Nummer angezeigt.$SECTORS
kann durch Betrachten der Ausgabe von bestimmt werdencryptsetup status ExistingExt4
:Ein Sektor ist immer 512 Bytes (erwähnt in
cryptsetup
Handbuchseite). Verwenden Sie zum Subtrahieren von 15 GiB eine Sektorgröße von156049348 - 15 * 1024 * 1024 * 2 = 124592068
:Wie für die Größenänderung der Partition,
parted
mit GPT-Partitionen. Derresize
Befehl funktioniert jedoch nicht als Problemumgehung (oder Lösung). Entfernen Sie die Partitionsinformationen und erstellen Sie eine neue Partition, die von http://ubuntuforums.org/showthread.php?p=8721017#post8721017 inspiriert ist :Da 15 GiB abgeschabt werden müssen, wird das neue Ende
156301438 - 15 * 1024 * 1024 * 2 = 124844158
. Da ich Partition 2 ändern möchte, muss ich sie zuerst entfernen und dann mit dem Label "Everything" neu erstellen (dies kann geändert werden, wenn Sie möchten). Hinweis : Diese Festplatte verfügt über ein GPT-Layout. Für MBR sollten SieEverything
durchprimary
oder ersetzenextended
(ungetestet, Größenänderung einer Partition auf MBR wurde nicht getestet und wird nicht empfohlen, da es ungetestet ist).WARNUNG : Die folgenden Befehle haben Daten zerstört . Kopieren Sie es nicht, ohne zu verstehen, was gerade passiert. Die Sektor Dimensionen muss geändert werden, andernfalls Sie WILL Ihre Partition (en) zerstören. Ich bin in keiner Weise für Ihre Dummheit verantwortlich. BACKUP BACKUP Sichern Sie Ihre Daten auf einem zweiten Speichermedium, bevor Sie Ihre Daten riskieren.
Im obigen
parted
Beispiel sind meine Sektoren nicht ausgerichtet, was ein Fehler aus einer früheren Installation ist. Achten Sie nicht zu sehr darauf.Das ist es! Sie können verwenden
cryptsetup status
undfile -Ls /dev/...
dass alles in Ordnung ist, um zu überprüfen und dann neu starten.quelle
rm 2
undmkpart [part-type] [start] [end]
kann auch dieresizepart 2 [end]
Größe einer Partition geändert werden, ohne den Namen oder den Startoffset zu ändern.Beachten Sie, dass KDE Partition Manager 2.2.0 diese Schritte ausführen kann und das Ändern der Größe von LUKS-Partitionen gut funktioniert.
quelle