Discussion:
defekte SD-Karte
(zu alt für eine Antwort)
Bernd Gruber
2018-01-11 09:40:55 UTC
Permalink
Hallo,
ich habe hier eine defekte SD-Karte aus einem Android-Handy, von der ich
versuche ein paar Daten zu retten (klar, Backup gibts nicht, aber das ist
eine andere Sache und nicht primär mein Problem). Android kann die Karte
nicht mehr lesen. Ich Arbeite mit Linux, dort lässt sich die Karte zwar
einbinden und ich kann sogar die Ordner und Dateien sehen und ein paar
Bilder runterkopieren, die meisten lassen sich aber weder ansehen noch
kopieren und das ganze hängt immer wieder. Das Bildbetrachtungsprogramm
bemängelt dann, dass die Metadaten nicht gelesen werden können.

Im Systemlog lese ich u.a:
[sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[sdc] tag#0 Sense Key : Medium Error [current]
[sdc] tag#0 Add. Sense: Peripheral device write fault
[sdc] tag#0 CDB: Write(10) 2a 00 00 1d 05 44 00 00 02 00

fdisc zeigt:
/dev/sdc1 8192 8054783 8046592 3,9G b W95 FAT32

fsck bemängelt nur ein paar Dateien mit:
Bad short file name (ASMI-S.D) und Reclaimed 1 unused cluster, sonst keinen
Fehler im Dateisystem

Wenn ich ein Image erstelle (mit dd, ddrescue oder myrescue) erhalte ich nur
eine praktisch leere image-Datei, ohne sich aber über Fehler zu beschweren.
(nur die obersten Ordner sind zu sehen, kann aber nicht hineinwechseln:
Zugriff auf 'ORDNER' nicht möglich: Eingabe-/Ausgabefehler)

Versuche mit photorec, foremost und recoverjpeg finden nur jew. maximal ein
Bild, obwohl ja mehrere sogar "normal" zu öffnen sind.

testdisk wiederum meint:
Partition sector doesn't have the endmark 0xAA55
Warning: number of heads/cylinder mismatches 128 (FAT) != 127 (HD)
Warning: number of sectors per track mismatches 63 (FAT) != 62 (HD)
1 P FAT32 1 5 9 1022 121 54 8046592 [NO NAME]
Bad relative sector.
No partition is bootable
Structure: Ok.

Weiss jemand, was da genau wohl defekt ist?
Und/oder noch einen Rat, Bilder wiederherzustellen?

Grüße
Bernd
Marcel Mueller
2018-01-11 17:27:49 UTC
Permalink
Post by Bernd Gruber
Hallo,
ich habe hier eine defekte SD-Karte aus einem Android-Handy, von der ich
versuche ein paar Daten zu retten (klar, Backup gibts nicht, aber das ist
eine andere Sache und nicht primär mein Problem). Android kann die Karte
nicht mehr lesen. Ich Arbeite mit Linux, dort lässt sich die Karte zwar
einbinden und ich kann sogar die Ordner und Dateien sehen und ein paar
Bilder runterkopieren, die meisten lassen sich aber weder ansehen noch
kopieren und das ganze hängt immer wieder. Das Bildbetrachtungsprogramm
bemängelt dann, dass die Metadaten nicht gelesen werden können.
Nicht schreiben, runter Kopieren, was noch geht, und der Rest ist halt
in Bit-Himmel.
/Nicht/ schreiben. fsck schreibt.
Post by Bernd Gruber
Wenn ich ein Image erstelle (mit dd, ddrescue oder myrescue) erhalte ich nur
eine praktisch leere image-Datei, ohne sich aber über Fehler zu beschweren.
Ich würde wenn möglich vom Original kopieren. Im Image kann man nicht
mehr ohne weiteres erkennen, welche Dateien nun beschädigt waren und
welche nicht.
Post by Bernd Gruber
Partition sector doesn't have the endmark 0xAA55
Das ist nur der Startblock. Ohne Bootfähigkeit mutmaßlich nicht weiter wild.
Post by Bernd Gruber
Weiss jemand, was da genau wohl defekt ist?
Ja, die Karte, was sonst!

Die Fehlermeldung "Medium Error" bedarf nun wirklich keiner Erklärung.
Post by Bernd Gruber
Und/oder noch einen Rat, Bilder wiederherzustellen?
1. File-System der Karte als /read-only/ einhängen. Sollte eigentlich
über die Datenträgerverwaltung oder wie auch immer das in deinem Linux
heißt gehen. Alternativ:
mount /Ordner/Der/SD-Karte -o remount,ro

2. Mit rsync alles, was noch lebt, irgendwo anders hin kopieren:
rsync -avhz --ignore-errors /Ordner/Der/SD-Karte Zielordner

3. Die Bilder in der Kopie einzeln prüfen. Grobe Sichtprüfung in der
Vorschau. Datenfehler geben üblicherweise stark verhackstückelte Bilder.


Marcel
Bernd Gruber
2018-01-11 20:20:43 UTC
Permalink
Hallo Marcel,
danke für die ausführliche Rückmeldung,
Post by Marcel Mueller
Ich würde wenn möglich vom Original kopieren. Im Image kann man nicht
mehr ohne weiteres erkennen, welche Dateien nun beschädigt waren und
welche nicht.
ja, aber das image erstellen (also klonen mit dd o.ä) wird überall als
erstes empfohlen, um das Original nicht weiter zu schädigen.
Post by Marcel Mueller
Post by Bernd Gruber
Weiss jemand, was da genau wohl defekt ist?
Ja, die Karte, was sonst!
ja, sicher, da habe ich mich nicht genau genug ausgedrückt, ist auch nur
interessehalber: Dateisystem/MBR/Partitionstabelle (was ich eher nicht
glaube), Controller, Speicherchip
Post by Marcel Mueller
rsync -avhz --ignore-errors /Ordner/Der/SD-Karte Zielordner
hatte ich noch nicht probiert, nachgeholt: wird alles kopiert, gibt aber
leider keine einzige Datei, die geöffnet werden kann, nur "Laden der
Metainformationen fehlgeschlagen"
Post by Marcel Mueller
3. Die Bilder in der Kopie einzeln prüfen. Grobe Sichtprüfung in der
Vorschau.
Vorschauen im Dateimanager sind teils noch zu sehen, sonst s.o.

Na ja, ist dann halt so,
Danke nochmal
Bernd
Marcel Mueller
2018-01-12 07:48:32 UTC
Permalink
Post by Bernd Gruber
Post by Marcel Mueller
Ich würde wenn möglich vom Original kopieren. Im Image kann man nicht
mehr ohne weiteres erkennen, welche Dateien nun beschädigt waren und
welche nicht.
ja, aber das image erstellen (also klonen mit dd o.ä) wird überall als
erstes empfohlen, um das Original nicht weiter zu schädigen.
Ja, wenn man Korrekturen einspielen will, ist das so.
Solange man nur liest und es vor allem keine normale Platte ist, die bei
Defekten Ewigkeiten braucht, ist das minder wichtig.

Man muss halt, wenn man ein Image von einem Datenträger anfertigt (also
bei irgnore errors) sich jeden einzelnen defekten Sektor merken, um
nachher zuordnen, zu welcher Datei er ggf. gehört. Andernfalls läuft man
Gefahr dass beispielsweise die vermeintlich gerettete Diplomarbeit
Lücken aufweist und vielleicht ab Seite 87 alles fehlt. Das merkt man
nach Murphy natürlich erst, wenn man das vorhandene, ältere Backup mit
der vermeintlich geretteten Version überspielt hat. Nicht alle
Dateiformate haben Prüfsummen, die eine Manipulation sofort erkennen.
Manchmal gibt es auch einfach inhaltliche Fehler bis hin zum
Programmabsturz, sobald man auf den beschädigten Teil zugreift.
Post by Bernd Gruber
Post by Marcel Mueller
Post by Bernd Gruber
Weiss jemand, was da genau wohl defekt ist?
Ja, die Karte, was sonst!
ja, sicher, da habe ich mich nicht genau genug ausgedrückt, ist auch nur
interessehalber: Dateisystem/MBR/Partitionstabelle (was ich eher nicht
glaube), Controller, Speicherchip
Macht das einen Unterschied?
Einzelne Blöcke sind nicht mehr lesbar. Warum, kann Dir egal sein, Du
könntest es ohnehin nicht ändern.
Post by Bernd Gruber
Post by Marcel Mueller
rsync -avhz --ignore-errors /Ordner/Der/SD-Karte Zielordner
hatte ich noch nicht probiert, nachgeholt: wird alles kopiert, gibt aber
leider keine einzige Datei, die geöffnet werden kann, nur "Laden der
Metainformationen fehlgeschlagen"
Diese Fehlermeldung sagt mir nichts. Die passt irgendwie nicht zu rsync.
Das ist eine Fehlermeldung der GUI, wenn sie die Dateien nicht versteht.

Du kannst mal mit less in einzelne Dateien rein schauen. Da müsste bei
Bildern eigentlich ein paar Sonderzeichen, dann "JFIF" gefolgt von
weiterem Zeichensalat mit Textfagmenten der EXIF-Informationen stehen.

Der Befehl files <dateiname> macht sich auch immer ganz gut.


Marcel
Bernd Gruber
2018-01-12 19:52:36 UTC
Permalink
Marcel Mueller wrote:
Hallo Marcel,
Post by Marcel Mueller
Macht das einen Unterschied?
Einzelne Blöcke sind nicht mehr lesbar. Warum, kann Dir egal sein, Du
könntest es ohnehin nicht ändern.
ja, klar ist nur akademisch, interessehalber.
Post by Marcel Mueller
"Laden der Metainformationen fehlgeschlagen"
Diese Fehlermeldung sagt mir nichts. Die passt irgendwie nicht zu rsync.
Das ist eine Fehlermeldung der GUI, wenn sie die Dateien nicht versteht.
sorry, so wars gemeint, rsync ohne Fehler, die Fehlermeldung der GUI beim
Öffnen der Datei
Post by Marcel Mueller
Du kannst mal mit less in einzelne Dateien rein schauen. Da müsste bei
Bildern eigentlich ein paar Sonderzeichen, dann "JFIF" gefolgt von
weiterem Zeichensalat mit Textfagmenten der EXIF-Informationen stehen.
Ah, nein, da steht ASMI-SD, mehrere ähnlich benannte Dateien sind auch auf
der Karte aufgetaucht. Eine Internet-Recherche hat erbracht, dass das wohl
der Kartenadapter ist.
Post by Marcel Mueller
Der Befehl files <dateiname> macht sich auch immer ganz gut.
file ergibt nur:
/mnt/DCIM/Camera/IMG_20161207_135614252.jpg: data
(im Gegensatz zu den noch lesbaren Dateien)

Ich habe jetzt mal ein bisschen experimentiert und von einer
funktionierenden Datei die ersten ca 1,4 kB an den Anfang einer defekten
Datei kopiert. Jetzt kann der Bildbetrachter das Bild öffnen, aber es
besteht fast nur aus rosa Streifen.
Ich werde mal weiterschauen.

Bernd
Bernd Gruber
2018-01-12 20:23:37 UTC
Permalink
Post by Bernd Gruber
Ich werde mal weiterschauen.
Einen "Block", der mit ASMI-SD baginnt habe ich auch am Ende einer
funktionierenden Datei gefunden (ca 15 kB).
Die defekte Datei besteht ausschließlich aus vielen identischen "Blöcken"
(jew. ca 8,5 kB groß, insgesamt ca 1-1,5 MB) die jeweils mit ASMI-CD
beginnen. Die für jpeg typischen Sequenzen z.B. FF D8 oder FF DA sind hier
gar nicht zu finden. Also sind die Bilder wohl überschrieben und wirklich
futsch(warum auch immer, vielleicht ist ja der Kartenadapter im Handy
kaputt, werde ich noch testen).

Bernd
Michael Limburg
2018-01-13 15:02:37 UTC
Permalink
Post by Bernd Gruber
Post by Bernd Gruber
Ich werde mal weiterschauen.
Einen "Block", der mit ASMI-SD baginnt habe ich auch am Ende einer
funktionierenden Datei gefunden (ca 15 kB).
Du arbeitest auf dem Image oder dem Original?
Post by Bernd Gruber
Die defekte Datei besteht ausschließlich aus vielen identischen "Blöcken"
(jew. ca 8,5 kB groß, insgesamt ca 1-1,5 MB) die jeweils mit ASMI-CD
Falls Du auf dem Original arbeitest, wird's eher schlimmer denn
besser werden. Aber eigentlich hast Du ja gewußt, das Arbeiten
auf dem Original Mist ist.
Post by Bernd Gruber
beginnen. Die für jpeg typischen Sequenzen z.B. FF D8 oder FF DA sind hier
gar nicht zu finden. Also sind die Bilder wohl überschrieben und wirklich
Das war auch nicht zu erwarten, sonst hätten die verwendeten Tools
ja was gefunden. Die machen ja erst mal nix anderes, als Header
von Dateien zu finden.
Post by Bernd Gruber
futsch(warum auch immer, vielleicht ist ja der Kartenadapter im Handy
kaputt, werde ich noch testen).
Unwahrscheinlich.

MfG
Michael Limburg
2018-01-13 14:56:52 UTC
Permalink
Bernd Gruber wrote:

Hallo,
Post by Bernd Gruber
/dev/sdc1 8192 8054783 8046592 3,9G b W95 FAT32
Ubd das ist so, 4GB?
Post by Bernd Gruber
Wenn ich ein Image erstelle (mit dd, ddrescue oder myrescue) erhalte ich nur
eine praktisch leere image-Datei, ohne sich aber über Fehler zu beschweren.
Das Imagefile ist tatsächlich leer? Wie wurde das getestet?
Wenn man im Filebrowser leere Ordner sieht, ist das nicht
aussagekräftig.
Post by Bernd Gruber
Und/oder noch einen Rat, Bilder wiederherzustellen?
Möglicherweise geht das, ist aber eben nicht trivial,
wenn die üblichen Tools versagen. Dann muß man's mehr
oder weniger zu Fuß machen.

MfG
Bernd Gruber
2018-01-13 23:11:57 UTC
Permalink
Hallo Michael
Post by Michael Limburg
Ubd das ist so, 4GB?
ja, stimmt
Post by Michael Limburg
Das Imagefile ist tatsächlich leer? Wie wurde das getestet?
Wenn man im Filebrowser leere Ordner sieht, ist das nicht
aussagekräftig.
auf der Konsole gemountet, zeigt ls -l:
ls -l /mnt
ls: Zugriff auf '/mnt/LOST.DIR' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Android' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/DCIM' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/fmrecording' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Musik' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Hoerbuecher' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/ss-ram-dumps' nicht möglich: Eingabe-/Ausgabefehler
insgesamt 0
d????????? ? ? ? ? ? Android
d????????? ? ? ? ? ? DCIM
d????????? ? ? ? ? ? fmrecording
d????????? ? ? ? ? ? Hoerbuecher
d????????? ? ? ? ? ? LOST.DIR
d????????? ? ? ? ? ? Musik
d????????? ? ? ? ? ? ss-ram-dumps
ich kann auch nicht in die Ordner wechseln

less zeigt (nur der Anfang, weiter gehts nur mit ^@)

EB><<90> ^@^***@T^X^B^@^@^@^@<F8>^@^@?^@<80>^@^@
^@^@^@<C8>z^@<D6>^C^@^@^@^@^@^@^B^@^@^@^A^@^F^@^@^@^@^@^@^@^@^@^@
^@^@^@<80>^A)<90>^VN<F8>NO NAME FAT32
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

Drum arbeite ich am Original, bisher scheint es nichts gemacht zu haben.
Post by Michael Limburg
Möglicherweise geht das, ist aber eben nicht trivial,
wenn die üblichen Tools versagen. Dann muß man's mehr
oder weniger zu Fuß machen.
Es ist auch nicht so schlimm, wenn sie weg sind. Aber es würde mich
interessieren, wie es gehen könnte. Ich bin kein Profi, aber wenn es nicht
allzu kompliziert ist, würde ich es probieren.

Ich habe da aber keine große Hoffnung, im Hex-Editor sehe ich, dass eine
Datei aus ca. 100-facher Wiederholung immer der selben Sequenz besteht, die
jeweils mit ..ASMI beginnt. In unterschiedlichen Dateien sieht das aber
unterschiedlich aus.

Grüße
Bernd
Marcel Mueller
2018-01-14 08:00:18 UTC
Permalink
Post by Bernd Gruber
Post by Michael Limburg
Das Imagefile ist tatsächlich leer? Wie wurde das getestet?
Wenn man im Filebrowser leere Ordner sieht, ist das nicht
aussagekräftig.
ls -l /mnt
ls: Zugriff auf '/mnt/LOST.DIR' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Android' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/DCIM' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/fmrecording' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Musik' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/Hoerbuecher' nicht möglich: Eingabe-/Ausgabefehler
ls: Zugriff auf '/mnt/ss-ram-dumps' nicht möglich: Eingabe-/Ausgabefehler
Das bedeutet, dass bereits die Verzeichnisse nicht mehr lesbar sind.
Technisch gesehen sind das auch (kleine) Dateien.

Jetzt kommt es auf's Dateisystem an. Bei FAT32 - vermute ich mal - sind
damit schon mal ziemlich sicher alle Dateinamen futsch. Jetzt könnte man
in den belegten Blöcken natürlich noch nach Dateifragmenten suchen. Die
Liste der belegten Blöcke und deren Verkettung hast Du aber mit fsck
gelöscht - leider verloren.
Bleibt also noch die Suche nach gelöschten Dateifragmenten. Das ist ein
noch wesentlich aufwändigeres Unterfangen. Man muss praktisch alle
möglichen binären Datenblöcke darauf prüfen, ob zufällig irgendetwas
sinnvolles heraus kommt, wenn man sie hinter einander hängt. Da gibt es
heuristische Verfahren, aber das ist jetzt absolute Profiklasse.
Der Startblock der Partition ist erst mal plausibel.
Post by Bernd Gruber
Drum arbeite ich am Original, bisher scheint es nichts gemacht zu haben.
Bei fsck wäre ich mir da nicht so sicher. Es löscht alle Dateien deren
Verzeichniseintrag gerade nicht lesbar ist.
Post by Bernd Gruber
Es ist auch nicht so schlimm, wenn sie weg sind. Aber es würde mich
interessieren, wie es gehen könnte. Ich bin kein Profi, aber wenn es nicht
allzu kompliziert ist, würde ich es probieren.
Also, einen Datenretter zu beauftragen ist jetzt nicht allzu
kompliziert. Die haben Software, die obige Prozeduren teilweise
automatisiert durchspielt sowie die Experten, die selbige auch bedienen
können.

Wenn Du unbedingt mal auf eigene Faust loslegen willst, empfehle ich
DFSee incl. der eingehenden Lektüre der beiliegenden Textdateien. Das
dürfte wohl mit das mächtigste, noch für den zeitlich begrenzten
Heimeinsatz kostenlos verfügbare Werkzeug sein. Die Heuristiken kann das
aber AFAIK auch nicht.
Post by Bernd Gruber
Ich habe da aber keine große Hoffnung, im Hex-Editor sehe ich, dass eine
Datei aus ca. 100-facher Wiederholung immer der selben Sequenz besteht, die
jeweils mit ..ASMI beginnt.
Das dürften nicht lesbare Blöcke sein. Da beim Lesen nichts gekommen
ist, zeigt er vermutlich einfach den Speicherinhalt an, der vorher da
zufällig gestanden hat.

So wie Du es beschreibst vermute ich dass die internen
Verwaltungsstrukturen der Karte beschädigt sind. Da ist nämlich auch so
etwas wie ein Dateisystem drauf. Einmal im falschen Moment beim
Schreiben die Karte abziehen, und das war's.
Da kommt man aber über das USB MSD Interface nicht ran. Dazu muss man
entweder die Chips auslöten oder interne Kommandos des Controller-Chips
kennen, die das können, oder eine modifizierte Firmware in den
Controller laden, die es kann. Wieder ein Job für die Profis vom
Datenretter.


Marcel
Bernd Gruber
2018-01-14 12:56:44 UTC
Permalink
Post by Marcel Mueller
Der Startblock der Partition ist erst mal plausibel.
ja, in der Tat, mittels cat SD-Karte.img huscht auch noch was anderes am
Bildschirm vorbei

Aber: Das betrifft das _Image_, das Original ist nach wie vor problemlos zu
mounten, die Ordnerstruktur vorhanden und einige Dateien intakt, nur die
meisten Bilddateien wie beschrieben defekt.

Das ist ja auch was, was ich nicht verstehe, warum das (mit verschiedenen
Programmen) erstellte Image offensichtlich nicht dem Original entspricht.
Das Image kann ich zwar auch mounten, aber sehe dann "nix".
Post by Marcel Mueller
Also, einen Datenretter zu beauftragen ist jetzt nicht allzu
kompliziert.
ja, aber das ist es in diesem Fall nicht wert.
Post by Marcel Mueller
Wenn Du unbedingt mal auf eigene Faust loslegen willst, empfehle ich
DFSee incl. der eingehenden Lektüre der beiliegenden Textdateien. Das
dürfte wohl mit das mächtigste, noch für den zeitlich begrenzten
Heimeinsatz kostenlos verfügbare Werkzeug sein.
Das werde ich mir mal anschauen und ausprobieren.
Post by Marcel Mueller
Das dürften nicht lesbare Blöcke sein. Da beim Lesen nichts gekommen
ist, zeigt er vermutlich einfach den Speicherinhalt an, der vorher da
zufällig gestanden hat.
So wie Du es beschreibst vermute ich dass die internen
Verwaltungsstrukturen der Karte beschädigt sind. Da ist nämlich auch so
etwas wie ein Dateisystem drauf. Einmal im falschen Moment beim
Schreiben die Karte abziehen, und das war's.
Da kommt man aber über das USB MSD Interface nicht ran. Dazu muss man
entweder die Chips auslöten oder interne Kommandos des Controller-Chips
kennen, die das können, oder eine modifizierte Firmware in den
Controller laden, die es kann.
Ah, das verstehe ich, kann ich mir gut vorstellen.
Karte wurde zwar nicht rausgezogen, aber vielleicht Wackelkontakt, Handy
runtergefallen oder sowas. D.h. letztendlich müsste ich doch da bei der
Hardware nochmal nach der Ursache schauen, nicht dass es bei der nächsten
Karte wieder passiert (na ja, und die Backups natürlich machen).

Bernd

Lesen Sie weiter auf narkive:
Loading...