-15% na nową książkę sekuraka: Wprowadzenie do bezpieczeństwa IT. Przy zamówieniu podaj kod: 10000

Odzyskiwanie skasowanych danych

22 marca 2013, 10:29 | Narzędzia, Teksty | komentarzy 17

 

Z tekstu dowiesz się

  • O prostych metodach odzyskania skasowanych plików (np. w wyniku sformatowania pendrive’a czy przypadkowego usunięcia pliku z dysku).
  • Jakie bezpłatne narzędzia można wykorzystać do takiej pracy zarówno w systemach Windows, jak i Linux.

 

Wstęp

Zasadniczymi programami przedstawionymi w tekście są: Recuva oraz Photorec. Różnią się one między sobą skutecznością, więc w pewnych sytuacjach optymalnie jest skorzystać z obu. Użycie oprogramowania Recuva jest bardzo proste i od niego proponujemy zacząć.

Przed rozpoczęciem odzyskiwania skasowanych danych trzeba pamiętać, że każdy zapis na nośnik (dysk), z którego chcemy odzyskać dane, zmniejsza szansę na odzyskanie maksymalnej liczby plików. Dlaczego? Otóż nowo  zapisywane pliki mogą nadpisać to miejsce na dysku, w którym znajdują się „usunięte” dane. Dlatego warto zachować pewną ostrożność:

  • Jeśli odzyskujemy dane z dysku na którym pracujemy, nie instalujemy na nim dodatkowego oprogramowania ani nie wykorzystujemy go dalej do pracy. Najlepiej dysk wyjąć z komputera oraz podłączyć go jako dodatkowy do innego PC, z którego będziemy korzystać, odzyskując dane. W takim przypadku można skorzystać z adaptera USB – ATA/SATA, który umożliwi podłączenie dysku do komputera, na którym odzyskujemy pliki, za pomocą kabla USB – czyli bez rozkręcania komputera (cena adaptera ok. 40 zł).
  • Odzyskanych danych nie zapisujemy na tym samym nośniku (dysku). Można je zapisać na innym dysku / innym pendrive.
  • Opcja dla zaawansowanych – optymalnie pracujemy tylko na kopii nośnika, z którego odzyskujemy dane (patrz koniec artykułu).
  • Te same zasady dotyczą nośników przenośnych – pendrive’ów / kart pamięci – nie korzystamy z nich do czasu odzyskania utraconych danych.

 

Recuva

Darmowym i prostym w obsłudze oprogramowaniem umożliwiającym lokalizację skasowanych plików jest Recuva. Program ten jest dostępny tylko dla systemów Windows, osoby pracujące w systemach Linux mogą od razu przejść do kolejnego podrozdziału opisującego oprogramowanie Testdisk / Photorec.

1. Skanowanie dysku

Po instalacji oraz uruchomieniu oprogramowania Recuva w górnym menu wybieramy odpowiedni dysk (czyli ten, z którego chcemy odzyskać usunięte dane) oraz naciskamy przycisk „skanuj”. Po chwili możemy już w drzewie po lewej zaznaczyć pliki do odzyskania. Następnie korzystamy z przycisku „odzyskaj” – prawy dolny róg, co spowoduje zapisanie plików w wybranej przez nas lokalizacji (przypominamy o zapisaniu odzyskanych danych na innym dysku / nośniku).

recuva2

Warto również zaznaczyć pewne możliwości konfiguracyjne Recuva – przycisk „Opcje” (prawy górny róg interface’u):

  • „Deep Scan” (dokładniejsze, ale dłuższe skanowanie badanego nośnika),
  • „Scan for non-deletes files” (użyteczne w przypadku odzyskiwania plików z uszkodzonego systemu plików),
  • „Restore folder structure” (odzyskanie struktury katalogów, przydatne w przypadku odzyskiwania plików z uszkodzonego systemu plików).

2. Praca z Recuva, gdy posiadamy posektorową kopię nośnika

Recuva nie oferuje opcji pracy na obrazie dysku (jak wykonać obraz posektorowy nośnika – patrz rozdział: kopia posektorowa). Możemy jednak skorzystać  z innego oprogramowania, które udostępni wcześniej wykonany obraz jako dysk w systemie Windows. Przykładem aplikacji, które umożliwiają taką funkcjonalność, są np.:

Na zrzucie ekranowym poniżej przedstawiamy użycie OSFMount:

osfmount_f

Zauważmy, że oprogramowanie to umożliwia podłączenie obrazu w trybie read-only. Od tego momentu obraz dostępny będzie jako dysk G. Dalsze kroki są analogiczne jak przy pracy bezpośrednio na nośniku.

 

Testdisk

Innym darmowym oprogramowaniem umożliwiającym odczyt usuniętych plików z dysku jest pakiet TestdiskPhotorec. Pierwszy z nich służy do odzyskiwania danych utraconych w wyniku pewnych awarii nośnika (np. kiedy dysk nie jest w normalny sposób widoczny w systemie operacyjnym), choć posiada również funkcjonalność „undelete”. Photorec z kolei skanuje dane na nośniku w poszukiwaniu sygnatur plików (ciągów bajtów charakterystycznych dla konkretnych typów plików).

Oba programy o obsługują znaczną liczbę systemów plików: FAT, NTFS, EXT2/3/4,ReiserFS itd.

Zobaczmy najpierw jak działa Testdisk – a dokładniej – jego funkcjonalność „undelete”.

Uruchamiamy bez parametrów:

C:\> testdisk_win.exe

Następnie:

  • Create (utwórz nowy plik logów działania Testdisk; logi tworzone są w celach diagnostycznych, najprawdopodobniej nie będą nam potrzebne).

testdisk_u0

  • Wybieramy nośnik, z którego chcemy odzyskać dane:

testdisk_u1

  • Wybieramy tryb partycjonowania nośnika. Najpopularniejsze opcje: Intel/PC partiton (odzyskiwanie z dysku) lub None (np. odzyskiwanie z pendrive).

testdisk_u2

  • Wybieramy opcję -> Advanced, a następnie wybieramy system plików oraz zaznaczamy opcję „Undelete”.

testdisk_u3

  • Pozostaje już tylko wybrać pliki do odzyskania i wskazać katalog, w którym powinny być odtworzone.

testdisk_u4

 

Photorec

Photorec, mimo że w nazwie zawiera słowo „photo” sugerujące odzyskiwanie jedynie formatów graficznych, umożliwia odzyskanie również innych plików (niemal 400 różnych rozszerzeń). Przede wszystkim program ten działa w trybie poszukiwania pewnych charakterystycznych wzorców plików – w obszarze całego nośnika lub w obszarze oficjalnie niezajętym przez inne pliki – w takich miejscach mogą znajdować się wcześniej usunięte dane.

Taki sposób poszukiwania utraconych plików skutkuje zazwyczaj większą skutecznością niż opisane wcześniej mechanizmy w programie Testdisk, natomiast trwają one zdecydowanie dłużej.

W przypadku próby odzyskania danych bezpośrednio z nośnika po prostu uruchamiamy oprogramowanie bez parametrów, w kolejnym kroku zostaniemy poproszeni o wybór dysku, z którego chcemy odzyskać dane.

Całość pracy – podobnie jak w programie Testdisk – odbywa się w interfejsie tekstowym, a krok po kroku jesteśmy proszeni o wybór spośród opcji (z jakiej partycji odzyskać dane, gdzie je zapisać itp.). W każdym momencie mamy wyświetlaną pomoc (opis skrótów klawiaturowych realizujących konkretne zadania).

Photorec w działaniu:

revuva3

Część odzyskanych plików:

revuva4

 

Skuteczność przedstawianych narzędzi

Poniżej przedstawiamy pewne podsumowanie skuteczności Recuva vs Photorec na wybranym przypadku. Podczas testów wykorzystano 4GB pendrive, na którym:

  • zapisano kilka plików (pdf, ppt, doc, txt, …),
  • utworzono bootowalny obraz Linuxa (z wykorzystaniem UNetbootin),
  • sformatowano pendrive’a (szybkie formatowanie, stworzenie NTFS),
  • wgrano kilka plików,
  • usunięto jeden z nich.

Na takiej testowej próbce bardziej skuteczny był duet Testdisk / Photorec – para ta była w stanie np. odtworzyć kilka plików tekstowych (z pierwszego punktu powyżej), których „nie widział” Recuva.

Jednocześnie warto zaznaczyć, że oprogramowanie Recuva było o wiele prostsze w obsłudze.

 

Kopia posektorowa [użytkownicy zaawansowani]

Na początku tekstu wspominaliśmy o dobrej praktyce, mówiącej o niezapisywaniu jakichkolwiek danych na nośniku, z którego chcemy odzyskać dane. Jedną z lepszych metod uwzględniającą tę  zasadę jest realizacja niskopoziomowej kopii nośnika oraz prowadzenie dalszej pracy jedynie na kopii.

Główną zaletą pracy na obrazie jest fakt, że możemy na nim działać dowolnie nie martwiąc się, że przypadkiem usuniemy ważne dane.

Aby wykonać niskopoziomowy obraz nośnika, możemy użyć programu o nazwie dd dostępnego w systemach Windows oraz Linux. W systemie Linux polecenie dd znajduje się w pakiecie GNU core utilities i powinno być domyślnie dostępne w większości dystrybucji.

Z kolei wersję dla systemu Windows można pobrać np. tutaj.

Załóżmy, że chcemy odzyskać wykasowane dane z pendrive’a. W pierwszym kroku użyjemy dd do wykonania obrazu pendrive’a dostępnego jako dysk F: w systemie Windows.

Uwaga: nieprawidłowe użycie polecenia dd może spowodować usunięcie danych z dysku, z którego uruchamiamy dd (np. jeśli użyjemy złego parametru of). Czytelnik więc wykonuje te operacje zupełnie na własną odpowiedzialność.

Na początek listujemy dostępne urządzenia typu storage:

C:\> dd --list 
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by terms of the GPL Version 2.

Win32 Available Volume Information
\\.\Volume{9f3e1bcb-3c26-11dc-b403-806d6172696f}\
 link to \\?\Device\HarddiskVolume1
 fixed media
 Mounted on \\.\c:

\\.\Volume{4b7623c4-3c43-11dc-be9a-005056c00008}\
 link to \\?\Device\HarddiskVolume2
 fixed media
 Mounted on \\.\d:

\\.\Volume{7d750f02-3c1e-11dc-be95-806d6172696f}\
 link to \\?\Device\CdRom0
 CD-ROM
 Mounted on \\.\e:

\\.\Volume{9f3e1bc6-3c26-11dc-b403-806d6172696f}\
 link to \\?\Device\Floppy0
 removeable media
 Mounted on \\.\a:

\\.\Volume{60ccebe4-9969-11df-81e9-005056c00008}\
 link to \\?\Device\Harddisk1\DP(1)0-0+7
 removeable media
 Mounted on \\.\f:

...
[wycięto dla jasności listingu]
...

Następnie możemy wykonać kopię

C:\> dd if=\\.\f: of=D:\disk_image.dd bs=4k --size --progress

Kolejne parametry oznaczają:

  • if=\\.\f: (odczyt z dysku F:)
    • if to skrót od: input file (czyli miejsca z którego kopiujemy),
  • of=D:\disk_image.dd (zapis obrazu dysku do wskazanego pliku)
    • of to skrót od: output file (czyli miejsca do którego kopiujemy),
  • bs=4k (odczytywanie w blokach 4kilobajtowych, można tą wartość zwiększyć, np. do 1M w celu przyspieszenia realizacji kopii),
  • –size (parametr charakterystyczny dla wersji Windows oprogramowania dd, wymuszenie na dd aby nie odczytał w pewnych sytuacjach danych znajdujących się za fizycznym końcem nośnika – szczegóły patrz instrukcja do dd),
  • –progress (wyświetlanie aktualnego postępu tworzenia kopii).

Po prawidłowym wykonaniu obrazu możemy już na nim pracować (np. podłączyć obraz jako dodatkowy dysk widziany w systemie Windows za pośrednictwem oprogramowania OSFMount – patrz wcześniejsza część artykułu). Można również wykonać kopię tego obrazu (tym razem standardowymi poleceniami systemu operacyjnego), na wypadek gdyby zaszła potrzeba pracy na początkowym obrazie (np. w wyniku uszkodzenia obrazu, na którym pracujemy).

Uwaga:  z nieco inną sytuacją przy realizacji kopii posektorowej mamy do czynienia, kiedy pracujemy z uszkodzonym nośnikiem (np. nie jest możliwe odczytanie pewnych sektorów) – w tekście nie zajmujemy się takim przypadkiem, odsyłając jednocześnie do oprogramowania: ddrescue oraz Testdisk.

 

Więcej informacji

  • Ultimate boot CD – bootowalna płyta zawierająca rozmaite narzędzia diagnostyczne (w tym również Photorec/Testdisk oraz narzędzia do wykonywania niskopoziomowych kopii).
  • Bootmed – inna bootowalna dystrybucja Linux posiadająca narzędzia ułatwiające naprawę systemów, które przestały poprawnie startować.
  • Zero Assumption Recovery – komercyjne oprogramowanie ułatwiające odzyskiwanie danych, również z nośników,  które uległy pewnym uszkodzeniom.

–michal.sajdak[at]sekurak.pl

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Michał

    Świetny opis, ostatnio musiałem odkrywać Photorec samemu, a tutaj doskonały tutorial.

    Odpowiedz
  2. Paweł

    Jeżeli chodzi o różnicę, to można by też chyba wspomnieć, że w programie Recuva jest szansa odzyskać pliki (chociaż nie zawsze) z ich „oryginalnymi” nazwami, podczas gdy Photorec zmienia nazwy odzyskiwanych plików coś na kształt np. f012345.*, co widać na przedostatnim zrzucie ekranu.

    Odpowiedz
  3. Tomek

    Posiadam uszkodzonego (zapewne programowo) pendrive który zawierał dwie partycje (z nieznanymi mi systemami plików), aktualnie są one wykrywane jako NTFS i FAT12, FAT12 nie było na pewno. Czy istnieje jakiś sposób na przeskanowanie jakiego typu dane mogą się znajdować na danych partycjach i określenie na tej podstawie poprawnego systemu plików? Większość programów do odzyskiwania danych bez systemu plików nie jest w stanie rozpoznać odzyskiwania danych.

    Odpowiedz
    • Każdy sensowny program do odzyskiwania danych ma wbudowany hex-edytor, w którym możesz przejrzeć zawartość. Uwaga – trzeba umieć trochę więcej, niż tylko klikać myszką.

      Odpowiedz
  4. Paweł

    Fajny portal i widzę że często są nowe artykuły. Oby tak dalej!

    Odpowiedz
  5. Mirek

    Przy pomocy Test / Photorec na Ultimate Boot CD odzyskałem wszystkie dane z pendrive, który nie podłączał się jako dysk, a po włożeniu do USB chciał aby go formatować – oczywiście nie dało się tego zrobić, bo pendrive był fizycznie uszkodzony.

    Odpowiedz
  6. roch

    ostateczne rozwiazanie to dystrybucja RIP Linux, mozna go zabutowac z pendrive USB w przypadku urzadzen bez napedu cd i opcji rozbiorki, potrzebny jest do tego drugi komputer z dostatecznie duzym dyskiem w tej samej sieci LAN, bootujemy na nim RIP’a i tworzymy partycje ktora pomiesci obraz dysku przy uzyciu np. Gparted (np. ext4) montujemy i odpalamy sshd, na komputerze do odzysku rowniez odpalamy RIP’a montujemy partycje z pierwszego komputera przy uzyciu sshfs, zrzut obrazu dysku najlepiej wykonac przy uzyciu ddrescue ktory po zakonczeniu bedzie analizowany na komputerzez pierwszym np. z uzyciem photorec, metoda ta nie dokonuje zadnych zmian na nosnikach komputera do odzysku, wymaga to podstaw linuksa, uzycie przytoczonych narzedzi mozna wygooglac a jako ze wszystko leci z roota polecam odlaczyc internet, jedyna pewna metoda na powazne odzyskiwanie danych w tym przypadku, pozdrawiam.

    Odpowiedz
  7. Edyta

    Skorzystałam z programu Recuva (do odzyskania zdjęć z karty aparatu), ale pomimo komunikatu „operacja zakończona. Odzyskano łącznie trzysta ileś plików, nie mogę tych zdjęć znaleźć w komputerze (utworzonego w tym celu folderu w ogóle nie ma). Co zrobiłam nie tak, i jak te zdjęcia odzyskać? Proszę o poradę.

    Odpowiedz
  8. Jan

    Z dysku zewnętrznego WD 500GB (który z nie wiadomych powodów :) z NTFS przestawił się na RAW), odzyskałem prawie 90GB danych łącznie ze strukturą katalogów i oczywiście oryginalnymi nazwami plików. Recuva ląduje w „niezbędniku programów”, a strona w „ulubionych”. Wielkie dzięki! Pozdrawiam.

    Odpowiedz
  9. Szymon

    Witam, polecacie coś do odzyskiwania danych w HFS+?

    Odpowiedz
  10. filipborkowski

    Jak odzyskać skasowany plik z pamięci USB bez kopiowania go. Tj. kasuje plik z pena i chcę ażeby plik znów był dostępny w tym samym miejscu bez kopiowania i skanowania. Plik skasowany widać np. prog. winhex. lecz ażeby odzyskać go muszę go przekopiować a nie chcę tego robić. Dziękuję za szybką odpowiedz

    Odpowiedz
    • A co tam masz? FAT? Musisz znaleźć wpis opisujący ten plik w katalogu i zamienić 0xE5 na pierwszy symbol nazwy.

      Odpowiedz
  11. Nie jestem mistrzem elektroniki i któregoś razu coś tak naknociłem w komputerze, że z dysku zniknęło mi wiele cennych plików. Czytałem trochę na temat odzyskiwania danych, ale tak jak wspomniałem, nie mam szczególnie dużej wiedzy na temat sprzętów i ich obsługi. W końcu zdecydowałem się oddać to specjalistom z SGdata, bo w tym względzie sam sobie nie ufam. Wszystko już pod kontrolą. :)

    Odpowiedz
  12. Recuva jest u mnie spalona. Ten program dwóm moim klientom kazał sformatować nośnik. W ten sposób można co najwyżej dodatkowo uszkodzić (nadpisać) resztki struktury logicznej systemu plików. Pamiętajcie, by nigdy pod żadnym pozorem niczego nie zapisywać na nośniku, z którego zostały stracone dane.
    I jeszcze jedna ważna sprawa – diagnostyka. Pół biedy, kiedy sami skasowaliśmy sobie jakieś pliki i doskonale wiemy, co się stało. Wtedy możemy zrobić kopię posektorową (obraz binarny) nośnika i bezkarnie do woli bawić się programami. Gorzej, jeśli nasze dane zniknęły nagle i niespodziewanie. wtedy przed przystąpieniem do jakichkolwiek czynności warto sprawdzić stan nośnika, bo znikające dane mogły być spowodowane usterką sprzętową. W takim przypadku amatorskie zabawy mogą łatwo doprowadzić do pogorszenia stanu nośnika.

    Odpowiedz
  13. Marceli

    Dla mnie bomba, nawet w 87 roku życia… zrozumiałem!
    Pozdrawiam,
    Marceli B.

    Odpowiedz
  14. Harry

    POMOCY
    Na dysku SSD z systemem Windows 7 chcialem wgrac jako drugi system Linux i nie chcacy sformatowalem dysk wgrywajac linuksa przy okazji niszczac wazne pliki chcialem odzyskac te pliki ale popodlaczeniu dysku stacji usb system laptopa win 10 nie widzi tego dysku
    Co mam zrobic niech mi ktos pomoże???

    Odpowiedz
    • Na SSD niczego już nie zrobisz. W przypadku tych nośników adresy LBA rotują po różnych adresach fizycznych, co znacząco przyśpiesza nieodwracalną utratę danych. Do tego działanie funkcji TRIM powoduje, że nawet to, co ewentualnie mogłoby się uchować, jest fizycznie kasowane. A Windows dysk pewnie widzi, tylko nie widzi partycji z linuxowym systemem plików.

      Odpowiedz

Odpowiedz na Jan