Wie kann ich Daten von einer fehlerhaften SD-Karte wiederherstellen?

23

Ich habe eine 4 GB SD-Karte mit einigen Familienbildern, die ich wiederherstellen muss. Wenn ich die Karte in meinen Kartenleser einsetze, wird sie als unbekanntes 32-MB-Gerät (as /dev/sde) angezeigt und kann nicht gemountet werden. Beim Wiedereinsetzen in die Kamera (eine Nikon D60) müssen die Karten formatiert werden (ebenso wie beim Einsetzen in einen Windows-Computer). Ich möchte alle Bilder auf der Karte wiederherstellen (es gab andere vor den Familienbildern), weil ich nicht weiß, wie viele ich aufgenommen habe oder wie groß sie genau sind (aber ich glaube, sie waren alle JPEGs). Die Karte sollte als FAT32-Dateisystem formatiert sein.

Welche Linux- oder Unix-Dienstprogramme stehen zur Wiederherstellung der Dateien zur Verfügung? Kann ich das selbst machen oder brauche ich professionelle Hilfe?

Bearbeiten: Es scheint, dass mein Kartenleser die Karte in irgendeiner Weise beschädigt hat, wodurch sie unlesbar und unformatierbar geworden ist. Als ich eine andere Karte überprüfte, die genau dieselbe war (außer für keine Dateien), "ruinierte" sie die zweite. Ich möchte die zweite Karte erneut verwenden. Gibt es also ein Tool zum Formatieren einer beschädigten Karte, die nicht weiß (oder nicht richtig berichten kann), wie groß sie ist?

n0pe
quelle

Antworten:

29

Aufgrund Ihrer Erfahrung mit der zweiten Karte scheint Ihr Lesegerät beschädigt zu sein und beschädigt nun die Karten, die Sie in das Lesegerät einlegen. Stellen Sie die Verwendung dieses Lesegeräts sofort ein und versuchen Sie, die Karte mit einem anderen Lesegerät wiederherzustellen. Wenn Ihre Daten überhaupt wertvoll sind, sollten Sie versuchen, einen Markenleser mit besserer Qualität als einen Niedrigpreisleser zu erhalten.

Wenn die Karte nur teilweise unlesbar und nicht vollständig unlesbar ist, versuchen Sie zunächst, so viel wie möglich von der Karte in eine Bilddatei zu kopieren. Verwenden Sie dddies nicht, da es beim ersten Fehler aufhört zu lesen. Verwenden Sie Werkzeuge wie dd_rescueoder ddrescue. Beide Tools versuchen, so viele Daten wie möglich von der Festplatte abzurufen. Anwendungsbeispiel ( /dev/sdcdas Gerät, das der Karte entspricht; wenn Sie nicht wissen, um welches es sich handelt, führen Sie das Gerät aus, das cat /proc/partitionsdie richtige Größe zu haben scheint):

ddrescue -dr3 /dev/sdc card.image logfile

Da die Dateisystemstruktur anscheinend beschädigt ist (Ihr Betriebssystem bietet an, das Laufwerk zu formatieren, da es kein gültiges Dateisystem enthält), müssen Sie versuchen, die Dateien einzeln wiederherzustellen. Glücklicherweise beginnen Bilddateien mit einem erkennbaren Header, und es gibt viele vorhandene Schnitzwerkzeuge , die Bilder erkennen: Foremost , MagicRescue , PhotoRec (von den Herstellern von TestDisk ), RecoverJPEG , ...

Die meisten dieser Tools sind in typischen Unix-Distributionen verfügbar. Wenn Sie es vorziehen, können Sie eine spezielle Distribution oder eine andere Live-CD mit Wiederherstellungstools wie SysRescueCD , Knoppix , CAINEausführen .

Gilles 'SO - hör auf böse zu sein'
quelle
Ich denke, die meisten meiner Probleme rühren daher, dass die Karten nur 32 MB groß sind, wenn sie 4 GB groß sein sollten. Und ich kann nicht sagen, was die Zylinder, Köpfe und Sektoren mit niedrigem Füllstand sind.
2
@ Tyler: Wenn Ihre Karte von der Hardware nicht in der richtigen Größe erkannt wird, tauschen Sie den Reader sofort aus. Wenn Sie versucht haben, das Bild zu kopieren, und der Kopiervorgang aufgrund von Fehlern nach 32 MB abgebrochen wurde, versuchen Sie es erneut mit einem Tool wie ddrescue. Sie müssen nichts über Zylinder / Köpfe / Sektoren wissen.
Gilles 'SO- hör auf böse zu sein'
Was macht die Option -dr3? Ich versuche, von einer SD-Karte wiederherzustellen, aber die Dosen nicht montieren. Ich erhalte Folgendes: Nicht ausgerichteter Lesefehler. Ist die Sektorgröße korrekt?
User3236841
Auf den Manpages-dr3 steht die Option für -d"Use Direct Disc Access" (Direkten Disc-Zugriff verwenden), das Umgehen aller Kernel-Caches des Disc-Inhalts und -r3das dreimalige Wiederholen des Leseversuchs, wenn bei einem fehlerhaften Sektor ein Fehler auftritt.
Sean vor
9

PhotoRec von http://www.cgsecurity.org/ - kostenlos, Open Source, einfach zu bedienen. Habe gerade eine Menge Familienfotos und -videos von einer beschädigten SD-Karte wiederhergestellt. Einfach in einen Ordner entpacken, die Datei ausführen und auf das Laufwerk zeigen.

user36649
quelle
8

Ich würde TestDisk empfehlen . Ich habe es erfolgreich verwendet, um Dateien von beschädigten Festplatten wiederherzustellen. Normalerweise verwende ich eine Distribution wie TRK oder SystemRescueCd .

agn
quelle
6

Sie haben nicht genau beschrieben, wie Daten verloren gingen. Wenn es sich um eine logische Löschung handelt und auf dem Gerät nicht viel geschrieben wurde, stehen die Chancen gut, Daten wiederherzustellen: Der offensichtliche Rat ist, TestDisk & Photorec zu wählen . Natürlich ist die traditionelle Empfehlung: Schreibschutz für das Originalgerät, setzen Sie es sowieso einer möglichst geringen Interaktion aus. Das Beste ist, ddes auf einem anderen Support, trennen Sie es und arbeiten Sie an der Image-Datei. Wenn andererseits "schlecht" in dem Thema bedeutet, dass es physisch ruiniert ist, werden die Dinge schwieriger, aber Sie sollten es trotzdem versuchen, da normalerweise ein kleiner Teil der Blöcke unlesbar wird. Besonders auf SD, die einen Ruf von sehr hoher Ausdauer haben.

user495100
quelle
Ich bin mir nicht sicher, wie , aber die Karte scheint physisch nicht beschädigt zu sein. Und ich bin nicht sehr vertraut mit dd. Wie kann ich das Image der Karte wiederherstellen? Was genau müsste ich mit dem Bild machen?
Versuchen Sie, einen zuverlässigen Weg zu finden, um den SD an einen PC anzuschließen. Angenommen, Sie verwalten das Raw-Gerät und ordnen es dem Block-Gerät / dev / sda zu (verwenden Sie dmesg, um seinen Namen zu kennen). Dann machen Sie, dd if=/dev/sda of=/mnt/hda1/image.dd bs=1Mwo / mnt / hda1 der Mountpunkt einer anderen Unterstützung ist, die groß genug ist. Trennen Sie dann die SD-Karte vom Computer, erstellen Sie eine Kopie der Datei image.dd und bearbeiten Sie diese, damit Sie die SD-Karte nicht erneut einstecken müssen. Siehe die schrittweise Anleitung zu TestDisk auf der Homepage. Hoffentlich klingt es so, als müssten Sie nur die Partitionstabelle / mbr wiederherstellen. Viel Glück.
user495100
1
@ Tyler: Nicht verwenden dd, da es beim ersten Fehler stoppt. Verwenden Sie so etwas wie ddrescue.
Gilles 'SO- hör auf böse zu sein'
2

Ich habe Photorec verwendet, das im Paket testdisk enthalten ist. Es hat gut funktioniert, wenn ich Fotos von einer Sandisk-Mikrodatei wiederhergestellt habe, die von meinem Telefon beschädigt wurde.

Samue
quelle
1
Können Sie zumindest Links und Dokumentationen bereitstellen, um Ihre Antwort ein wenig zu präzisieren?
HalosGhost
PhotoRec hat für mich gearbeitet. Meine SD-Karte hat das fat32-Dateisystem verloren und wurde nicht geladen. PhotoRec hat mir geholfen, das meiste davon wiederherzustellen.
Chetan Bhargava