9

Я пытаюсь восстановить файлы с диска, на котором есть аппаратные ошибки.

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

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

Итак, я попытался с rsync, и это похоже на работу; но это навсегда, когда я попал в плохой блок.

Поэтому мне было интересно, есть ли способ сказать Rsync, чтобы он даже не беспокоился о файле, если это займет слишком много времени?Либо я могу указать количество попыток для каждого файла, или сколько времени нужно попробовать для каждого файла?

Честно говоря, я не уверен, как долго будет работать этот накопитель, поэтому я хочу получить все данные как можно скорее, хотя я все еще могу смонтировать его и посмотреть данные в нем в Finder.

Это то, что я использую в качестве команды; Посоветуйте, пожалуйста, если есть какой-либо способ уменьшить попытку файла, чтобы я мог использовать rsync, чтобы попытаться прочитать поврежденные блоки, но избегать слишком долгого застрять в определенном секторе.

rsync -arv -e--ignore-errors --partial-dir=/Volumes/backup/partial /Volumes/work /Volumes/backup

Заранее спасибо.

1 ответ1

7

Краткий ответ: rsync это не тот инструмент, который следует использовать в этом случае: его использование может быть даже вредным.
Вместо этого используйте ddrescue (лучше, чем dd_rescue). Он может делать то, что вы просите.


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

Это не только вопрос об использовании вашего времени, когда rsync кажется навсегда приближающимся к поврежденному сектору. Проблема в том, что при повторных операциях может произойти непоправимый сбой, и тогда вы больше не сможете спасти свои данные без замены дорогостоящих деталей (всегда, если это все еще возможно, и вы не заложили свой жесткий диск).

В этом случае самая безопасная процедура, которую я нашел, это

  1. Создать сырой образ на другом не битом диске.
  2. Чтобы создать копию этого изображения.
  3. Работать с копией, чтобы исправить файловую систему и спасти файлы.

Почему копия? Потому что, если что-то не получается на этапе исправления файловой системы, вы всегда можете начать снова без необходимости снова касаться оригинального поврежденного жесткого диска.

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


Как это сделать с помощью ddrescue

Вы можете использовать ddrescue точно так же, как вы хотели бы использовать rsync , пропуская поврежденные сектора, не повторяя и не разбивая их, копируя как можно больше данных.
Эта команда здесь ниже (вместо /dev/hda1 вы поместите свое устройство):

ddrescue --no-split /dev/hda1 imagefile logfile

После того, как вы сделали этот первый проход (более быстрый), вы можете попытаться уточнить его, пытаясь получить доступ 3 раза в случае ошибки.

ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile 

Вы можете продолжить улучшать изображение, повторяя вызовы команды ddrescue с другими параметрами, пытаясь каждый раз извлекать больше данных (см. Ссылки). Когда вы закончите, вы можете создать копию (если у вас есть все необходимое пространство), а затем исправить файловую систему.

Обратите внимание, что исходное изображение будет таким же большим, как исходный жесткий диск.
Вы можете найти в Интернете, на этом и на других сайтах StackExchange множество вопросов и ответов о том, как спасти данные с помощью ddrescue или других инструментов.

Рекомендации:

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