Вопрос

Вопрос

Я использовал ddrescueyesterday hopely, чтобы получить копию 1:1 и сохранить ее как образ на новом диске. Предположим, я читаю в обратном направлении, потому что я знал, что в начале неисправного диска есть плохой кластер, т. е. с -Rswitch, из man-страницы:

-R
--reverse

Изменить направление всех проходов (копирование, обрезка, очистка и повторная попытка). Каждый проход, который обычно выполняется вперед, теперь будет выполняться назад, и наоборот. ' --reverse' не изменяет размер блоков, копируемых во время каждой фазы, а только порядок, в котором они выполняются.

Конечно, раньше мне mapfileудавалось перезапустить процесс.

Плюс я использовал прямой доступ. Не все приводы должны его поддерживать, но мой поддерживает.


Полная командная строка, которую я использовал, выглядит следующим образом:

ddrescue -d -R /dev/sdb baddrive.ddrescue.img baddrive.ddrescue.log

Результат — 1 ошибка размером 4096 байт.


Соответствующая часть следующего mapfile:

# current_pos  current_status
0x1375BCE00     +
#      pos        size  status
0x00000000  0x1375BC000  +
0x1375BC000  0x00001000  -
0x1375BD000  0xE7A97F9000  +

Вопрос

Можно ли повторить попытку для плохого кластера примерно 100 раз, чтобы убедиться, что он полностью мертв?

решение1

Да, это возможно.

Вам необходимо изменить mapfileстроку:

0x1375BC000  0x00001000  -

чтобы в конце был вопросительный знак, например:

0x1375BC000  0x00001000  ?

Теперь вы готовы перезапустить процесс восстановления, вам просто нужно добавить опцию повтора:

-r n
--retry-passes=n

Выйти после указанного количества повторных проходов. По умолчанию 0. -1 означает бесконечность. Каждый плохой сектор проверяется только один раз за каждый проход. Чтобы повторить плохие сектора, обнаруженные в предыдущем запуске, необходимо указать ненулевое количество повторных проходов.

Связанный контент