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

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

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

1 ответ1

2

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

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

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 для всего раздела.

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