Nachdem ein Raspberry Pi oder banana Pi Image auf eine SD Karte kopiert wurde, nutzt die System-Partition in fast allen Fällen nicht den verfügbaren Speicherplatz auf dem Datenträger. Ob die Partition auf einer SD Karte oder eine Festplatte liegt ist für diese Anleitung nicht wichtig.
Starten Sie das Festplatten-Partitionierungsprogramm zur Anzeige der vorhandenen Partitionen:
sudo fdisk -l
Disk /dev/mmcblk0: 14.8 GiB, 15912140800 bytes, 31078400 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: 0x000ebf83 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 204800 729087 524288 256M c W95 FAT32 (LBA) /dev/mmcblk0p27290883071999 2342912 1.1G 83 Linux
Notieren Sie sich den Startwert für die Linux-Partition:
729088
Starten Sie das Programm "fdisk" mit root Rechten für die SD Karte / Festplatte:
sudo fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
Durch Drücken vpn "p" (und "Enter") wird die aktuelle Partitionstabelle angezeigt:
Command (m for help): p Disk /dev/mmcblk0: 14.8 GiB, 15912140800 bytes, 31078400 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: 0x000ebf83 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 204800 729087 524288 256M c W95 FAT32 (LBA) /dev/mmcblk0p2 729088 3071999 2342912 1.1G 83 Linux Command (m for help):
Hier sollten Sie nochmals prüfen, ob Sie gerade die richtige SD Karte / Festplatte bearbeiten. Die Partiotion "/dev/mmcblk0p1" (die erste Partition vom Typ "W95 FAT32") wird nicht verändert. Sie dient zum Booten des Systems und darf auch nicht gelöscht werden.
Die zweite Partition löschen wir jetzt mit "d" und "2":
Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted.
Jetzt wird die gleiche Partition sofort wieder durch "n" neu angelegt.
Dabei unbedingt aufpassen:
Wenn der Start ("first sector") angegeben werden soll, den notierten Wert eingeben (hier "729088") und nicht die Vorgabe übernehmen !
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (2048-31078399, default 2048):729088Last sector, +sectors or +size{K,M,G,T,P} (729088-31078399, default 31078399): Created a new partition 2 of type 'Linux' and of size 14.5 GiB.
Die neuen Angaben jetzt mit "w" speichern:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Das System muss jetzt neu gestartet werden:
sudo reboot
Nachdem der Neustart abgeschlossen ist, wird die neue Partitionsgröße gesetzt:
sudo resize2fs /dev/mmcblk0p2
resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mmcblk0p2 is now 3793664 (4k) blocks long.
Um die neue Größe der Partition zu prüfen, nutzen wir den Befehl "df":
df -h /
Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 15G 890M 13G 7% /
Wird dabei der komplette Inhalt der SSD gelöscht? Ich hatte vorher ein iobroker Image auf eine leere SSD geschrieben und möchte nun diese SSD wieder erweitern.
Bei unseren Tests bleiben die Daten erhalten. Das liegt an deer exakten (!) Überlagerung der Partitionen. Garantie übernehmen wir (wie immer) nicht, denn auch Programm wie „fdisk“ entwickeln sich weiter und wenn z.Bsp. dort die Entwickler eine andere Logik einbauen … dann ändert sich das Ergebnis. Ich würde es an einer Test SD prüfen, wie Ihr System damit umgeht.
Perfekt, danke für die Anleitung, ich benutze eine externe Festplatte als / und auch mit der hat es wunderbar funktioniert.
Perfekt – das ist genau die Lösung, nach der ich gesucht habe. Vielen Dank! Daten wurden bei mir nicht überschrieben.
Hallo Andre,
vielen Dank für die Rückmeldung. Hat uns gefreut, dass wir helfen konnten.
Danke, das war wirklich eine gute Anleitung. Ich konnte das auf dem bestehenden Iobroker durchführen, ohne das irgendwelche Daten gelöscht wurden. Jetzt habe 50 GB mehr Platz!
Danke Mailhilfe für diesen Kommentar. Es ist sehr selten, dass wir einen Dank erhalten und daher haben wir uns umso mehr über Deinen Kommentar gefreut !
Auch von mir ein grosses DANKE, das „Resizen“ hat nach dem Wechsel derSD-Karte hat einwandfrei geklappt.
Super, vielen Dank! Das war hilfreich und hat auch geklappt.
Ich habe initial ein IOBroker Image aufgesetzt. Dadurch war nicht der gesamte Platz der SD-Karte ausgenutzt.
Mit dieser Anleitung konnte ich die Partition erweitern und alle Daten bleiben erhalten.
Kurzer Schreck ereilte mich hierbei, da so ein Fall in der Anleitung nicht vorkam:
Partition #2 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Mit der beherzten Eingabe von „N“ ging nichts schief.
Danke nochmals!!
Hallo Eugen,
mit der Eingabe ‚Y‘ klappt es auch fehlerfrei.
Vielen Dank an das Team. Das hat super geklappt.
Hat bei mir super geklappt mit dem Upgrade von 64GB auf 256GB auf Raspberry Pi4. Danke für die Anleitung!
Danke für den positiven Kommentar – freut uns immer, wenn unsere Tipps jemandem helfen.