Nachdem ich aus dem Sommerurlaub wieder zurück bin, musste ich leider feststellen, dass mein Raspberry Pi nicht mehr per HTTP erreichbar war. Ein Hardreset (Strom abgezogen und wieder eingesteckt) brachte leider keine Verbesserung. Es leuchtet nur die rote LED. Ich vermutete, dass sich das Image meiner SD-Karte korrupt sei. Ich habe auf dem Raspberry Pi einen Cronjob laufen, der 14tägig ein komplettes dd Image, als auch eine Sicherung diverser Einstellung vornimmt. Diese habe ich mittels dd auf über meinen Mac zurückgespielt und schon läuft wieder alles wie gewohnt.

1. Datensicherung auffinden

Um die Datensicherung zurückzuspielen, benötigt ihr diese selbstverständlich. Die Datensicherung mittel dd schreibe ich bei mir über das Netzwerk auf mein NAS weg. In meinem Fall lautet die Bezeichnung RPI-FHEM-dd-backup-<JAHR-MONAT-TAG-STUNDE-MINUTE-SEKUNDE>.img. Diese Datensicherung habe ich mir zuerst auf meinen Desktop kopiert.

2. SD-Karte in Kartenleser einstecken

Die vermeintlich defekte SD-Karte in den Kartenleser stecken und erneut initialisieren um herauszufinden ob diese wirklich defekt oder nur korrupt ist.

3. BSD-Name herausfinden

Damit ihr per dd Eure Datensicherung zurückspielen könnt, ist es notwendig für den Befehlssyntax den Systemnamen der Speicherkarte herauszufinden. In meinem Fall habe ich dies über das Apfelsymbol / Über diesen Mac / Systembericht … / Hardware / USB / <Speicherkarte> gemacht (siehe Screenshot).

device finden

In meinem Fall handelt es sich um die Transcend Speicherkarte mit dem BSD-Namen disk6.

4. SD-Karte umounten

Sofern der Mac die Karte noch inklusive Partition mounten konnte, müsst ihr nun die Partition unmounten. In meinem Fall hat die Karte nur eine Partition, so dass ich im Terminal mit dem Befehl

sudo diskutil unmount /dev/disk6s1

die Karte entsprechend unmounten konnte. Sofern ein auswerfen nicht möglich ist, kann es sein, dass die Speicherkarte keine Partitionen mehr enthält. In diesem Fall könnt ihr Schritt 4 übergehen.

5. Image zurückspielen

Nun kann der eigentliche Vorgang zum zurückspielen gestartet werden. Hierfür benötigt ihr den Pfad zu Eurer Datensicherung und den BSD-Name der SD-Karte. Hierfür nutze ich das dd Kommando wie folgt:

Beispiel:

sudo dd if=<PFAD zum Image inkl. Image Angabe> of=<Ziel inkl. /dev/ Angabe) bs=1m

In meinem Fall:

sudo dd if=/Users/Christian/Desktop/RPI-FHEM-dd-backup-20150514-100503.img of=/dev/disk6 bs=1m

Das ganze sieht im Terminal ungefähr folgendermaßen aus:

terminal restore

Der Vorgang dauert ca. 10 – 15 Minuten (abhängig von der größe und Geschwindkeit Eurer Speicherkarte). Eine Darstellung des Fortschritts is mittels dem Befehl kill möglich. Sobal der Vorgang abgeschlossen ist, steht im Terminal eine ähnliche Meldung wie folgt:

 

6. SD-Karte in Raspberry Pi stecken

Im Anschluss die SD-Karte wie gewohnt auswerfen und in den Raspberry Pi einstecken. Raspberry Pi anschliessen und Voilá.