Uszkodzona tablica partycji (dysk flash USB)

9

To pendrive 8 GB Patriot, którego intensywnie używałem z dużą ilością danych. Dzisiaj jest wykrywany, ale wszystkie dane zniknęły: ( EDYTUJ przynajmniej niektóre dane wciąż tam są, ale nie ma tablicy partycji)


EDYCJA @Sathya (dzięki) oto odpowiedni wynik z sudo fdisk -l:

Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes

Disk /dev/sdc doesn't contain a valid partition table

Wygląda na to, że jest to / dev / sdc, z tymi 8 GB ... i bez tablicy partycji.

Próbowałem zamontować / dev / sdc (a następnie dmesg | tail):

/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

/media> dmesg | tail
[   24.300000]  sdc: unknown partition table
[   24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[   24.370000] usb-storage: device scan complete
[   26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[   26.870000] EXT2-fs: group descriptors corrupted!
[   50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!

EDYCJA @Col: wyniki z dysku testowego

Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55

Po uderzeniu [proceed]napisane jest:

Structure: Ok.


Keys A: add partition, L: load backup, Enter: to continue

„Struktura: Ok.” wydaje się uspokajające ... czy „A: dodaj partycję” sprawi, że moje stare dane będą dostępne (jeśli nadal tam są), czy też utworzy nową, świeżą partycję?

Inną opcją jest „ [ MBR Code ] Write TestDisk MBR code to first sector” - czy lepiej to zrobić?


EDYCJA Odkryłem, że przynajmniej część moich danych wciąż znajduje się na dysku flash, korzystając z poniższej listy i wyszukując tekst w języku angielskim w mniejszej ilości (np. „The”):

cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less

(Dysk zmienił się z „/ dev / sdb” na „/ dev / sde”, ponieważ dzisiaj podłączyłem kilka dodatkowych dysków). Nauczyłem się, że „/ dev / sde1” będzie pierwszą partycją; a „/ dev / sde” to cały dysk. Ponieważ unix traktuje te urządzenia jak pliki, możesz używać na nich wszystkich zwykłych poleceń plików unix cat, a następnie przetwarzać je jak każdy inny strumień danych. Na trpowyższe Usuwa znaki niedrukowalne ( „\ 40” to miejsce, które chciałem zachować). W mniejszym stopniu możesz użyć „/” do wyszukiwania, podobnie jak Vim.

Jak mogę odzyskać moje dane (zakładając, że nadal tam są)? Jeśli tylko tabela partycji jest uszkodzona, czy istnieje standardowe „narzędzie do odzyskiwania partycji”? Czy istnieje sposób na „podział” bez usuwania wszystkiego?

13ren
źródło
@ChrisF Ta odpowiedź nie działa ... i nie mogę na nią odpowiedzieć - więc mam ją tutaj (zobacz edycję pytania).
13ren
@ 13ren - Jeśli używasz tego samego OpenID w obu witrynach, możesz powiązać swoje konta. Jednak na razie wyślij e-mail na adres [email protected] i poproś o zrobienie powiązania. W międzyczasie połączyłem oba pytania.
BinaryMisfit,
1
@ 13ren - Wiem, że nie możesz tam odpowiedzieć. Dołączałem link do moderatorów, aby mogli znaleźć pytanie.
ChrisF,
Dzięki ChrisF, przepraszam, że źle zrozumiałem. Wysłałem e-mail zgodnie z twoją sugestią. @Diago dzięki za połączenie, mogę teraz komentować. Wyślę je ponownie e-mailem.
13ren
1
Włóż dysk i zrób sudo fdisk -l i czy możesz zaktualizować post za pomocą wyjścia?
Sathyajith Bhat

Odpowiedzi:

6

Być może warto uruchomić dysk testowy na urządzeniu, wygląda na to, że twoja tablica partycji poszła pop. Testdisk powinien być w stanie odzyskać twoje dane.

Przełęcz
źródło
@ Col dzięki, ale nie mam dysku testowego - próbowałem sudo testdiski man testdisk. Właśnie apt-get go zainstalował i wykrywa / dev / sdc z 8 GB (jak dodano do pytania). Nie chcę iść dalej, dopóki nie zrozumiem trochę więcej.
13ren
@ Col, próbowałem i dodałem wyniki do pytania
13ren
Jeśli czujesz się zdenerwowany, warto użyć dd, aby utworzyć obraz pamięci USB na dysku twardym, myślę, że powinno to działać nawet z dyskiem niemożliwym do zamontowania, ponieważ kopiuje bit po bicie.
Kol.
Dzięki, to dobry pomysł! Ale jak skopiować plik za pomocą dd? Strona podręcznika mówi o „plikach” ... och, czy / dev / sdc liczy się jako „plik”? Więc mogę po prostu skopiować cały plik / dev / sdc do pliku konwencji, takiego jak „ dd /dev/sdc mybackupfile?
13ren
1
Teraz mam kilka punktów reputacji, więc mogę zagłosować!
13ren
1

Nie martw się, twoje dane nie zniknęły --- masz rację, że dysk nie został zamontowany, niezależnie od tego, co mówi interfejs graficzny.

Możesz go zamontować, wykonując (jako root) coś takiego:

mount /dev/sdb1 /media/Patriot\ Memory

Gdzie myślę, że sdb1odnosi się to do pamięci USB - może to być sdc1lubsdd1


źródło
Lub nawet sda1, w zależności od wieku komputera (tzn. Jeśli dyski twarde to IDE)
Matthew Scharley,
@Michiel dzięki - ale mówi „mount: No medium found”. Użycie sdc1 i sdd1 dało „mount: specjalne urządzenie / dev / sdc1 nie istnieje”, co sprawia, że ​​myślę, że „sdb1” istnieje, ale coś jest nie tak. Działa od miesięcy i nic się nie zmieniło, o czym wiem - więc obawiam się, że jest to awaria sprzętu
13
1

Chociaż możliwe jest przebudowanie tablicy partycji, pierwszą rzeczą, którą powinieneś zrobić, aby zrobić zdjęcie urządzenia. Możesz to zrobić, dd if=/dev/sdb of=~/memstick.imgzmieniając ścieżki w razie potrzeby.

Gdy to zrobisz, uruchom PhotoRec , który powinien być w stanie wyciągnąć wszystkie znajdujące się tam pliki. Jeśli masz wszystko, czego potrzebujesz, sformatuj pamięć i zacznij od nowa, jeśli nie, możesz spróbować odzyskać dane.

Dentrasi
źródło
1

ddrescue to narzędzie, którego potrzebujesz. Nie sądzę, że będziesz w stanie uratować tablicę partycji i uzyskać dostęp do danych w jakikolwiek inny sposób, w oparciu o dane wyjściowe opublikowane z dysku testowego itp.

http://www.forensicswiki.org/wiki/Ddrescue

ddrescue to narzędzie do odzyskiwania danych. Kopiuje dane z jednego pliku lub urządzenia blokującego (dysk twardy, cdrom itp.) Do innego, próbując ciężko uratować dane w przypadku błędów odczytu.

Podstawowa obsługa ddrescue jest w pełni automatyczna. Oznacza to, że nie musisz czekać na błąd, zatrzymać program, przeczytać dziennik, uruchomić go w trybie odwrotnym itp.

Jeśli użyjesz funkcji pliku dziennika ddrescue, dane są bardzo skutecznie ratowane (odczytywane są tylko potrzebne bloki). Możesz także przerwać ratunek w dowolnym momencie i wznowić go później w tym samym punkcie.

Ddrescue nie zapisuje zer na wyjściu, gdy znajdzie złe sektory na wejściu, i nie obcina pliku wyjściowego, jeśli nie zostanie o to poproszony. Za każdym razem, gdy uruchamiasz go w tym samym pliku wyjściowym, próbuje wypełnić luki bez usuwania danych już uratowanych.

Jeśli masz dwie lub więcej uszkodzonych kopii pliku, cdrom itp. I uruchamiasz ddrescue na nich wszystkich, pojedynczo, z tym samym plikiem wyjściowym, prawdopodobnie uzyskasz kompletny i wolny od błędów plik. Wynika to z faktu, że prawdopodobieństwo uszkodzenia obszarów w tych samych miejscach na różnych plikach wejściowych jest bardzo niskie. Za pomocą pliku dziennika odczytywane są tylko potrzebne bloki z drugiej i kolejnych kopii.

Sam Dunlap
źródło