Skip to main content

Raspberry Pi OS - Verkleinern einer Backup Imagedatei

In dieser Anleitung wird beschrieben wie eine Imagedatei, welche in der Anleitung Raspberry Pi OS - Backup / Restore erstelt wurde, verkleinert werden kann. 

Zum Verkleinern der Partition wird gparted verwendet, fasll es noch nicht installiert ist:

apt install gparted 

Mit fdisk die Partitionen der Imagedatei auflisten:

fdisk -l rpios.img
Disk rpios.img: 29.72 GiB, 31914983424 bytes, 62333952 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: 0xdacc6ddd

Device         Boot   Start      End  Sectors  Size Id Type
rpios.img1            16384  1064959  1048576  512M  c W95 FAT32 (LBA)
rpios.img2          1064960 62333951 61268992 29.2G 83 Linux

Notieren des Startsektors der 2. Partition (1064960)

Mit losetup ein Loopdevice mit dem Inhalt der 2. Partition der Imagedatei erstellen, als offset wird der Startpunkt (Startsektor*512) der 2. Partition angegeben:

losetup /dev/loop99 rpios.img -o $((1064960*512))

Mit gparted die Partition verkleinern:

gparted /dev/loop99

Verkleinern auf Minimum plus etwas Reserve (~100MB)

Notieren der neuen Größe aus dem Infofenster (z.B. 3788800K)

Das Loopdevice wieder löschen:

losetup -d /dev/loop99

Mit losetup ein Loopdevice aus der Imagedatei erstellen:

losetup /dev/loop99 rpios.img

Mit fdisk die 2. Partition löschen und mit der neuen Größe wieder erstellen:

fdisk /dev/loop99
  • Mit d 2 die 2. partition löschen
  • Mit n p 2 eine neue 2.Partition anlegen
  • Start der 2. Partition 1064960 angeben
  • Bei neuer Größe +3788800K angeben 
  • Mit w in Tabelle schreiben
  • Mit q beenden

Mit fdisk die Partitionen auflisten:

fdisk -l /dev/loop99

Notieren des Endsektors der 2. Partition (z.B. 8642559)

Das Loopdevice wieder löschen:

losetup -d /dev/loop99

Verkleinern der Imagedatei mit truncate auf die Größe (Endsektor*512):

truncate -s $(((8642559+1)*512)) rpios.img

Überprüfen des Ergebnisses mit fdisk:

fdisk -l rpios.img