Восстановить определенные файлы с поврежденного жесткого диска
Я пытаюсь восстановить некоторые 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 для всего раздела.