Wer das beliebte Raspberry OS „Raspbian“ installiert, wird feststellen, dass er den gesamten Speicher der SD-Karte / SSD nicht nutzen kann. Standardmäßig wird nämlich beim Flashen eine kleinere Partition angelegt.
Die Partitionsgröße ist schnell geändert, auch bei der SSD, und so gehts …
Der komfortable Weg (bei SD Karten)
Wenn du eine SD-Karte verwendest, dann kannst du folgende komfortable Lösung anwenden.
- Verbinde dich auf deinen RPi mittels SSH
- Starte Raspi-Config: „$ sudo raspi-config“
- Navigiere zu „Advanced Options -> Expand Filesystem“
Achtung: Sobald du den Punkt auswählst geht es sofort los. Es gibt keine weitere Rückfrage. Nach einem Neustart ist der gesamte Speicher der SD Karte verfügbar, die Partition wurde angepasst.
Alles weitere zu Raspi-config findest du in er Doku: https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Der manuelle Weg – geht immer
Ich betreibe meinen RPi auf einer externen SSD Karte. Das hat den Vorteil einer höheren Performance und einer höheren Betriebssicherheit. SSDs sind nun mal deutlich robuster als SD-Karten.
Der oben beschriebene Weg funktioniert leider nicht für SSDs. Raspi-config antwortet beim Versuch mit dieser Nachricht: „… is not an SD card. Don’t know how to expand“.
In diesem Fall machen wir einfach folgendes:
- Verbinde dich auf deinen RPi mittels SSH
- Starte das Partionierungs-Tool parted -> „$ sudo parted“
- Nun läuft parted, und wir haben Zugriff auf die Partitionierungsbefehle.
Zunächst schauen wir uns die bestehenden Partitionen an, mit „print“
Model: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 4194kB 70.3MB 66.1MB primary fat16 lba
2 70.3MB 31.3GB 31.2GB primary ext4
In diesem Beispiel sehen wir eine 120 GB große SSD, von welcher nur etwa 32 GB verwendet werden. Also weiter geht’s:
- Mit „resize“ starten wir den Änderungsprozess. Parted möchte wissen, welche Partition verändert werden soll
- In diesem Fall ist das Partition 2, also „2“
- Nun möchte parted wissen, wie groß die Partition sein soll. Wir wollen die volle Größe nutzen und geben ein: „120 GB“ (ja, es wird tatsächlich so eingegeben)
- Parted bestätigt die Veränderung. Das wars schon, der erste Schritt ist geschafft
- „quit“ beendet parted
Die Partitionstabelle wurde jetzt angepasst. Nun muss das Filesystem die Änderung noch übernehmen, damit der Speicher auch genutzt werden kann. Wir führen aus:
$ sudo resize2fs /dev/sda2
Es dauert einen Moment, dann meldet das Programm Erfolg. Der Speicher wurde auf die neue Partitionsgröße erweitert. Überprüfbar ist dies mit „$ df“.
Das wars schon. Hier nochmal alle Befehle auf einen Blick und in Reihenfolge:
$ sudo parted
print
resize
2
120 GB
quit
$ sudo resize2fs /dev/sda2
3 Responses
Guten Abend
Danke für die toll beschriebene Anleitung.
Bei mir kommt folgender Fehler:
Error: The resize command has been removed in parted 3.0 (parted)
Bitte um hilfe
Hi Stefan, ich habe direkt keine Lösung für dich. Mal nach einer alternative zum resize command gesehen?
@Stefan: in parted bekommst du mit dem Befehl „help“ eine Liste der verfügbaren Befehle. Hierunter findet sich auch der Befehl „resizepart NUMBER END“ mit der Erklärung „resize partition NUMBER“, was bedeutet im obigen Artikel wäre der Befehl „resizepart 2“. (Alle Befehle sind ohne Anführungszeichen einzugeben.) Darauf folgt mit der Frage „END?“ das Ende der Patition in diesem Fall „120GB“
@andre: Danke für den Artikel, genau was ich gesucht hab.