2

Я использую ddrescue для восстановления файлов с жесткого диска. Подробности:

  • Диск SATA 500 ГБ,
  • 2 раздела (например, sdb2 , sdb3) - каждый содержит около 200 ГБ данных,
  • подключен с помощью адаптера SATA к USB,
  • работает: sudo ddrescue -d /dev/sdb2 sdb2.img sdb2.logfile --force -R .

Диск довольно поврежден от того, что я испытал:

  • Занимает очень много времени, чтобы смонтировать и просмотреть.
  • Становится безразличным с перерывами.
  • Не так много удачи, копируя файлы по одному.

Я запускаю ddrescue для каждого раздела и вижу что-то странное, но это дает мне надежду.

  • Кажется, что ddrescue зависает в разные моменты времени, то есть ipos и opos не двигаются и не run time . Текущий курс остается очень высоким и не меняется. Что здесь происходит? Становится ли диск на какое-то время полностью не отвечающим?
  • Очень часто ddrescue не добивается никакого прогресса, спасая что-либо, и last sucessful read начинает просчитываться очень долго - на самом деле, бесконечно долго. Когда это произойдет , я ^C вне, PowerCycle диск и начать ddrescue снова. Удивительно, но он сразу же начинает спасать файлы на очень высокой скорости. Иногда это длится, а иногда он мертв в воде через несколько секунд.

Это выглядит так:

rescued:    10970 MB,  errsize:    338 MB,  current rate:   15073 kB/s
   ipos:   191426 MB,   errors:    3806,    average rate:   15612 kB/s
   opos:   191426 MB, run time:    1.65 m,  successful read:       0 s ago

и спустя некоторое время:

rescued:    11402 MB,  errsize:    600 MB,  current rate:        0 B/s
   ipos:   144382 MB,   errors:    7149,    average rate:    4299 kB/s
   opos:   144382 MB, run time:    7.66 m,  successful read:    2.06 m ago

Тот факт, что накопитель некоторое время читает абсолютно нормально после первого подключения, заставляет меня думать, что здесь есть что-то кроме плохих секторов. Могу ли я, например, написать сценарий bash, который часто выключает и перезапускает ddrescue ? Это убьет диск? Для информации, я взял некоторые практики из этого поста о ddrescue.

1 ответ1

2

Адаптеры SATA к USB различаются. Некоторые из них забывают о диске при обнаружении ошибок ввода-вывода, другие возвращают ошибки ввода-вывода и продолжают работу. Существует множество вариантов поведения в зависимости от того, какой адаптер вы используете.

Я думаю, что ваш блокирует все операции ввода / вывода, пока он не будет отключен.

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

Если это не сработает, я рекомендую подключить жесткий диск напрямую через SATA, а затем запустить ddrescue когда жесткий диск подключен через SATA. Таким образом, вы обойдете USB-адаптер, который, похоже, застревает при каждой ошибке.

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