Po pierwsze, aby oprogramowanie działało: możesz spróbować użyć ddrescue
zamiast dd
.
ddrescue
ma przełącznik, który wykonuje tylko ograniczoną liczbę prób. Może również używać pliku dziennika, więc rejestruje, które bloki były złe. Jeśli później będziesz chciał zrobić więcej prób, możesz użyć podobnie plik dziennika do uruchomienia ddrescue
jeszcze raz z różnymi opcjami (jak więcej prób) i ponowi próbę tylko niezbędnych bloków.
Przykładowe użycie:
# ddrescue -n /dev/sda /dev/sdb rescue.log
# ddrescue -r1 /dev/sda /dev/sdb rescue.log
Od ddrescue
strona informacyjna:
-n, --no-scrape
Skip the scraping phase. Avoids spending a lot of time
trying to rescue the most difficult parts of the file.
-r, --retry-passes=<n>
Exit after given number of retry passes. Defaults to 0.
-1 means infinity. Every bad sector is tried only once
in each pass. To retry bad sectors detected on a previous
run, you must specify a non-zero number of retry passes.
Oto kilka dodatkowych źródeł do korzystania ddrescue
:
Edytować
W przypadku, gdy sam dysk twardy trwa zbyt długo, możesz spróbować włączyć funkcję o nazwie TLER ( T ja ja L imitowane mi rror R odzyskiwanie) lub CCTL ( do dowództwo do ukończenie T ja ja L imit). Nie wszystkie dyski twarde go posiadają, ale można go użyć do ograniczenia czasu na samym kontrolerze HDD. Takie podejście można połączyć z użyciem ddrecue
, oczywiście.
Linux ma narzędzie o nazwie smartctl
(w smartmontools
pakiet).
Aby sprawdzić bieżące ustawienie („wyłączony” oznacza nieograniczony czas, którego nie chcesz):
# smartctl -l scterc /dev/sda
Aby ustawić stałą wartość (5,0 sekund w tym przykładzie. Ustawienie na 0 wyłącza TLER):
# smartctl -l scterc,50,50 /dev/sda
Źródło dla TLER: http://en.wikipedia.org/wiki/TLER