Raspberry Pi – Raspian – Speicherkarte vollständig nutzen

Raspberry Pi – Raspian – Speicherkarte vollständig nutzen

Wenn man Raspian einfach blank installiert, ist die SD-Karten Partition auf gerade einmal 4 GB beschränkt.
Bei der Installation vergisst man gerne auf “Expand Filesystem” zu klicken.

Das hier vorgestellte Verfahren funktioniert bei der original “Raspbian” Distribution, die von der Raspberry Pi Foundation heruntergeladen werden kann. Es besteht die Möglichkeit, dass alle Daten der SD-Karte verloren gehen beziehungsweise nicht mehr lesbar sind. Dazu reicht es aus, irgendwo eine Zahl falsch einzutippen. Wichtige Daten müssen vorher gesichert sein!

Es gibt 2 Wege dies nachträglich zu korrigieren.

Automatisch:

Einfach die Config starten mittels:
sudo raspi-config
raspi-config
Und hier “Expand Filesystem” auswählen.
Danach noch neustarten und fertig.

Manuell:

Wie die Partitionen im Roh zustand aussehen sieht man mittels df -h.
Filesystem Size Used Avail Use% Mounted on
rootfs 2.6G 2.1G 430M 83% /
/dev/root 2.6G 2.1G 430M 83% /
devtmpfs 215M 0 215M 0% /dev
tmpfs 44M 228K 44M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 88M 0 88M 0% /run/shm
/dev/mmcblk0p1 56M 9.5M 47M 17% /boot

Die für uns wichtigen Beiträge sind rootfs und /dev/rootfs.
Diese zeigen eine deutlich niedrigere Größe als die aktuell gängigen SD-Karten.
Alle wichtigen Daten solltet ihr vorher sichern, falls etwas schief geht.

Partitionen löschen und neu anlegen
Raspian erstellt beim installieren 2 Partitionen. Eine Boot Partition die unter FAT32 läuft und die eigentliche Linux Partition mit EXT4.
Mit Fdisk muss man die Partition angeben die neugemacht werden soll, in unserem Fall ist es die mmcblk0.
sudo fdisk /dev/mmcblk0

Nachdem fdisk gestartet ist, muss man P drücken um eine List der Partitionen zu erhalten.
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 <strong>4582277</strong> 2831360 83 Linux

Im Normal sind die Startblöcke wie hier angegeben, nur der Endblock von mmcblk0p2 ist unterschiedlich.
Dennoch, notiert eure Werte, nicht diese hier!

Danach drückt man d für das löschen der Partition.
Hiernach die 2 für Partition 2.

Jetzt brauchen wir ja wieder eine neue,zweite Partition.
Diese legen wir mittels n(new) an. Mit p stellen wir sicher, das diese Primär ist und geben ihr die Nummer 2.
Nun fragt fdisk nach den Start und Endsektoren, hier muss man den Startsektor, im Default Fall 122880 angeben.
Den Endsektor, muss man nicht angeben wenn man keine weiteren Partitionen macht.
Fdisk stellt hier automatisch den letzten wert ein.
Genau darauf achten, das diese Werte korrekt sind.
Wenn man hier den Startsektor falsch angibt, kann es passieren, das man das System neuinstallieren muss.

Sollte das geklappt haben, kann man sich wieder mit p die Partitionen anzeigen lassen.

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 31211519 15544320 83 Linux

Nun sollte die letzte wesentlich Größer sein.
Am Ende muss man noch mit dem Befehl w speichern.
Zuletzt sollte man dann natürlich noch neustarten, damit das System die Veränderung spürt.
sudo reboot

Sobald Raspian neu gebootet hat, muss Raspian selbst auch noch im System selbst hinterlegen das es sich geändert hat.
sudo resize2fs /dev/mmcblk0p2

Das Ergebnis sieht nun so aus:
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
rootfs 15G 5,1G 8,9G 37% /
/dev/root 15G 5,1G 8,9G 37% /
devtmpfs 369M 0 369M 0% /dev
tmpfs 75M 240K 75M 1% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 149M 0 149M 0% /run/shm
/dev/mmcblk0p1 56M 15M 42M 26% /boot
tmpfs 149M 0 149M 0% /tmp