Nowe posty

Autor Wątek: Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie  (Przeczytany 6146 razy)

pawo12

  • Gość
Witam. Mam ogromny problem. Posiadam dysk zewnętrzny, na którym mam ważne dokumenty i inne pliki. Chciałem nagrać na pendrive inną dystrybucję linuksa poleceniem: dd if=(plik) of=/dev/sdb. Niestety, zamiast ścieżki do pendrive'a podałem ścieżkę do dysku. Szybko jednak się zorientowałem, co zrobiłem i odłączyłem dysk. Polecenie dd zdążyło przekopiować na dysk 1,7GB danych, a na dysku było ich około 200GB. Czy można jakoś odzyskać dane nienaruszone z dysku (o ile są nienaruszone)? Zależy mi bardzo na jednym pliku, bardzo ważnym i wyć mi się chce jak tylko sobie pomyślę, że mógłby być nie do odzyskania. Jaki program pod linuksem może sobie poradzić z odzyskaniem takich danych z dysku? Zanim użyłem polecenia dd systemem plików dysku zewnętrznego był ext3 lub 4.

Bardzo będę wdzięczny za pomoc, gdyż jestem załamany w tej chwili. Mogę utracić wszystkie pozostałe pliki, ale ten jeden muszę odzyskać. Próbowałem programu PhotoRec, ale wyprodukował mi około 1700 folderów, w których były prawie same pliki txt, oraz pliki o rozszerzeniach takich, jakich na dysku nie było. Odzyskało mi całkowicie jakieś pliki, które dawno temu skasowałem z dysku i nawet zapomniałem, że kiedykolwiek na nim były i nawet się otwierają poprawnie, ale tego jednego nie znalazło, zresztą nie przejrzę 1700 folderów, a pliki o rozszerzeniu takim jak utracony pliki były tylko 2 i to nie to -  może program nadał inne rozszerzenie, ale nie dojdę teraz do tego, gdyż miałbym kilkaset tysięcy plików do otwarcia. Błagam, czy jest jakiś sposób odzyskania plików nienadpisanych? Dd nagrał na dysk 1,7GB danych, a na dysku było ich z 220GB. Mam ogromną nadzieję, że da się odzyskać część.

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2769
  • 1709
    • Zobacz profil
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3068
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #2 dnia: 2014-10-07, 15:04:45 »
Jeżeli był tylko w jednym miejscu na jednym dysku, to był w takim razie nie dość ważny.

A mniej zgryźliwie - jak plik jest na tyle ważny, że będzie ci się chciało jechać do Wawy, to daj znać.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

pawo12

  • Gość
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #3 dnia: 2014-10-07, 15:50:34 »
Właśnie plik był bardzo ważny i w jednym miejscu. Chyba trzeba będzie się trzeba pogodzić z utratą, ale będę próbował różnych narzędzi - ściągnąłem Knoppixa w wersji DVD i może będzie na nim jakieś narzędzie do odzyskiwania danych. Próbowałem programu PhotoRec, ale wyprodukował mi 1648 katalogów, a w każdym z nich masa plików .txt i plików o innych rozszerzeniach, których nie było na dysku nigdy. Do tego jakieś urywki skasowanych setki lat temu plików muzycznych i wideo, ale pliku na którym mi najbardziej zależy nie znalazłem. Po zastosowaniu tego narzędzia były w tych folderach tylko 2 pliki o rozszerzeniu takim, jak ten utracony chyba na zawsze plik, ale to nie było to. Mam teraz nauczkę, by kopiować ważne pliki na kilka nośników i najlepiej odłączać dysk zewnętrzny przy nagrywaniu obrazu iso na pendrive'a. Szkoda tylko, że nauczka jest aż tak bolesna, bo teraz muszę zacząć całą pracę od początku. Nie wiem, czemu, ale gdy podłącze ten dysk pod Windowsa, to ten go nie widzi, także darmowe programy do odzyskiwania danych, które pobrałem, aby spróbować. Linuksy widzą dysk, ale próba odzyskania danych skończyła się skopiowaniem na komputer kilkuset tysięcy plików i to prawie wszystko w formacie .txt :/ Knoppix ostatnią nadzieją, gdyż chodzić po firmach odzyskujących dane nie będę - kasy brak. Nie będę na tym dysku nic już robić, zapisywać, formatować itp - może kiedyś w przyszłości uda mi się coś odzyskać po kupieniu jakiegoś płatnego programu do odzyskiwania danych w warunkach domowych. Plik był mały - miał zaledwie około 1MB. Nadzieja, że gdzieś tam jest i da się go odzyskać takim programem zawsze zostanie, zwłaszcza, że gdy zastosowałem polecenie dd, szybko się zorientowałem co zrobiłem i odłączyłem dysk natychmiast, jednak już 1,7 GB danych zostało na nim zapisanych...

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #4 dnia: 2014-10-07, 16:50:13 »
Cytat: pawo12
Właśnie plik był bardzo ważny i w jednym miejscu.
Są ludzie co robią backupy i tacy, którzy będą je robili. Niektórzy dzięki tym drugim zarabiają na chleb.

Zamiast PhotoRec użyj TestDisk i przywróć stary układ partycji, a w każdym razie jak odzyskasz tablicę partycji, to powinno wszystko wrócić do normy.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3068
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #5 dnia: 2014-10-07, 18:21:24 »
Jakim programem był robiony ten plik? Jakoś wybitnie starannie omijasz ten temat.

Niektóre formaty plików mają nieoczywiste sposoby odzyskiwania, na przykład pliki Open/LibreOffice'a to pliki ZIP i odzyskuje się je narzędziami do odkasowywania i naprawiania archiwów.

A propozycja mojej pomocy nie była w żaden sposób żartem.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

pawo12

  • Gość
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #6 dnia: 2014-10-07, 21:06:04 »
Już wiem chyba co zrobić. Plik był w formacie json. Był to plik do przywracania zakładek Firefoxa. Miałem mnóstwo zakładek do materiałów do pracy magisterskiej między innymi. Odkryłem, że plik json z zakładkami "rozleciał się" na pliki .txt - odkryłem kilka plików .txt z adresami do stron z zakładek i teraz mam problem. Mam do przejrzenia kilkaset tysięcy plików .txt, co jest po prostu niemożliwe. W każdym jest jeden adres. Czy jest sposób, aby przejrzeć wszystkie pliki txt z daną frazą? Chodzi mi o to, aby było jakieś polecenie/program, które znalazłoby we wszystkich plikach .txt frazę "www" czy "http://". Wtedy bym sobie te pliki przejrzał i odtworzył listę linków. Miałem kilkaset zakładek w tym pliku .json łącznie, z czego około 100 to były linki do materiałów związanych z moją pracą magisterską. Gdyby udało mi się znaleźć wszystkie pliki tekstowe z frazą "www" i "http" to mógłbym wszystkie linki odzyskać. Na razie wśród kilkuset tysięcy plików .txt znalazłem kilka linków z tych zakładek. Dziwi mnie, że jeden plik "rozleciał się" na kilka setek innych. Myślałem że znajdę właśnie ten plik .json i już, a tu się teraz zapowiada, że muszę wyszukać kilkaset plików .txt spośród kilkuset tysięcy. Takie odnalezienie ciągu znaków we wszystkich plikach jest jedyną nadzieją, bo nie przejrzę ponad pół miliona plików .txt po kolei...

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3068
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #7 dnia: 2014-10-07, 21:42:47 »
* Polecenie grep informuje, czy w pliku jest zadany ciąg znaków. Przeczytaj instrukcję ( man grep, dodatkowo man find). Oczywiście i w Linuksowym Midnight Commanderze i w Windowsowym TotalCommanderze masz "klikane" znajdź wszystkie pliki txt zawierające ciąg ....

* Akurat Firefox może synchronizować (między innymi) zakładki do swoich serwerów. Może warto włączyć na przyszłość tą funkcjonalność? Generalnie jak praca nie jest "tajne specjalnego przeznaczenia", to warto zrobić dodatkową kopię w chmurze na wypadek podobnego fuckupu? (mądry Polak po zalanym serwerze i wysadzonym w powietrze RAID5)

* Pliki JSON to backupy bazy zakładek. Może dlatego jest ich pierdylion kopii na dysku.

* U mnie od początku września backupy są dodatkowo kompresowane algorytmem LZ4 (pliki .jsonlz4) Nie są to więc już "czyste" pliki tekstowe, ale zawsze zaczynają się od "mozLz40". Jeżeli możesz dodawać sygnatury do swojego programu do odkasowania, to pomoże odzyskać nowe backupy.

* Od jakiegoś czasu Firefox główną wersję zakładek trzyma w bazie SQLite o nazwie places.sqlite (a nie w pliku HTML, jak stara Mozilla). Tutaj znowu, łatwo zrobić sygnaturę do odkasowywarki, pliki SQLite zaczynają się od ciągu "SQLite format 3". Są jednak dużo większe (u mnie plik SQLite ma 10MB, backup json 300kB a backup jsonlz4 130kB), przez co trudnej je odzyskać przy składaniu pliku "z zapałek". Ale ze względu na niską fragmentację linuksowych filesystemów jest szansa na odzyskanie całości.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

pawo12

  • Gość
Odzyskiwanie danych z dysku zewnętrznego po "dd" - niecałkowicie
« Odpowiedź #8 dnia: 2014-10-07, 21:56:57 »
W takim razie trzeba się brać do pracy. Ostatni backup był robiony w tym samym dniu, co utracenie go przez nieostrożność, czyli przedwczoraj. Jutro po zajęciach się za to zabiorę i mam nadzieje, że da się odzyskać te zakładki. Dam znać, tutaj, czy mi się udało, jak i w jakim stopniu. Inne pliki na dysku ważne nie były, ale te zakładki chcę przywrócić, ponieważ długo wyszukiwałem stron naprowadzających na źródła do pracy magisterskiej - ciężki i rzadki temat. Gdyby się nie udało, to dość długi czas będę musiał poświęcić na wyszukanie ich od nowa, a i tak by się pewnie nie udało znaleźć wszystkiego, dlatego muszę odzyskać te zakładki. Dziękuję za naprowadzenie - teraz wiem, co robić :)