Что конкретно делает ddrescue --retrim?

В настоящее время мы следуем рекомендациям судебной экспертизы с прямым сканированием без повторных попыток, прямым чтением, повторным сканированием и последующим повторным сканированием на неисправном жестком диске. Я думал, что у меня есть понимание того, что по существу делали шаги.

Мое предположение было:

1) первое сканирование без повторных попыток состояло в том, чтобы просто собрать как можно больше информации, которая не выдает ошибок, регистрируя те, которые делают для более интенсивных попыток восстановления позже.

2) второе сканирование было первой агрессивной попыткой просмотреть ошибки определенных секторов, зарегистрированных во время первого сканирования, для максимально возможного восстановления

3+) третий и последующие просмотры с --retrim, я "думал", просматривал оставшийся список ошибок и восстанавливал все еще исправимые.

Проблема, которая теперь заставляет меня чесать голову, состоит в том, что при третьем сканировании оно началось с 355 перечисленных ошибок (я предполагаю из журнала). Он делал хорошую работу, восстанавливая многие из более ранних, а несколько позже, после неудачного перерыва, продолжавшегося около 15 минут, когда он не мог их восстановить. Число сократилось до 285 еще в начале сканирования. Но теперь количество ошибок возросло до 296. Что на самом деле происходит, чтобы это число увеличивалось? Я предполагал, что он не будет пытаться прочитать что-либо, кроме тех, которые уже помечены как ошибки, и изменит количество ошибок только в том случае, если сможет успешно прочитать одно, уже помеченное как плохое. Я не ожидал, что это число пойдет вверх. Так что я должен что-то упустить.

SW

1 ответ

Решение

Моя иллюстрация:

Если счетчик ошибок "подсчитывает секторы", ваш вывод будет верным, но если счетчик ошибок "подсчитывает смежные блоки одного или нескольких поврежденных секторов", и один такой блок можно разбить на несколько блоков, если некоторые сектора внутри такого блок восстанавливается как читаемый, но окруженный плохими секторами.

...GGGBBBBBBBBBBGGG...` (one bad block) -->

...GGGBBBGGBBGBBGGG...` (three bad blocks).

Объяснение в info ddrescue:

Общий размер ошибки ("errsize") представляет собой сумму размеров всех необрезанных, не очищенных и поврежденных блоков. Оно увеличивается во время фазы копирования и может уменьшаться во время обрезки, очистки и повторных попыток. Обратите внимание, что по мере удаления или повторной попытки сбойных блоков ddrescue найденные достоверные данные могут разделить их на более мелкие блоки, уменьшив общий размер ошибок, но увеличив количество ошибок.

Другие вопросы по тегам