Jak odzyskać dane ze złej karty SD?


23

Mam kartę SD o pojemności 4 GB z kilkoma zdjęciami rodzinnymi, które muszę odzyskać. Po włożeniu karty do czytnika kart pojawia się jako nieznane urządzenie o pojemności 32 MB (as /dev/sde) i nie można go zamontować. Podczas wkładania z powrotem do aparatu (Nikon D60) mówi, że karty muszą zostać sformatowane (podobnie jak włożenie go do komputera z systemem Windows). Chcę odzyskać wszystkie zdjęcia z karty (przed zdjęciami rodzinnymi były jeszcze inne), ponieważ nie wiem, ile ich wziąłem ani ich dokładnych rozmiarów (ale uważam, że wszystkie były plikami JPEG). Karta powinna być sformatowana jako system plików FAT32.

Jakie narzędzia Linux lub Unix są dostępne do odzyskiwania plików? Czy mogę to zrobić sam, czy potrzebuję profesjonalnej pomocy?

Edycja: Wygląda na to, że mój czytnik kart w jakiś sposób uszkodził kartę, przez co jest ona nieczytelna i niemożliwa do sformatowania. Kiedy sprawdziłem inną kartę, która była dokładnie taka sama (nie zapisuj plików), „zrujnowała” drugą. Chciałbym ponownie użyć drugiej karty, więc czy istnieje narzędzie do formatowania uszkodzonej karty, która nie wie (lub nie może prawidłowo zgłosić), jak duża jest?

Odpowiedzi:


29

Po pierwsze, z twojego doświadczenia z drugą kartą wydaje się, że twój czytnik jest uszkodzony i teraz uszkadza włożone do niego karty. Natychmiast przestań korzystać z tego czytnika i spróbuj odzyskać kartę za pomocą innego czytnika. Jeśli Twoje dane są w ogóle cenne, postaraj się zdobyć markowy czytnik o lepszej jakości niż ten o najniższej cenie.

Jeśli karta jest tylko częściowo nieczytelna i nie do końca nieczytelna, najpierw spróbuj skopiować to, co możesz z karty do pliku obrazu. Nie używaj dddo tego, ponieważ przestanie czytać przy pierwszym błędzie. Użyj narzędzi takich jak dd_rescuelub ddrescue. Oba narzędzia próbują pobrać jak najwięcej danych z dysku. Przykładowe użycie ( /dev/sdcjest to urządzenie odpowiadające karcie; jeśli nie wiesz, która to karta, uruchom cat /proc/partitionsi wybierz tę, która wydaje się mieć odpowiedni rozmiar):

ddrescue -dr3 /dev/sdc card.image logfile

Ponieważ wygląda na to, że struktura systemu plików jest uszkodzona (systemy operacyjne oferują formatowanie dysku, ponieważ nie widzą w nim prawidłowego systemu plików), musisz spróbować odzyskać pliki indywidualnie. Na szczęście pliki obrazów zaczynają się od rozpoznawalnego nagłówka i istnieje wiele istniejących narzędzi do rzeźbienia, które rozpoznają obrazy: Foremost , MagicRescue , PhotoRec (od twórców TestDisk ), RecoverJPEG ,…

Większość tych narzędzi jest dostępna w typowych dystrybucjach uniksowych. Ale jeśli wolisz, możesz uruchomić specjalną dystrybucję lub inną płytę CD na żywo, w tym narzędzia do odzyskiwania, takie jak SysRescueCD , Knoppix , CAINE


Myślę, że większość moich problemów wynika z rozpoznania kart tylko 32 MB, kiedy powinny mieć 4 GB. Nie jestem w stanie powiedzieć, czym są cylindry, głowice i sektory niskiego poziomu.

2
@Tyler: Jeśli twoja karta nie rozpoznaje odpowiedniego rozmiaru przez sprzęt, natychmiast wymień czytnik. Jeśli próbujesz skopiować obraz, a kopiowanie zostało zatrzymane z powodu błędów po 32 MB, spróbuj ponownie za pomocą narzędzia takiego jak ddrescue. Nie musisz nic wiedzieć o cylindrach / głowicach / sektorach.
Gilles „SO- przestań być zły”

Co robi opcja -dr3? Próbuję odzyskać dane z karty SD, ale nie można zamontować dawek. Otrzymuję następujące informacje: Niepoprawny błąd odczytu. Czy rozmiar sektora jest prawidłowy?
user3236841

Ze stron podręcznika -dr3opcja ta oznacza -d, co oznacza „użyj bezpośredniego dostępu do dysku”, pomijając wszelkie pamięci podręczne jądra zawartości dysku, i -r3co oznacza ponawianie próby odczytu 3 razy, jeśli wystąpi błąd w uszkodzonym sektorze.
Sean



6

Nie opisałeś szczegółowo, w jaki sposób dane zostały utracone. Jeśli jest to logiczne usunięcie, a urządzenie nie widziało dużo pisania, szanse na odzyskanie danych są spore: oczywistą radą jest skorzystanie z TestDisk i Photorec . Oczywiście, tradycyjna rekomendacja: zabezpiecz oryginalne urządzenie przed zapisem, w każdym razie narażaj je na jak najmniejszą interakcję. Najlepsze jest ddto , że obsługuje on inne wsparcie, odłącz go i pracuj nad plikiem obrazu. Z drugiej strony, jeśli „zły” w tym temacie oznacza fizyczne zniszczenie, sytuacja staje się trudniejsza, ale powinieneś spróbować mimo wszystko, ponieważ zwykle niewielka część bloków staje się nieczytelna. Zwłaszcza na SD, które mają reputację bardzo wysokiej wytrzymałości.


Nie jestem pewien jak , ale karta nie wydaje się fizycznie uszkodzona. I nie znam się dobrze na dd, więc jak mogę odzyskać obraz karty? Co konkretnie powinienem zrobić z obrazem?

Spróbuj znaleźć niezawodny sposób na podłączenie SD do komputera. Załóżmy, że zarządzasz, a surowe urządzenie jest mapowane na urządzenie blokowe / dev / sda (użyj dmesg, aby poznać jego nazwę). Następnie zrób, dd if=/dev/sda of=/mnt/hda1/image.dd bs=1Mgdzie / mnt / hda1 jest punktem montowania innego wystarczająco dużego wsparcia. Następnie odłącz sd, zrób kopię image.dd i pracuj na tym drugim, abyś nie musiał ponownie instalować SD. Zobacz przewodnik krok po kroku TestDisk na stronie głównej. Mam nadzieję, że z tego, co mówisz, brzmi to tak, jakbyś musiał przywrócić tablicę partycji / mbr. Powodzenia.
user495100

1
@Tyler: Nie używaj dd, ponieważ zatrzymuje się przy pierwszym błędzie. Użyj czegoś takiego ddrescue.
Gilles „SO - przestań być zły”,

2

Użyłem photorec, który jest w pakiecie testdisk. Udało mi się odzyskać zdjęcia z dysku Sandisk, który został uszkodzony przez mój telefon.


1
Czy potrafisz przynajmniej podać linki i dokumentację, aby trochę udzielić odpowiedzi?
HalosGhost

PhotoRec pracował dla mnie. Moja karta SD straciła system plików fat32 i nie instalowała się. PhotoRec pomógł mi odzyskać większość.
Chetan Bhargava
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.