Восстановить определенные файлы с поврежденного жесткого диска

Я пытаюсь восстановить некоторые 3-5 ГБ файлов NEF, которые еще не были скопированы во время сбоя.

Это 418GB ext4 раздел и при монтировании с -o ro,noload Я могу перечислить каталог, в котором находятся файлы, но я получаю сообщение об ошибке, если пытаюсь их скопировать. Я сейчас бегаю ddrescue -n --direct --no-trim --sector-size=4096 и хотя он начался достаточно быстро, с тех пор он значительно замедлился. После перезапуска шесть часов назад в настоящее время средняя скорость составляет около 38 КБ / с. Пока что выручило 7,5 ГБ.

Учитывая низкую скорость ddrescue - есть ли способ скопировать только те файлы, которые мне нужны? Я не очень заинтересован в остальной части диска.

1 ответ

Решение

Я отвечу на свой вопрос, но не стесняйтесь опубликовать другой ответ, если у вас есть идея получше.

Вот что я сделал. Сначала я смонтировал раздел только для чтения:

mount -o ro,noload /dev/sdb6 /badhdd

Тогда я использовал find запустить ddrescue для каждого файла:

mkdir ~/rescue
mkdir ~/rescue-log
find /badhdd/path/to/directory -type f -name "*.NEF" -exec ddrescue -vvvv -P1 -n --no-trim /badhdd/path/to/directory/{} ~/rescue/{} ~/rescue-log/{} \;

Для любых файлов с ошибками я сделал:

ddrescue -vvvv -P1 --reverse /badhdd/path/to/directory/{} ~/rescue/{} ~/rescue-log/{}

Через 72 часа я восстановил 65 файлов из чуть более 400 со средним размером 10 МБ. Скорость сильно варьируется - для восстановления некоторых файлов требуется менее 10 секунд, а для других - 5-6 часов.

Это означает, что если мне удастся восстановить только те файлы, которые мне действительно нужны, восстановление займет около 18-20 дней, а не более 120 для всего раздела.

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