# Mit dm-crypt verschlüsselte Partition verkleinern (kein LVM)

## Ampheus

Guten Tag allerseits.

Ich möchte gerne meine verschlüsselte ROOT-Partition verkleinern. Sie ist verschlüsselt mit cryptsetup-luks. Dazu habe ich das Forum und auch google befragt, aber leider nur Ansätze mit LVM gefunden. Da ich mir die Sachen so also nicht zusammen suchen konnte, frage ich einfach mal hier.

Ist es möglich, diese Partition ohne sie zu zerstören zu verkleinern?

Hier mal einige Informationen:

Partitionsschema:

[*]/dev/sda1 /boot 50 MB

[*]/dev/sda2 /dev/mapper/swap 1 GB

[*]/dev/sda3 /dev/mapper/root ~319 GB verschlüsselt

Aus /dev/sda3 soll eine zusätzliche Partition von etwa 50 GB abgespalten werden. Die Partition ist zur Zeit mit nicht mehr als 40 GB belegt.

Was mich an sich auch noch wundert, ist die Ausgabe von df:

```
gentoo amp # df -h

Filesystem            Size  Used Avail Use% Mounted on

rootfs                 46G   40G  4.2G  91% /

/dev/mapper/root       46G   40G  4.2G  91% /

udev                   10M  176K  9.9M   2% /dev

shm                   754M     0  754M   0% /dev/shm
```

fdisk sagt aber etwas anderes:

```
gentoo amp # fdisk -l /dev/mapper/root

Disk /dev/mapper/root: 319.0 GB, 319000505856 bytes

255 heads, 63 sectors/track, 38782 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/root doesn't contain a valid partition table
```

Diese Sache verwundert mich schon länger. Ich denke, falls das ein Problem ist, muss das sowieso erst behoben werden, bevor ich resizen kann.  :Wink: 

Danke schonmal für eure Hilfe.

----------

## Aldo

Also ich sehe da keine Chance daß das ohne umkopieren und händisch partitionieren geht.

(kopieren - partitionieren - zurückkopieren)

Zumindest fällt mir da keine Lösung ein wie du sie wünscht.

----------

## farhaven

Dass fdisk -l bei /dev/mapper/root keine gültige Partitionstabelle anzeigt, ist irgendwie logisch, es handelt sich ja um eine einzelne Partition und nicht um ein ganzes Laufwerk.

----------

## mv

Ob Du verkleinern kannst, hängt vom benutzten Filesystem ab: Falls Du z.B. ext2/3 benutzt musst Du /dev/mapper/root halt mit ext2resize (oder wie  das genau heißt) verkleinern; das wird natürlich nicht gehen, solange die Partition gemounted ist - möglicherweise genügt remounten als "ro", aber wahrscheinlich musst Du erst von einer anderen Partition oder einer Boot-CD booten.

Danach kannst Du (nach dem Unmounten von /dev/mapper/root) mit fdisk o.ä. die /dev/sda3 auf die selbe Größe verkleinern (wobei ich jetzt nicht sicher bin, ob Du für die speziellen luks-Header noch etwas Platz lassen musst - das musst Du in luks-spezifischen Hilfen nachlesen). Nach dem Verkleinern musst Du in jedem Fall neu booten, und ich würde danach auch einen Filesystemcheck auf /dev/mapper/root loslassen.

Alles natürlich ohne Gewehr.   :Wink: 

----------

## Ampheus

Ich bin inzwischen an diese Grenze (46 GB) gestoßen, die angeblich meine Partition auf /dev/mapper/root hat. Das ganze sieht aber sehr merkwündig aus. Ich dachte mir, da df mir 46 GB ausspuckt versuche ich mal, mit parted die Partition zu vergrössern und siehe da: parted zeigt mit volle 319 GB an.

```
(parted) print

Model: Unknown (unknown)

Disk /dev/mapper/root: 319GB

Sector size (logical/physical): 512B/512B

Partition Table: loop

Number  Start  End    Size   File system  Flags

 1      0.00B  319GB  319GB  ext3
```

Die Platte ist jetzt auch voll bei 46 GB. Ich bin völlig ratlos. Vielleicht wisst ihr da, was ich falsch gemacht habe.

----------

## Finswimmer

 *Ampheus wrote:*   

> Ich bin inzwischen an diese Grenze (46 GB) gestoßen, die angeblich meine Partition auf /dev/mapper/root hat. Das ganze sieht aber sehr merkwündig aus. Ich dachte mir, da df mir 46 GB ausspuckt versuche ich mal, mit parted die Partition zu vergrössern und siehe da: parted zeigt mit volle 319 GB an.
> 
> ```
> (parted) print
> 
> ...

 

Wie schauts mit den Inodes aus?

Tobi

----------

## Ampheus

Ich wüsste grad ehrlich gesagt nicht, wie ich die Anzahl herausbekomme, aber bei einem check in parted fiel mir folgendes auf:

```
(parted) check

Partition number? 1

Warning: Partition 1 is 319GB, but the file system is 50.0GB.

Ignore/Cancel?
```

Das hat wahrscheinlich etwas mit meinem Problem zu tun.

----------

## cryptosteve

 *mv wrote:*   

> Ob Du verkleinern kannst, hängt vom benutzten Filesystem ab: Falls Du z.B. ext2/3 benutzt musst Du /dev/mapper/root halt mit ext2resize (oder wie  das genau heißt) verkleinern

 

resize2fs heißt das  :Very Happy:  (resize2fs is /sbin/resize2fs)

----------

## Fauli

Du hast hier ja mit drei Größen zu tun:

a: Größe des Dateisystems

b: Größe des dm-crypt-Devices

c: Größe der Partition

Wichtig ist, dass immer gilt: a <= b <= c

Zum Vergrößern des Dateisystems musst du also zuerst "c" vergrößern (mit "fdisk"), dann "b" (mit "cryptsetup resize") und dann "a" (mit "resize2fs"). Zum Verkleinern gehst du genau umgekehrt vor.

Die Partition scheint aber schon sehr groß zu sein (c=319GB). Das Dateisystem dagegen zu klein (a=50GB). Wenn "b" auch nur 50 GB groß ist, würde es also reichen, sda3 zu verkleinern, und zwar auf etwas mehr als 50 GB. Dann kannst du "b" und "a" etwas vergrößern, um die gesamte Partition zu verwenden.

Ein Backup ist natürlich wie immer ratsam  :Wink: 

----------

