Linux – SD-Karte partiell sichern

Bei der eingesetzten SD-Karte handelt es sich um eine

SanDisk Ultra 8GB SDHC Class 10

Diese beinhaltet die beiden für Raspbian typischen Partitionen (FAT16 und EXT4), allerdings mit der Einschränkung, dass nur ca. 4GB von 8GB partitioniert sind. Wenn nun ein Image mittels dd angelegt wird, dann wird für gewöhnlich die gesamt SD-Karte, sprich die vollen 8GB abgearbeitet, obwohl effektiv nur die paritionierten 4GB hierfür ausreichend wären.
Mit Hilfe des Parameters count des Befehls dd kann man diesen Umstand korrigieren!

Als erster Schritt sollten sämtliche Partitionen der zu lesenden SD-Karte auf Fehler überprüft und behoben werden.
Exemplarisch für Partition 2

sudo fsck -f -y /dev/sdc2

Ausgabe

fsck von util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
/dev/sdc2: sauber, 69964/262144 Dateien, 527800/1048576 Blöcke

 

Anschließend sieht man sich die Partitionierung der SD-Karte (hier: /dev/sdc) mit fdisk an.

sudo fdisk -lu /dev/sdc

 

Ausgabe

Platte /dev/sdc: 7948 MByte, 7948206080 Byte
245 Köpfe, 62 Sektoren/Spur, 1021 Zylinder, zusammen 15523840 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Festplattenidentifikation: 0x00017b69

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdc1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/sdc2          122880     8511487     4194304   83  Linux

Das entscheidende in der Ausgabe ist der Ende-Block der letzten, verwendeten Partition (hier: 8511487) und die Blockgröße (hier: 512)!
 

Image mit dd erzeugen

sudo dd if=/dev/sdc of=/Pfad/zur/Zieldatei/Dateiname.img bs=512 count=8511487

if= Quelle: Die Quelle ist die SD-Karte (hier: Blockgerät /dev/sdc).
of= Ziel: Zieldatei mit Pfadangabe
bs (block size) Blockgröße in Byte
count Anzahl zu schreibender Blöcke in Byte

ACHTUNG: Auf die korrekten Pfadangaben achten, da sonst Datenverlust droht!
 

Ausgabe

8511487+0 Datensätze ein
8511487+0 Datensätze aus
4357881344 Bytes (4,4 GB) kopiert, 139,233 s, 31,3 MB/s

3 Gedanken zu „Linux – SD-Karte partiell sichern

  1. lieber Autor!

    Die letzte Zeile Deines diskdump (dd) Befehls kann man nur unvollständig lesen !!

    sudo dd if=/dev/sdc of=/Pfad/zur/Zieldatei/Dateiname.im

    Und da dd so ein mächtiger Befehl ist …

    Gruss aus Frankfurt

    • Hallo,
      bei mir wird die Zeile vollständig angezeigt (Firefox v26.0). Welcher Browser wird denn verwendet?
      Der Inhalt der CODE-Zeile lautet: „sudo dd if=/dev/sdc of=/Pfad/zur/Zieldatei/Dateiname.img bs=512 count=8511487“
      Grüße,
      Alex

  2. Ich bevorzuge das Image direkt zu komprimieren, da ansonsten u.A. der „leere“ Platz des Quelllaufwerks ebenfalls 1:1 berücksichtigt wird.

    Backup:
    sudo dd if=/dev/sdc bs=512 count=8511487 | gzip > /Pfad/zur/Zieldatei/Dateiname.img.gz

    Restore:
    gunzip -c /Pfad/zur/Zieldatei/Dateiname.img.gz | sudo dd of=/dev/sdc bs=512 count=8511487

    Gruß, Simon

Schreibe einen Kommentar