Zewnętrzny dysk twardy jest niedostępny. „Struktura dysku jest uszkodzona i nieczytelna”

11

Mam zewnętrzny dysk twardy AgentGoFlex Seagate o pojemności 1 TB.

Ostatnio powodowało to pewne problemy, takie jak kilka folderów, w których dane nie wyświetlały żadnych plików. Kilka folderów się nie otwierało itp.

Próbowałem więc uruchomić chkdsksystem Windows 8, ale nie zakończył się on pomyślnie. Więc odłączyłem dysk twardy. Teraz, gdy podłączam dysk twardy do systemu, nie jest on rozpoznawany. W Linuksie wcale nie jest rozpoznawany.

Podczas gdy w Win8 próbuję uzyskać dostęp do dysku z wiersza polecenia, napisane jest: „Struktura dysku jest uszkodzona i nieczytelna”.

Nawet błąd chkdskkończy się teraz z błędem: „System plików to NTFS. Nie można określić wersji i stanu woluminu. Chkdsk przerwane”.

Podczas próby uruchomienia „narzędzia sprawdzającego” z poziomu F: → kliknij prawym przyciskiem myszy → Właściwości → Narzędzia → Sprawdź, pojawi się poniższy błąd.

Zrzut ekranu błędu: Nie można wykonać sprawdzenia dysku, ponieważ system Windows nie może uzyskać dostępu do dysku

Formatowanie dysku nie wchodzi w grę, ponieważ mam na nim bardzo ważne dane.

Proszę zasugerować, co można zrobić, aby umożliwić dostęp do dysku twardego.

Anurag Rana
źródło
1
Jeśli nie możesz wysłać dysku do profesjonalnej firmy zajmującej się odzyskiwaniem danych, następnym najlepszym rozwiązaniem byłoby próba wykonania obrazu dysków w ich bieżącym stanie (zanim dysk całkowicie ulegnie awarii). Następnie możesz zachować plik obrazu jako „bezpieczną kopię”, spróbować odzyskać dysk lub zduplikowany plik obrazu. Jestem pewien, że Linux przynajmniej na pewnym poziomie rozpoznaje twój dysk, więc spróbuj zdobyć darmowe narzędzia do tworzenia obrazów dysku i najpierw napisz obraz na inny dysk!
Waxhead,
1
Obawiam się, że Ramhound może mieć rację, twój dysk może być martwy. Dane można odzyskać, ale robienie tego w domu może spowodować utratę jeszcze większej liczby plików - niektórzy profesjonaliści mogą ci pomóc. I pamiętajcie, są tylko dwa rodzaje ludzi: ci, którzy robią kopie zapasowe i ci, którzy będą.
gronostaj

Odpowiedzi:

10

Przede wszystkim nie rób nic więcej na dysku (przynajmniej nigdy na nim nie pisz ). Dysk nie został rozpoznany (w przeciwieństwie do „rozpoznania i znalezienia go jako pustego lub z nieczytelnymi danymi”) wydaje się wskazywać albo dysk całkowicie zniszczony, co chkdsknie jest normalne, albo coś złego w tabeli partycji lub geometrii dysku lub sposób, w jaki obsługuje go obudowa USB. Możliwa jest także awaria sprzętu.

Może się to zdarzyć i nastąpi, gdy obudowy USB spróbują negocjować między dyskiem a komputerem, do którego są podłączone. Pierwszą rzeczą do zrobienia byłoby zrobienie obrazu dysku na (oczywiście większym) dysku na możliwie najbliższym fizycznym poziomie, używając ddLinuksa. Następnie możesz bawić się kopią obrazu w treści swojego serca, bez ryzyka dalszego uszkodzenia prawdziwego dysku.

Aktualizacja: rozpoznawanie urządzenia w systemie Linux

Na naszym „dysku zewnętrznym” mamy nie mniej niż trzy podmioty. Sprzęt obudowy USB, odsłaniający się jako urządzenie blokowe. Dysk fizyczny w obudowie. Urządzenie fizyczne, tj. Sekwencja sektorów LBA od pierwszego do ostatniego. I wreszcie zero lub więcej partycji danych, hostujących systemy plików. Aby zostać „rozpoznanym” i wyświetlonym na pulpicie, wszystkie linki łańcuchów muszą działać. Ale aby zrobić zdjęcie fizycznego urządzenia, potrzebujesz tylko dwóch pierwszych. Jeśli podłączysz urządzenie i uruchomisz wiersz poleceń dmesg(jako root), powinieneś zobaczyć coś takiego:

[4984939.028491] usb 8-6: new high speed USB device using ehci_hcd and address 3
[4984939.166658] usb 8-6: configuration #1 chosen from 1 choice
[4984939.170660] scsi7 : SCSI emulation for USB Mass Storage devices
[4984939.172003] usb-storage: device found at 3
[4984939.172005] usb-storage: waiting for device to settle before scanning

... czyli rozpoznawanie obudowy, a następnie identyfikowanie się i jej zawartości:

[4984939.170660] usb 8-6: New USB device found, idVendor=1058, idProduct=1021
[4984939.170660] usb 8-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4984939.170660] usb 8-6: Product: Ext HDD 1021
[4984939.170660] usb 8-6: Manufacturer: Western Digital
[4984939.170660] usb 8-6: SerialNumber: 574D43305431303831303734
[4984944.400970] usb-storage: device scan complete

Następny zobaczysz kierowca informując jej geometrii, przyrody, a pośrednio jej węzeł urządzenie, tutaj sdd(dla dysków SCSI Czwórki, ponieważ sda, sdbi sdczostały już podjęte):

[4984944.404739] scsi 7:0:0:0: Direct-Access     WD      Ext HDD 1021    2021 PQ: 0 ANSI: 4
[4984944.404739] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
[4984944.407367] sd 7:0:0:0: [sdd] Write Protect is off
[4984944.407369] sd 7:0:0:0: [sdd] Mode Sense: 17 00 10 08
[4984944.407371] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[4984944.408741] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)

Następnie jądro rozpoznaje partycję (jeśli jej nie widzisz, partycji nie ma lub jest niepoprawna):

[4984944.411497]  sdd: sdd1

Teraz Linux ma wszystko, czego potrzebuje i zgłasza pomyślne załączenie:

[4984944.416739] sd 7:0:0:0: [sdd] Attached SCSI disk
[4984944.416739] sd 7:0:0:0: Attached scsi generic sg4 type 0

I tak zaczyna się wyszukiwanie partycji danych, tzn. OK, mamy sdd1, ale co tam jest? , a odpowiedź brzmi:

[4984997.498613] NTFS driver 2.1.29 [Flags: R/W MODULE].
[4984997.554613] NTFS volume version 3.1.
[4984997.568859] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.
[4985390.027808] NTFS-fs error (device sdd1): ntfs_remount(): Volume has errors and is read-only.  Cannot remount read-write.
[4985442.423299] NTFS volume version 3.1.
[4985442.425032] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.

To było „dobre” mocowanie. Ale sama wiedza, że ​​urządzenie jest sdd, lub sdclub sdb, pozwala mi wykonać kopię binarną (zakładając, że mam wystarczająco dużo wolnego miejsca /mnt/backupdisk): plik wejściowy, plik /dev/sddwyjściowy DiskImage.raw, rozmiar bloku 1 MB :

# dd if=/dev/sdd of=/mnt/backupdisk/DiskImage.raw bs=1M

Zauważ, że plik wejściowy jest /dev/sdd i nie /dev/sdd1 (lub jakikolwiek inny numer). Teraz, gdybym chciał, mógłbym znaleźć przesunięcie partycji danych wewnątrz DiskImage.rawi zamontować ją za pomocą urządzenia pętlowego. Tutaj znajdziesz brudne szczegóły.

Pierwsza próba odzyskania

Drugą rzeczą do zrobienia byłoby umieszczenie dysku fizycznego w innej obudowie, zapewniając w ten sposób, że obudowa jest dobra, i zyskując szansę na poprawną interpretację dysku przez nową obudowę. Jeśli dysk pojawi się ponownie, być może uszkodzona była poprzednia obudowa. Na wszelki wypadek wykonaj kopię zapasową całej nowo znalezionej stacji dysków, sprawdź kopię zapasową, wyzeruj dysk za pomocą narzędzia do nadpisywania dysku, aby całkowicie zgasł (nie możesz mieć dwóch urządzeń o różnych opiniach w łańcuchu urządzeń), sformatuj go ponownie natywnie z Windows i przywracaj dane. To szczęśliwy strzał, ale widziałem, jak to się stało; a próba nie jest zbyt droga, dobre obudowy kosztują około 19,99 USD nowych.

W przypadku, gdy oryginalna obudowa była zła, nie będzie można ponownie sformatować dysku lub dysk nie będzie dostępny. Można ponowić nową obudowę, a jeśli to działa, albo zastąpić starą obudowę, lub zachować stosując nowy (ale to się opłaca, czy nowa obudowa jest dość lepsze niż US $ 19.99 El cheapo).

Profesjonalne odzyskiwanie

Profesjonalne usługi odzyskiwania, te, które można znaleźć w Google. Niezbyt uczciwym sposobem byłoby przesłanie go przez dysk fizyczny i - w przypadku otrzymania komunikatu „Tak, nie nastąpi uszkodzenie sprzętu, a my możemy odzyskać wszystkie dane za jedyne $ $$$, $ $$! ” odpowiedź - dobrze byś wiedział, że dane wciąż można odzyskać. Możesz więc spróbować zrobić to samemu za darmo na utworzonej kopii zapasowej obrazu i zapłacić tylko za diagnozę i dysk S&H. Jeśli ci się nie uda, nadal będzie dostępna opcja odkrztuszania żądanego ciasta. Jeśli nie ma uszkodzenia sprzętu, profesjonalny serwis jest w zasadzie swoją jedynie opcją. Istnieje kilka sztuczek voodoo, które (tymczasowo) przywrócą „martwy” dysk, często wystarczająco długi, aby odzyskać przynajmniej najważniejsze dane,żadna z nich nie gwarantuje, że będzie działać za każdym razem (nagrzewanie dysku, chłodzenie go, „kręcenie” nim - widziałem nawet, jak sugerować inteligentne zgrywanie go o twardą powierzchnię). Wszystkie zada więcej obrażeń, tzn. Musisz upewnić się, że użyjesz jednej sztuczki, która zadziała za pierwszym razem, inaczej zabijesz dysk na zawsze. Właśnie dodałem to, aby wyjaśnić, dlaczego zobaczysz historie sukcesu ożywionych dysków: takie historie. Ale jeśli chcesz być (w większości) pewien, że zdarzy się wam dobrze - zatrudnić zawodowego.

Jeśli masz pewność, że sprzęt jest w porządku - dyski się obracają, brak grzechotek, brak dziwnych dźwięków lub brzęczeń, brak ponownej kalibracji kliknięć-klakotów - wtedy wszystko, co się zdarzyło, to zepsucie chkdskniektórych danych.

Odzyskiwanie DIY

Odzyskiwanie „domowe” zwykle przebiega w ten sposób (w zasadzie to samo, co zawodowcy zrobiliby po obniżeniu uszkodzenia sprzętu), pracując na kopii obrazu dysku:

  • sprawdź, czy pierwszy sektor obrazu dysku jest prawidłową tablicą partycji. Jeśli nie, zeskanuj obraz dysku w poszukiwaniu prawidłowej tablicy partycji lub rozpoznawalnego sektora rozruchowego NTFS lub FAT32, w zależności od tego, jaki FS był na urządzeniu (dla 1 TB, NTFS wydaje się jedyną logiczną możliwością). Tak czy inaczej, powinieneś znaleźć coś w ciągu pierwszych kilku megabajtów.

  • jeśli tablica partycji zostanie znaleziona, sprawdź, czy partycja danych znajduje się tam, gdzie jest wskazana tablica partycji. Jeśli tak nie jest, jest to bardzo dobra wiadomość: prawdopodobnie tablica partycji jest wszystkim, co jest złe. Naprawienie tego jest łatwe (zrobi to kilka edytorów partycji Linuksa) i można oczekiwać, że dysk odzyska 100%. Aby być bezpiecznym, spróbuj zamontować partycję danych w systemie Linux za pomocą urządzenia pętlowego w trybie tylko do odczytu, aby sprawdzić, czy można ją odczytać. Jeśli tak, to korekcja partycji jest potwierdzana, a dysk może zostać wymówiony w drodze do pewnego i pełnego odzyskania. Jeśli tak nie jest, być może partycja ma rację i (część) partycji danych została przepisana. To jest złe; patrz poniżej w „rzeczy kwaśne”.

  • jeśli zostanie znaleziony i poprawny, sprawdź go pod kątem geometrii dysku, a jeśli się nie zgadzają, jest to również dobra rzecz, ponieważ mogłaś znaleźć podstawową przyczynę problemu. Możesz zmusić geometrię fizyczną do jądra (i uzyskać ją przy starcie systemu Linux ). Sprawdź, czy nowa geometria prowadzi do rozpoznania dysku w systemie Linux. Jeśli tak, wykonaj kopię zapasową danych, sprawdź, czy kopia zapasowa jest poprawna, i wyzeruj dysk za pomocą dd(wystarczy kilka megabajtów zer do odpowiedniego sdurządzenia). Wyłącz komputer (nie tylko uruchamiaj ponownie; OK, jest paranoikiem, ale kosztuje niewiele i może coś osiągnąć), a następnie uruchom system Windows i sformatuj dysk, który nie ma pojęcia, w najlepszym wydaniu. Zapewnia to brak konfliktów z systemem Windows. Przywróć dane na dysku. Cieszyć się.

  • jeśli sztuczka z geometrią nie działa lub nie można znaleźć partycji lub gdy okaże się, że jest pusta, sytuacja się pogarsza. Potrzebujesz narzędzia do odzyskiwania zdolnego do skanowania obrazu dysku w poszukiwaniu obszarów danych (MFT itp.) Utraconych danych. Po znalezieniu zinterpretuj je, aby uzyskać dostęp do danych. To trudne zadanie i nie zawsze może być w pełni zautomatyzowane. Na niższym i bardziej desperackim poziomie wymaga to skanowania podpisów poszczególnych plików, mając nadzieję, że będą one znajdować się w ciągłych blokach na dysku. Ten rodzaj operacji chętnie jednak pozostawiłbym profesjonalistom. Zrobiłem to kilka razy, zawsze z powodzeniem, na starych dyskach FAT. Zrobiłem to ponownie, około 50% pomyślnie, z nowszymi, większymi i bardziej rozdrobnionymi dyskami FAT32. I próbował kilka razy, z kiepskimi wynikami (ale miałem pełne kopie zapasowe i tak naprawdę nie dawałem z siebie wszystkiego), na znacznie bardziej skomplikowanych systemach plików NTFS i ext4.

Ręczne odzyskiwanie z systemu Linux

OK, więc próbujesz zamontować partycję w Linuksie i uzyskać błędy ( zwróć uwagę na to /dev/sdc i są różne rzeczy - obraz odnosi się )./dev/sdcN /dev/sdc

# mount -t ntfs /dev/sdc1 /mnt/recovery
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 1024   usa_ofs: 0  usa_count: 65535: Invalid argument
Record 1 has no FILE magic (0x0)
Failed to open inode $MFTMirr: Input/output error

... wydaje się to wskazywać, że partycja, jak uważa system , jest niewłaściwa lub poważnie uszkodzona. Najpierw sprawdźmy pierwszą opcję:

# fdisk /dev/sdc

Otrzymujesz coś takiego:

Disk /dev/sdc: 1000.2 GB, 1000204885504 bytes
1 heads, 63 sectors/track, 31008335 cylinders, total 1953525167 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9d2b7596

Device       Boot      Start    End          Blocks       Id  System
/dev/sdc1              63       1953520127   976760032+   7   HPFS/NTFS/exFAT

Następnym krokiem będzie sprawdzenie faktycznego rozpoczęcia partycji. Szukając pliku obrazu (lub /dev/sdc), szukamy podpisu NTFS:

  00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
  00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
  00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J....... 

# dd if=/dev/sdc bs=512 count=1 skip=63 2>/dev/null | hexdump -C | head -n 1

... z powyższymi danymi oczekujemy, że boot NTFS będzie w sektorze 63, dlatego ustawiliśmy skip. Ponadto spróbujemy z każdym sektorem w pierwszym (powiedzmy) megabajcie ...

# dd if=/dev/sdc bs=512 count=2000000 2>/dev/null | hexdump -C | grep "00:EB 52 90 4E 54 46 53"

... żeby się upewnić, że istnieje tylko jeden sektor rozruchowy (zdarzyło mi się to. Na dysku FAT32, ale nadal ) i że nigdzie nie ma błędów odczytu.

Twój wynik

00007e00  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|

jest dokładnie tym, czego byśmy się spodziewali: sektor 63 daje przesunięcie 63 × 512 = 32256 = 7e00 w systemie szesnastkowym. Sektor rozruchowy NTFS jest tam i tablica partycji wydaje się być poprawna .

Możemy więc teraz skopiować dużą część /dev/sdc1, powiedzmy, /tmp/mydisk.imgi spróbować naprawić to z Linuksa. Nie uszkodzi to dysku fizycznego, który będzie nadal dostępny bez zmian dla innych prób. A ponieważ teraz wiemy, że PT jest poprawny, możemy wykorzystać /dev/sdc1tę kopię i rozbudzić nadzieje, których wcześniej nie mogliśmy:

# dd if=/dev/sdc1 of=/tmp/mydisk.img bs=1G count=10
...after copying 10 gigabytes...

# ntfsfix /tmp/mydisk.img

Jeśli NTFSfix nie działa, to mamy kłopoty. Istnieją jednak bardziej dokładne narzędzia, które można wypróbować. A jeśli musisz odzyskać pliki obrazów JPEG, a system plików nie został pofragmentowany, można to zrobić automatycznie, wyszukując nagłówki JPEG. To samo dotyczy dokumentów PDF, TIFF i Office, z tym że nie wiem, jak je rozpoznać (w przypadku plików JPEG :-)). Jako ostatnią opcję znalazłem tych facetów - nie znam ich, nie jestem z nimi spokrewniony i nie przyjmę żadnej winy. Jednak w miarę upływu czasu cena jest bardzo rozsądna.

LSerni
źródło
@ Iserni - Dzięki za informacje. Chociaż pierwszym problemem ze mną jest to, że nie mogę wykonać obrazu dysku twardego na Linuksie, ponieważ w ogóle nie jest rozpoznawany. W systemie Windows jest wykrywany co najmniej, ale nie jest dostępny.
Anurag Rana
aktualizacja odpowiedzi na temat: „nierozpoznany”
LSerni,
@ Isreni - Dziękuję bardzo za pomoc. Jestem w stanie wykonać obraz danych na dysku, jednak dane na moim dysku to 400 GB, a maksymalny dostępny rozmiar na moim laptopie to 200 GB. stąd nie będę w stanie zrobić pełnego obrazu. Przerwa na środku. Czy mogę w jakiś sposób skopiować na laptop tylko 200 GB z 400 GB, a następnie z tego obrazu o pojemności 200 GB odzyskać niektóre dane?
Anurag Rana,
Tak, można skorzystać ddz countparametru dostać tylko określoną liczbę gigabajtów (uważają, że DD i dysków sprzedawców nie zgadzają się na jak dużą GB - „200 GB” jednego może oznaczać „190 GB” na drugiej. Ale weź także pod uwagę, że nowy dysk USB o pojemności 500 GB kosztuje około 59,99 USD, być może byłby wart tego wydatku. Fakt, że możesz go zobrazować, oznacza, że ​​najprawdopodobniej sprzęt jest bezbłędny. Patrzymy na oprogramowanie wadliwe działanie tutaj (chyba że miałeś cholerne
pechowe
@Isreni -Dziękuję :) Dzisiaj użyłem oprogramowania do odzyskiwania firmy Seagate (wersja bezpłatna) i jest on w stanie odczytać dysk twardy, wyświetlić wszystkie foldery (jak były) i może odzyskać wszystkie pliki o rozmiarze mniejszym niż 64kb (jego darmowa wersja). Oznacza to, że dysk twardy z pewnością nie zawiera błędów sprzętowych. Czy po skopiowaniu danych 200 GB na mój laptop przy użyciu dd, czy mogę uzyskać dostęp do tego zrzutu, tak jak mamy dostęp do normalnych katalogów? Nie .. dobrze .. Ponieważ utworzony zrzut jest plikiem, którego nie można otworzyć przy zainstalowanej normalnej aplikacji. Jak więc możemy wyodrębnić / skopiować wymagany folder / plik z tego zrzutu?
Anurag Rana,
-2

wystarczy przejść do cmd jako uprawnienia administratora i wpisać chkdsk X: / f („X” to nazwa woluminu sterownika, „/ f” to poprawka)

elektroketon
źródło
Odpowiedź @ Iserni pozostawiła zbyt wysoki poziom odpowiedzi, przepraszam, ale muszę przegłosować
Francisco Tapia
Z PO: „Nawet chkdsk nie działa teraz z błędem:” System plików to NTFS. Nie można określić wersji i stanu woluminu. czkdsk przerwany. ""
ᴇcʜιᴇ007
-3

Prostszym rozwiązaniem, które dla mnie i moich kolegów było zamontowanie dysku i użycie go chkdskw systemie Windows 7.

Raynor
źródło