Недавно мой внутренний привод вышел из строя после ручной перезагрузки, и я хотел бы получить данные перед их изменением. Мой компьютер - Macbook Pro середины 2012 года, и диск отформатирован как HFS+. (С моей точки зрения, проблема связана с аппаратным обеспечением и поэтому не относится к миру Apple, поэтому я публикую здесь, а не на apple.stackexchange, но не стесняюсь переносить его при необходимости.)

Обычное клонирование dd не вариант: это диск на 500 ГБ, и по какой-то причине скорость копирования составляет 20 КБ / с (по крайней мере, с bs=512 что я рекомендовал при работе с жесткими дисками), то есть это займет около 6000 часов, чтобы сделать работу ...

Монтирования раздела и использования cp тоже нет: когда я пытаюсь это сделать, я получаю сообщение

cp : Input/output error

Также может быть важно сказать, что я не могу смонтировать раздел традиционным способом. Он монтируется только при запуске в режиме восстановления или после запуска анализа с TestDisk при загрузке с внешнего диска.

Из анализа с TestDisk (который не выявляет ошибок) я думаю, что файловая система в порядке, и я более склонен думать, что диск имеет плохие блоки (следовательно, физически поврежден, верно?). Плюс, когда я попробовал fsck_hfs , он, конечно, не работал, но ошибка казалась не связанной с файловой системой:

could not get Block 2, not a MDB sector
[...]
volumeType is 0

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

Но я все еще могу использовать dd для отдельных файлов (мне не нужны все данные), когда раздел смонтирован. Есть ли сценарий / программное обеспечение, которое использует dd внутреннего копирования содержимого каталогов? Я действительно не хочу писать команду dd для сотен файлов ...

Или у кого-нибудь есть лучшая идея вернуть немного этих данных?

1 ответ1

1

Использование dd с bs=512 действительно может нанести вред скорости, я представляю, что это похоже на попытку пробежать милю, но с шагом в 1 дюйм. Использование большего значения, такого как bs=10M или больше, должно быть намного лучше.

В любом случае, файлы, вероятно, не все смежные, поэтому попытка вырезать только нужные части диска с помощью dd не будет работать для каждого файла, и (вероятно, не слишком уверен, как работает HFS) также не даст вам имена файлов. Лучше было бы попробовать программу, которая может копировать файлы с разделов, которые могут иметь проблемы, используя:

  • testdisk может просматривать файлы (включая недавно удаленные файлы) на наличие множества файловых систем и копировать их из раздела. Это родственная программа photorec может выполнять поиск по сырому диску (или образу диска) и копировать файлы, но обычно без их оригинальных имен.

  • Но лучше всего использовать gddrescue для создания копируемых частей диска, он должен быть экспертом по восстановлению данных на неисправных дисках, он может пропустить части, которые не читаются, и как только он станет "легким" "части, которые вы можете попробовать снова для" жестких "частей, которые могут или не могут читать, но занимают много времени. Тогда вы могли бы правильно попытаться проверить / исправить файловую систему и вырезать данные (фото), не беспокоясь о дальнейшем повреждении диска или внезапном сбое.

    • См. Руководство GNU ddrescue, и в Интернете есть несколько руководств (но я более склонен сначала прочитать прекрасное руководство).

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