Raspberry Pi: Partition auf gesamte SD-Karte erweitern

Die durch das Image erstellte Partition ist viel kleiner als die üblicherweise eingesetzten SD-Karten. Darum kann man entweder eine zusätzliche Partition anlegen, oder wie wir hier gleich praktizieren, die bestehende Partition auf die gesamte verbleibende Größe der SD-Karte erweitern. Dieses Beispiel ist mit einer 16 GB SD-Karte durchgeführt.

Root Filesystem vor ErweiterungHier sehen wir mit df -h / die aktuelle Größe und den benutzen Speicherplatz auf der originären Partition. Nur noch 10% nutzbar; etwas wenig für den Start.
Als Vorbereitung ermitteln wir den Devicenamen der SD-Karte, df /boot gibt uns einen Namen wie /dev/mmcblk0 aus.

Im ersten Schritt werden wir mit dem Tool fdisk die Partitionstabelle lesen und im nächsten  editieren und überschreiben.
Aufruf von fdisk ist mit root Rechten erforderlich:
sudo fdisk /dev/mmcblk0
Mit p sehen wir die aktuellen Partitionen und ihre Start und Ende „Positionen“ auf dem Datenträger.
Die erste Partition ( W95 FAT32) lassen wir wie sie ist. Sie dient zum Booten des Systems.
Wir notieren uns den Startpunkt der zweiten Partition, unserer zu erweiternder Partition, in diesem Fall: 122880 .
Diesen zweiten Partitionstabelleneintrag löschen wir mit d  und 2 – um ihn gleich wieder mit n (new) neu anzulegen.
Nun werden wir nach der Partition gefragt und wählen p für primäre Partition und 2 für den zweiten Eintrag in der Partitionstabelle.
Jetzt werden wir nach der Startposition gefragt und hier muss unbedingt die Zahl, die wir uns notiert haben eingetragen werden, also 122880!
Nicht den Default-Wert übernehmen!
Der folgende Wert für Last Sector ist der angegebene Maximalwert, am Ende des Datenträgers, wir nehmen den vorgeschlagenen Wert.
Nun mit w die Partitionstabelle neu schreiben.

Partition erweitern mit fdiskJetzt mit sudo reboot das System neu starten! Nachdem wir uns wieder angemeldet haben, erweitern wir die Partition mit sudo resize2fs /dev/mmcblk0p2 .

Resize of FilesystemHier kontrollieren wir das Ergebnis mit df -h / und sehen, dass uns nun die gesamte SD-Karte zur Benutzung bereitsteht.Rootfilesystem nach Erweiterung


Kommentare

Raspberry Pi: Partition auf gesamte SD-Karte erweitern — 18 Kommentare

  1. Habe dein Schema ausprobiert … es funktioniert überhaupt nicht! Scheinbar hast du nur irgendwo was aus dem Internet abgekupfert.

  2. Hallo Stephan,

    vielen Dank für die tolle Anleitung, die mir geholfen hat, endlich die ganze SD-Card verwenden zu können. Der Text selbst ist nicht ganz vollständig. Aber ein Blick in die Screenshots reicht und so funktioniert es dann auch.

  3. Kleiner Fehler im Text, im Bild ist es korrekt:
    sudo resize /dev/mmcblk0p2 ->sudo resize2fs /dev/mmcblk0p2

    Vielen Dank für die einfache und gute Beschreibung!

  4. Einwandfreie Anleitung – besser als anderswo beschriebene Anleitungen (von wegen man muss vorher noch andere Partitionen löschen und so…)!!! Ich sage danke und zieh meinen Hut! 😉

  5. Nach zahlreichen Versuchen musste ich feststellen, dass die Lösung nicht funktioniert. Meine Lösung war, die Karte in einem Linux Rechner oder anderen Pi mit gparted entsprechend anzupassen. Funktioniert mit allen OS. Auch mit BananaPi alle Versionen.

  6. Hi,
    vielen Dank. Hat super fuzt. Das IMG des Bpi-M3 kennt keine resize mehr in der raspi-config. Nun kann ich die 64G Karte voll nutzen.

    Echt klasse.

  7. Es funktioniert wunderbar
    Prima Danke.

    Vorher—->
    $ sudo fdisk /dev/mmcblk0

    Welcome to fdisk (util-linux 2.25.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.

    Command (m for help): p
    Disk /dev/mmcblk0: 30 GiB, 32212254720 bytes, 62914560 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: 0x19dbc2fe

    Device Boot Start End Sectors Size Id Type
    /dev/mmcblk0p1 204800 729087 524288 256M c W95 FAT32 (LBA)
    /dev/mmcblk0p2 729088 14940159 14211072 6.8G 83 Linux

    Nachher—>
    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-62914559, default 2048): 729087

    Sector 729087 is already allocated.
    First sector (729088-62914559, default 729088):
    Last sector, +sectors or +size{K,M,G,T,P} (729088-62914559, default 62914559):

    Created a new partition 2 of type ‚Linux‘ and of size 29.7 GiB.

    Command (m for help): p
    Disk /dev/mmcblk0: 30 GiB, 32212254720 bytes, 62914560 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: 0x19dbc2fe

    Device Boot Start End Sectors Size Id Type
    /dev/mmcblk0p1 204800 729087 524288 256M c W95 FAT32 (LBA)
    /dev/mmcblk0p2 729088 62914559 62185472 29.7G 83 Linux

    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).

    $ sudo resize2fs /dev/mmcblk0p2
    resize2fs 1.43.3 (04-Sep-2016)
    Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 2
    The filesystem on /dev/mmcblk0p2 is now 7773184 (4k) blocks long.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.