So jetzt zum Verkleinern:
Das ganze ist so aufgebaut:
Du hast eine Festplatte (sda)
Du hast tüpischerweise eine erweiterte Partition (sda2).
In der Erweiterten Patition liegt dann eine logische Partition (sda5).
In der Partition liegt dann ein Crypto Device.
In dem kann dann ein LVM liegen. (Der installer macht das meistens per default so. Warum der das mach weiß ich nicht.)
In dem liegt dann ein Dateisystem.
Das willst du jetzt
von innen nach außen verkleinern. (Die Festplatte willst du natürlich nicht Verkleinern.
sondern lediglich bis sda5 oder sda2.)
Generell Gilt: Wenn das innere Device kleiner als das äußere ist, ist das kein Problem. Wenn das äußere kleiner als das innere ist gibt das ein Probelm. (Ist logisch, dass das ne schlechte Idee ist, wenn du deine Crypto Device auf 200G verkleinerst, wärend das dateisystem drin noch 460G hat.
Das ist wie das mit dem Elefant und der Streichholzschachtel. Geht entweder für den Elefant oder die schachtel schlecht aus.
(Allerdings gibt es eine besonderheit bei crypto-devices: Sie passen ihre Größe beim öffenen (wenn nicht expliziet anders vorgegeben) automatisch an. => Wenn man sie schließt und dann das device ausenrum verkleinert ist es beim nächsten öffnen automatisch verkleinert.)
Die erste wichtige sache ist, dass du guckst was da genau ineinander steckt.
Zuerstmal guckst du dir an, was dein / ist.
Beispielausgabe:
Code: Alles auswählen
/dev/mapper/sdb5_crypt on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
=> Dateisystem ext4 und das überliegende Device heißt sdb5_crypt
Gucken wir uns also das an:
=> Ein Crypto device
Code: Alles auswählen
$ cryptsetup status sdb5_crypt
type: LUKS1
cipher: aes-cbc-essiv:sha256
keysize: 256 bits
device: /dev/sda5
offset: 4096 sectors
=> LUKS und das darüberliegende device ist /dev/sda5
Da ext (im gegensatz zu btrfs) sich nur im ausgehängten Zustand verkleinern lässt, und / sich schlecht im laufenden Betrieb aushängen lässt, nehmen wir also eine LiveCD her.
nach dem booten wird erstmal wider das Crypto-Device geöffnet:
Dann kann man das Dateisystem verkleinern:
Hier ist man am besten ziemlich großzügig, damit nichts schief geht. Am besten verkleinerst du erstmal deutlich zu stark und vergrößerst am Ende wieder. Bedenke, dass du noch zusätzlich offset*512Bystes für den luks Header brauchst. Dein Dateisystem muss also kleiner als die Partition am Ende sein.
Jetzt wird das crypto device wider geschlossen.
Jetzt kannst du die Partition verkleinern. Das geht entweder mit sfdisk oder mit einem Trick per fdisk:
Du löschst die Partition zuerst und erstellst dann eine neue die genau auf der gleichen Stelle anfängt:
Code: Alles auswählen
fdisk dev/sda
p
Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00037e2f
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 976771071 976269314 465,5G 5 Extended
/dev/sda5 501760 976771071 976269312 465,5G 83 Linux
d
5
n
l
501760
123G
w
Dach kannst du jetzt die Dateisystemgröße nochmal exakt anpassen:
Code: Alles auswählen
cryptsetup luksOpen /dev/sda5 to_resize
resize2fs /dev/mapper/to_resize
reboot