1

Я использую ddrescue для восстановления данных с диска Seagate Barracuda 3TB. Диск выходит из строя, но до сих пор каждый сектор, который я пытаюсь прочитать, в конечном итоге возвращает правильные данные, но это может потребовать некоторого исследования (это означает, что ddrescue должен выполнить несколько проходов на последнем этапе, где считываются поврежденные сектора).

Нормальная работа очень медленная, хотя. У меня есть некоторые участки на диске, которые читаются на полной скорости (60 МБ / с), но после успешного получения ~ 2,5 ТБ данных оставшиеся 500 ГБ распределяются по всему диску и читаются с головокружительной скоростью ~ 2 КБ / с. с оценкой несколько тысяч дней, чтобы закончить.

Однако я могу одновременно запустить несколько экземпляров ddrescue на одном диске, что увеличивает пропускную способность, но я не уверен, как в конечном итоге объединить данные в одно изображение, особенно путем отслеживания с файлом карты. Я предполагаю, что несколько процессов означают несколько файлов карт.

Кроме того, кто-нибудь знает, почему диск так медленно? Я имею в виду, что 2 КБ / с (или меньше, в случае ошибок) кропотливо медленны, возвращает воспоминания о C64. Мне потребовалось 3 часа, чтобы получить 30 МБ данных. У меня был бы идентичный диск Barracuda 3TB, который мог бы функционировать в качестве донора органов, если бы случайно смена контроллера смогла бы смягчить проблему (но, читая об этом, сомнительно, что это сработает).

1 ответ1

0

Вместо того, чтобы усложнять ситуацию с двумя изображениями, вы можете указать GNU ddrescue пропустить медленные части и вернуться к ним позже.

Флаг, который позволяет вам сделать это, --min-read-bytes= .

Из руководства по спасению GNU:

--min-read-rate=bytes

Минимальная скорость чтения хороших непробованных областей, в байтах в секунду. Если скорость чтения падает ниже этого значения, ddrescue пропустит переменную величину в зависимости от скорости и истории ошибок. Пропущенные блоки пробуются в дополнительных проходах (до обрезки). Если число байтов равно 0 (авто), минимальная скорость чтения пересчитывается каждую секунду как (average_rate / 10).


Если вы настаиваете на создании нескольких изображений, в руководстве также есть пример того, как их объединить:

Пример 4: объединить частично восстановленные образы 3-х одинаковых DVD-дисков, используя их файлы карт в качестве файлов файлов карты домена.

 ddrescue -m mapfile1 dvdimage1 dvdimage mapfile
 ddrescue -m mapfile2 dvdimage2 dvdimage mapfile
 ddrescue -m mapfile3 dvdimage3 dvdimage mapfile
   (if bad-sector size is zero, dvdimage now contains a complete image
    of the DVD and you can write it to a blank DVD)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .