Pogawędka o przywracaniu utraconych danych

Tematem dywagacji jest nie tyle samo przywracanie a program, który skutecznie to uczyni.
W niedzielę po podłączeniu karty SD z aparatu Nikon D3500 do PC z windows 7, niczego nie spodziewając się przeglądałem zdjęcia (niestety nie zrzuciłem na PC). Po przeklickaniu kilkudziesięciu zdjęć nagły komunikat “przed użyciem dysku musisz go sformatować”, pierwsza myśl jaka przeszła mi przez głowę, uszkodzona karta… Więc zabrałem ją na pokład linuxa, tu komunikat iż jest problem z odczytem/zapisem. Mówię: dobra to odzyskujemy dane. W ruch poszedł testdisk oraz photorec - dawno nie używałem. Testdisk przywrócił mi partycję FAT32 ale wykrył zaledwie 126 zdjęć, czyli 1/4 tego co powinno się znajdować, lecz photorec znalazł około 300 zdjęć, z czego każde zduplikowane miniaturką (dla aparatu w podglądzie), próbowałem powtórzyć proces 3 krotnie mając nadzieję że jednak odzyskam wszystkie - z marnym skutkiem.
Po połowie dnia przypomniałem sobie o magicznym programie foremost, który odnalazł wszystkie zdjęcia zaginione + zdjęcia po ostatnim formacie.
Teraz moje pytanie, czy znacie jakiś dobry program do zbadania badsektorów na kartach sd, być może nie jest to wina zepsutego flash’a, a prędkości odczytu i zapisy karty, co powoduje takie “krzaczki”.

Nie mam doświadczeń z odzyskiwaniem danych z kart pamięci (na szczęście, to nieszczęście omija mnie). Odzywam się, aby dla porządku zaznaczyć, że foremost jest również w repo Manjaro (community).

Skoro jest w repo Arch Linux, to siłą rzeczy jest w repo Manjaro.

@Piaskun, zakładasz (śmiem twierdzić, że niesłusznie), że jest to oczywiste i wszyscy o tym wiedzą.

Jeśli ktoś wie czego używa, to raczej ma taką świadomość. Oczywiście istnieją i tacy, którzy myślą, że to Arch bazuje na Manjaro.

To uspokoję, znalazłem dość ciekawy i dobry program badblocks, może posłużyć również do sprawdzenia dysku, jednakże trwa to bardzo długo, dlatego zaleca się pozostawienie na noc :slight_smile: Samą kartę SD 7gb mieliło 3,5h :slight_smile:

badblocks, to część pakietu e2fsprogs z repo core.


@Piaskun, daj spokój, nie zaśmiecaj wątku. Forum jest dla tych, którzy posiadają wiedzę i chcą się nią podzielić (a nie odwalać szamaństwo) i dla tych, którzy jej nie posiadają, ale jej pożądają.

Dokładnie @azja , przydatnymi parametrami są:
-w - wykonanie testu destrukcyjnego
-v - od verbosity (gadatliwość)
-s - pokazuje progres
Dobrze jest również przerzucić standardowe wyjście do pliku:
badblocks -wsv /dev/dysk > badsectors.txt
gdy znajdą się jakieś błędy, skorzystanie z owego e2fsprogs do zaraportowania systemowi by nie zapisywał w uszkodzonych sektorach.
sudo e2fsck -l badsectors.txt /dev/dysk
Gdzie opcja -l mówi aby dodać numery bloków wymienionych w pliku określonym przez filename (badsectors.txt) do listy uszkodzonych bloków.

  • Dla tych co czytają szybciej ode mnie, drobna uwaga, na wszelki wypadek:
    opcja -w wykonuje test destrukcyjny, a więc warto zrobić wcześniej backup danych (chyba, że ktoś lubi mocną jazdę). Jeżeli chcecie wykonać test niedestrukcyjny, to nie dajecie w ogóle opcji -w albo zastępujecie ją -n. Czym się różnią - nie mam pojęcia (poza możliwością uszkodzenia, lub nie, danych).

  • Przekierowanie do pliku możemy również zrealizować za pomocą:
    -o <nazwa_pliku>
    Wtedy zapewne program będzie pisał na ekran i do pliku jednocześnie (tak sądzę).

  • Partycję do sprawdzenia należy wcześniej odmontować.


EDIT-20190709-2103 … ważna uwaga z man’a:
Ważna uwaga: Jeżeli wyjście badblocks ma być przekierowane do programu e2fsck lub mke2fs, to ważnym jest, aby został prawidłowo określony rozmiar bloku, gdyż generowane numery bloków mocno zależą od użytego rozmiaru bloku. Z tego powodu zdecydowanie zalecane jest, aby użytkownicy nie uruchamiali badblocks bezpośrednio, a raczej posługiwali się opcją -c programów e2fsck i mke2fs.

Z tego co doczytałem opcja destrukcyjna(-w) przechodzi sektor po sektorze wprowadzając modyfikację testową (weryfikację), co może spowodować (jak wspomniałeś) utratę danych, zaś niedestrukcyjna(-n), po prostu jest sprawdzana bez testów modyfikacyjnych. Tutaj muszę przyznać że nie znam się aż tak bardzo na pamięciach, by wiedzieć jakiego rodzaju miałby być to testy.
Co do opcji “-o”, jest tym samym co przekierowanie wyjścia do pliku (">"), z tą różnicą że jest pewniejsza (utrudnia modyfikację przekierowań, tzn. by nie trafiły do pliku zbędne rzeczy).


W sumie to zaciekawił mnie temat odzyskiwania danych i sprawdzania uszkodzonej pamięci :slight_smile:

Ból własnej d… dość skutecznie motywuje do rozważań nad kruchością istnienia, ha ha :wink: