SD-Karte für den Raspberry Pi klonen unter Linux – mit nur einem Kartenleser

5. August 2025

Ein Schwachpunkt des Raspberry Pi ist der Umstand, dass sämtliche Daten auf einer SD-Karte gespeichert sind. Die ganze Programmierarbeit steckt also in der SD-Karte, die einen unsicheren Datenträger darstellt. Ist sie defekt, was früher oder später durch häufiges Auslesen und Beschreiben passieren kann, ist der Schaden groß. Deshalb ist eine Datensicherung unumgänglich. Beim Raspberry ist die Erzeugung eines Image ratsam, also ein bootfähige Kopie 1:1 des gesamten Inhalts der SD-Karte.

20250805 102303
Keine Panik beim SD-Kartencrash. Die geclonte Karte ist griffbereit und leicht auffindbar im Notfall-Aktenordner.

Entnehmen der Karte aus dem Raspberry: Raspberry herunterfahren. Netzstecker ziehen kann die Karte beschädigen. Nach dem Heruntefahren den Netzstecker ziehen. 10 Sekunden warten. Sicher ist sicher. Karte herausziehen. Merke dir, wo oben und unten ist. Stecke die Karte in einen Adapter, den du in den Schlitz des Kartenlesers steckst. Dann die hier kopierte Anleitung von ChatGPT befolgen.

20250805 101349
Dieser billige USB-Kartenleser hat mich Zeit und Nerven gekostet, da beim Aufspielen der Image-Datei ein vorzeitiger Abbruch auftrat. Es lag aber nicht an der SD-Karte. Der Fehler lag am USB-Kartenleser. Das Ding ist laut Aufdruck hoffnungslos veraltet.
20250805 101151
Der lange Schlitz links von der USB-Buchse ist kein Belüftungschlitz. Hier kann man den Adapter mit der SD-Karte reinstecken. Eingebaute SD-Kartenleser sind zuverlässiger als Billigschrott-USB-Kartenleser. Hätte ich das doch nur früher gewusst.

Bevor du die Karte den Kartenleser entnimmst: Karte aushängen: linke Maustaste auf auf rootfs klicken -> Auswerfen anklicken.

# Meine Kurzanleitung zur Gedankenstütze:
#Anleitung SD-Karte mit einem SD-Kartenleser Clonen

# Gerätenamen der Laufwerke erfahren:
lsblk
# Der Kartenleser hat in diesem Beispiel den Gerätnamen mmcblko
# Unbedingt lsblk zur Kontrolle verwenden,
# damit du nicht deine eigene Festplatte überschreibst!!!!!!!
# Image von SD-Karte auf Festplatte clonen:
sudo dd if=/dev/mmcblk0 of=/home/volker/raspi_backup.img bs=4M status=progress
sync
# Karte aushängen: linke Maustaste auf auf rootfs klicken -> Auswerfen anklicken
# Image auf neue SD-Karte kopieren
sudo dd if=/home/volker/raspi_backup.img of=/dev/mmcblk0 bs=4M status=progress
sync
# Karte aushängen: linke Maustaste auf auf rootfs klicken -> Auswerfen anklicken

Karte wieder in den Raspberry einstecken: Raspberry ist stromlos. Netzstecker gezogen. Karte reinstecken. Du hast dir vorher gemerkt wo oben und unten ist? Stromvesorgung einsschalten und zusehen, wie der Raspberry bootet. Geschafft.

Datensicherung: Die erzeugte img-Datei auf deiner Festplatte belassen. Die geclonte SD-Karte in einen Adapter stecken und auf einem beschrifteten DIN-A4-Blatt festkleben und in deinem Aktenordner abheheften. Für die Befestigung nimm Maler-Abklebeband. Es klebt gut fest und der Kleber ist rückstandslos. Beschrifte als mit Datum und weitere wichtige Anweisungen.

Fallstricke: Ich verwendete zum Clonen einen billigen USB-Kartenlser. Auslesen kein Problem.  Aber beim Erstellen des Clones brach das Programm vorzeitig ab. Karte mit

sudo apt install f3
sudo f3probe --destructive --time-ops /dev/sdb

überprüft. ACHTUNG: Die Überprüfung mit f3probe löscht den gesamten Karteninhalt!!!!

f3probe behauptet die Karte sei defekt. ChatGPT meinte es sei ein Fake-Karte, obwohl die Verpackung täuschend echt aussah. Karte im Müll entsorgt. Neue SD-Karte bestellt. Wieder dasselbe Problem. Das kam mir komisch vor. ChatGPT behauptete ich soll reklamieren. Das Ergebnis von f3probe sei der Beweis, dass auch diese Karte defekt ist. Schließlich entdeckt ich bei meinem Ubuntu-Desktop-Rechner vorne einen unscheinbaren Schlitz. Hier konnte ich mit dem beigefügten Adapter die Karte reinstecken. Alles funktionierte nun problemlos. Der billige USB-SD-Kartenleser war also das Problem. Er war mangelhaft. ChatGPT ist nicht auf das Naheliegende gekommen.

Dann die andere SD-Karte wieder aus dem Müll gefischt. Die war schon in der Mülltonne in einem Müllbeutel. Karte gefunden und getestet. Auch sie ging einwandfrei. 15 Minuten im Müll wühlen haben sich gelohnt. Die Karte hat einen Wert von etwa 10 Euro. Kein schlechter Stundenlohn.

20250805 104041
Wenigstens erinnerte ich mich noch, dass die sich die angeblich defekt SD-Karte im Wert von umgerechnet 10 Euro in der roten Mülltüte befinden muss. Wer seinen eigenen Asterisk-Server liebt, macht jede Drecksarbeit klaglos mit.

Welche SD-Karte kaufen: Für den Raspberry natürlich eine mit ausreichender Größe. Besser sind Markenprodukte. Es gibt Karten, die auf hohe Schreib-Lese-Geschwindigkeit ausgelegt sind. Andere legen mehr Wert auf die  Robustheit und auf viele Schreib-Lese-Zyklen. Für meinen Asterisk-Server ist die Robustheit und Zuverlässigkeit wichtiger.

Was ist, wenn die neue Karte zu groß ist? Kein Problem. Wenn die ursprüngliche Karte z.B. 16 GB groß war und sie wird auf eine 32 GB-Karte geklont, dann enthält die neue Karte nach dem Klonen nur eine 1:1-Kopie – also effektiv weiterhin nur 16 GB nutzbarer Speicher. Der restliche Platz bleibt ungenutzt, geht aber nicht verloren. Wenn man die übrigen 16 GB nicht verschenken will, kann man sie „aufbohren“, sobald die Karte im Raspberry Pi steckt. Das geht so, wenn man Raspian, also Raspi OS als Betriebssystem auf dem Raspi betreibt:

Nicht verwendeten Speicherplatz auf der SD-Karte freigeben: Raspberry Pi starten mit der neuen, größeren SD-Karte. Im Terminal (lokal oder per SSH) folgenden Befehl ausführen:

sudo raspi-config
    1. Im Menü:

      • Punkt 6: Advanced Options wählen (bei neueren Versionen heißt es manchmal Advanced Settings),

      • dann Expand Filesystem oder Expand Root Partition to use all of SD card auswählen.

    2. Bestätigen und Neustart durchführen.

Nach dem Reboot ist der gesamte Speicherplatz der SD-Karte verfügbar.

Nachfolgendes habe ich einfach aus ChatGPT herauskopiert:


🛠️ SD-Karte für den Raspberry Pi klonen unter Linux – mit nur einem Kartenleser

🧰 Voraussetzungen

  • Du arbeitest unter Linux, z. B. Ubuntu MATE.
  • Du hast nur einen SD-Kartenleser, meist eingebaut im Laptop oder über USB angeschlossen.
  • Du willst eine bestehende Raspberry-Pi-Installation sichern (Image erstellen) oder eine zuvor gesicherte Installation wiederherstellen (Image zurückspielen).
  • Die Karte ist ausgebaut, d. h. der Raspberry Pi ist heruntergefahren und die SD-Karte steckt im Linux-Rechner.

🧾 1. Die SD-Karte identifizieren

Stecke die SD-Karte in den Kartenleser.

Dann:

lsblk

Typischer Gerätename ist z. B. /dev/mmcblk0 (für interne Leser) oder /dev/sdX (für USB-Adapter). Achtung: Nicht /dev/mmcblk0p1 oder /dev/sdb1 nehmen – das sind Partitionen. Du brauchst das Gesamtgerät, ohne Zahl oder „p1“.

Merke dir das Gerät – in unserem Beispiel nehmen wir /dev/mmcblk0.


💾 2. Backup der SD-Karte als Image-Datei (Klon erstellen)

Der folgende Befehl liest den kompletten Inhalt der SD-Karte aus und speichert ihn als Image-Datei:

sudo dd if=/dev/mmcblk0 of=/home/volker/raspi_backup.img bs=4M status=progress
sync

Erläuterung:

  • if= → input file: die SD-Karte (z. B. /dev/mmcblk0)
  • of= → output file: das Image-Ziel, z. B. in deinem Home-Verzeichnis
  • bs=4M → Blockgröße 4 Megabyte (schneller)
  • status=progress → zeigt den Fortschritt
  • sync → stellt sicher, dass alle Daten wirklich geschrieben wurden

Dauer: Einige Minuten, je nach Größe der SD-Karte und Lesegeschwindigkeit.


🔁 3. SD-Karte aus Image wiederherstellen (Image zurückspielen)

Du willst dieselbe oder eine andere SD-Karte mit dem gespeicherten Image beschreiben?

sudo dd if=/home/volker/raspi_backup.img of=/dev/mmcblk0 bs=4M status=progress
sync

Wichtig: Auch hier das richtige Zielgerät (z. B. /dev/mmcblk0) verwenden und nicht aus Versehen deine Systemplatte überschreiben!


🧼 4. Sicher auswerfen

Nach dem sync-Befehl kannst du die Karte mit folgendem Befehl sicher auswerfen:

udisksctl unmount -b /dev/mmcblk0

Oder du ziehst sie einfach ab, wenn der sync fertig ist und du keine Schreibprozesse mehr siehst.


📦 Ergebnis

Du hast nun eine vollständige Sicherung deiner Raspberry-Pi-Installation – oder hast sie einsatzbereit wiederhergestellt. Ideal für Backups, Migration auf neue Karten oder Vervielfältigung.


Hier die Ergänzung zum Artikel mit typischen Fehlerfällen beim Klonen einer SD-Karte für den Raspberry Pi unter Linux mit nur einem Kartenleser – und wie man sie erkennt:


Fehlerfälle beim Klonen einer Raspberry-Pi-SD-Karte mit nur einem Kartenleser unter Linux

1. SD-Karte nicht erkannt

Symptom: Die SD-Karte taucht nicht in der Liste bei lsblk oder dmesg auf.

Lösungsweg:

  • Leser oder SD-Karte ist defekt → anderen Slot oder Adapter probieren.
  • SD-Karte zu fest oder nicht ganz eingesteckt.
  • In dmesg nachsehen:
    dmesg | tail
    

    → Falls nichts angezeigt wird, wurde keine neue Karte erkannt.


2. Falsches Gerät ausgewählt (Datenverlustgefahr!)

Symptom: dd wird auf das falsche Gerät angewendet, z. B. auf die interne Festplatte.

Lösungsweg:

  • Immer vorher lsblk oder sudo fdisk -l verwenden.
  • Die SD-Karte erkennt man meist an der Größe (z. B. 29 GiB für 32-GB-Karte).
  • Beispiel:
    lsblk
    

    → Nur /dev/sdX ohne Ziffer (z. B. /dev/sdb, nicht /dev/sdb1) benutzen!


3. Fehlerhafte oder beschädigte SD-Karte

Symptom: dd läuft nicht durch oder bricht ab mit I/O-Fehlern.

Lösungsweg:

  • In dmesg nach I/O error suchen:
    dmesg | grep I/O
    
  • smartctl geht bei USB-SD-Lesern meist nicht, daher hilft nur Austausch und erneuter Versuch.

4. Backup zu groß für neue SD-Karte

Symptom: Rückspielen des Images schlägt fehl, obwohl die neue Karte nominell gleich groß ist.

Lösungsweg:

  • Karten gleicher Größe haben oft leicht unterschiedliche Netto-Kapazität.
  • Lösung: Vor dem Sichern mit pishrink.sh das Image verkleinern (wenn möglich).
  • Oder: Neue Karte mit größerer Kapazität verwenden.

5. Backup-Image nicht bootfähig

Symptom: SD-Karte wird nach dem Rückspielen nicht erkannt oder bootet nicht.

Lösungsweg:

  • Häufige Ursache: Schreibfehler beim Rückspielen (z. B. zu früh aus dem Slot gezogen).
  • Prüfen:
    sudo dd if=raspi_backup.img of=/dev/sdX bs=4M status=progress conv=fsync
    
  • conv=fsync stellt sicher, dass alle Daten geschrieben sind.
  • Danach: Karte mit sync und sicherem Aushängen auswerfen:
    sync
    udisksctl unmount -b /dev/sdX1  # Je nach Partition
    

6. Image-Datei zu groß für den eigenen Speicherplatz

Symptom: dd bricht ab mit „no space left on device“

Lösungsweg:

  • Vorher freien Speicher prüfen:
    df -h
    
  • Das Image ist so groß wie die SD-Karte – ggf. Zielverzeichnis mit mehr Speicherplatz wählen oder per NFS/USB-Festplatte auslagern.

Wenn du willst, fasse ich beide Teile (glatter Ablauf + Fehlerfälle) als einen kompakten Blogbeitrag zusammen.

Fazit: Datensicherung unter Linux ist ganz einfach, wenn man die  Fallstricke kennt. Mit einer Datensicherung kann man besser schlafen und geht entspannter durchs Leben.