Hendrich.org

Festplatten-Image verkleinern

Veröffentlicht: 01.11.2017

Zunächst wird die Image-Datei (*.img) gemäß dieses Blogeintrags als LoopBack-Device angemeldet. Anschließend kann man das Image mit dem folgenden Befehl verkleinern. Es wird die grafische Benutzeroberfläche von gparted aufgerufen.

sudo gparted /dev/loop0

Dabei schafft man möglichst viel Plattenplatz am Ende des Images (d.h. der rechten Seite in der Grafik). Anschließend kann das LoopBack-Device abgemeldet werden:

sudo losetup -d /dev/loop0

Wie man sehen kann, ist die Größe der Image-Datei (*.img) auf der Festplatte noch immer gleich. Da in den vorherigen Schritten ja freier Speicher am Ende des Images geschaffen wurde, kann man diesen Speicherbereich nun abschneiden.

Zunächst ermittelt man die Größe der Partition in dem Image:

fdisk -l myimage.img

In der Ausgabe kann man sehen, wie groß die Partition ist. In der Spalte End wird die Zahl des letzten Blocks angegeben und die Blockgröße wird weiter oben in der Ausgabe als sector-size angegeben (in der Regel 512 Bytes). Nehmen wir an, dass der letzte Block 12345 ist, kann man nun die notwendige Größe des Images bestimmen. Da die Zählung der Blöcke bei Null beginnt, muss noch ein Block hinzugezählt werden. Der Befehlt truncate schneidet nun die img-Datei zu:

truncate --size=$[(12345+1)*512] myimage.img