Próbuję odzyskać pliki z dysku zawierającego błędy sprzętowe.
Dysk został naprawiony przez narzędzie dyskowe, ale powiedział mi, że dysk jest uszkodzony, więc muszę wykonać kopię zapasową wszystkiego, zanim nastąpi awaria.
Próbowałem więc skopiować pliki za pomocą wyszukiwarki, ale utknęły. Wypróbowałem inne narzędzia i utknęły, próbując skopiować pliki, gdy głowa uderzy w uszkodzony blok.
Więc próbowałem z rsync i wydaje się, że działa; ale to trwa wiecznie, kiedy uderzę w zły blok.
Zastanawiałem się więc, czy istnieje sposób, aby powiedzieć Rsync, aby nawet nie zawracał sobie głowy plikiem, jeśli trwa to zbyt długo? Albo mogę określić liczbę prób dla każdego pliku lub jak długo trzeba próbować dla każdego pliku?
Nie jestem pewien, jak długo ten dysk będzie trwał, więc chcę jak najszybciej usunąć wszystkie dane, podczas gdy nadal mogę go zamontować i zobaczyć na nim dane w wyszukiwarce.
Tego używam jako polecenia; proszę o poradę, jeśli istnieje jakiś sposób na ograniczenie próby na pliku, więc mogę poprosić rsync, aby spróbował odczytać uszkodzone bloki, ale unikam zbytniego utknięcia w określonym sektorze.
rsync -arv -e--ignore-errors --partial-dir=/Volumes/backup/partial /Volumes/work /Volumes/backup
Z góry dziękuję.
dd_rescue
, ma on zaawansowane funkcje radzenia sobie z uszkodzonymi sektorami.Odpowiedzi:
Krótka odpowiedź:
rsync
w tym przypadku nie jest to właściwe narzędzie: jego użycie może być nawet szkodliwe.Użyj
ddrescue
zamiast tego (lepiej niżdd_rescue
). Jest w stanie zrobić to, o co prosisz.Jeśli dysk jest fizycznie uszkodzony, można go skamieniać przy każdej próbie naprawy.
To nie tylko pytanie o wykorzystanie twojego czasu , kiedy
rsync
wydaje się wisieć na zawsze zbliżając się do uszkodzonego sektora. Problem polega na tym, że przy powtarzających się operacji niepowetowaną Niepowodzenie może dzieje, a wtedy nie będzie już w stanie do ratowania danych bez kosztownej wymiany części (zawsze, gdy będzie to jeszcze możliwe i nie będzie miał zamurowane swój HDD ).W tym przypadku najbardziej bezpieczną procedurą, jaką znalazłem, jest
Dlaczego kopia? Ponieważ jeśli coś zawiedzie w kroku naprawy systemu plików , zawsze możesz zacząć od nowa bez potrzeby ponownego dotykania oryginalnego uszkodzonego dysku twardego .
Sugeruję, aby użyć
ddrescue
do wykonania surowego obrazu dysku, w tym defektów, ponieważ działa dobrze nawet w przypadku błędów odczytu.Jak to zrobić
ddrescue
Możesz używać
ddrescue
dokładnie tak, jak chceszrsync
, pomijając uszkodzone sektory bez ponawiania lub dzielenia ich, kopiując jak najwięcej danych.To polecenie znajduje się poniżej (zamiast
/dev/hda1
ciebie umieścisz urządzenie):Po tym, jak zrobiłeś ten pierwszy fragment ( szybszy ), możesz spróbować go udoskonalić, próbując uzyskać dostęp 3 razy w przypadku błędu.
Możesz nadal udoskonalać obraz, powtarzając
ddrescue
wywołania poleceń z innymi opcjami, próbując za każdym razem wyodrębnić więcej danych (zobacz referencje). Po zakończeniu możesz utworzyć kopię (jeśli masz całą potrzebną przestrzeń), a następnie naprawić system plików .Pamiętaj, że surowy obraz będzie tak duży jak oryginalny dysk twardy .
W Internecie, na tej i innych stronach StackExchange można znaleźć wiele pytań i odpowiedzi na temat ratowania danych za pomocą
ddrescue
lub innych narzędzi.Bibliografia:
źródło
ddrescue
z przyjaciółmi :-) O twojej odpowiedzi tylko słowo: dziwne ... opublikuj je jeszcze raz i jeśli ktoś spróbuje zamknąć ponownie Głosuję tak, aby ponownie otworzyć (nigdy nie użyłem tej nowej mocy : D)