Восстановление диска - `ddrescue` висит

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, выключите и 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 .

Monokh
источник

Ответы:

2

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

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

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

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

Deltik
источник
Спасибо, да, сброс USB-порта был тем, что я думал о цикле питания. Я совершенно уверен, что это может быть адаптер. Я попробую прямую sata, когда получу свои руки на ПК
Monokh