Восстановление образа диска, который был клонирован с ошибками

274
user2064000

У меня есть образ диска объемом 500 ГБ, который был создан с использованием следующего:

# dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > backup.img.gz 

Были определенные ошибки (примерно 15-20 из них), в которых указывалось следующее, в определенный момент выше примерно 420 ГБ. Ошибки перемежались несколькими гигабайтами данных между ними (например, первая ошибка была 420 ГБ, следующая - 430 ГБ, следующая - 436 ГБ и т. Д.)

dd: error reading '/dev/sda': Input/output error 

Безопасно ли восстанавливать этот образ диска?

0
Нет. Что заставляет вас думать, что это будет? Вы получите диск с неизвестными ошибками. DavidPostill 8 лет назад 0
если вы это сделаете, восстановите его на другой носитель и вручную скопируйте нужные файлы. Также проверьте SMART-статус вашего диска. Как правило, DD не должен сталкиваться с такой ошибкой на исправном диске. Frank Thomas 8 лет назад 0

1 ответ на вопрос

1
Kamil Maciorowski

Это зависит от того, что вы подразумеваете под «безопасным».

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

Я говорю «вы можете получить поврежденные файлы», а не «вы получите», потому что есть вероятность, что все эти ошибки были в блоках, помеченных как пустые. Это потому, ddчто ничего не знает о файловой системе и концепции свободного пространства, он читает все данные. Если во время создания образа было много свободного места, возможно, вам повезло, и все ваши файлы и важные данные находятся на изображении. Ошибки не были в начале диска, поэтому таблица разделов будет в порядке (если это не было MBR и не было расширенного раздела с логическими разделами и некоторые записи логического раздела не были прочитаны dd; это возможно, потому что любой логический раздел является определяется непосредственно перед его началом, а не в начале диска, как основные разделы и расширенный раздел).

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

Один из комментариев предлагает

восстановите его на другом носителе и вручную скопируйте нужные файлы.

Для копирования файлов вам не нужно восстанавливать на другой носитель. Вы можете смонтировать свой образ напрямую. Используйте kpartxили mount -o offset=…для доступа к разделам внутри вашего изображения. Например попробуйте эту последовательность (некоторые шаги требуют sudo):

  • gzip -dc < backup.img.gz > backup.img(через мгновение fsckи, может быть, некоторые другие инструменты изменят изображение, поэтому на всякий случай полезно оставить исходный архив нетронутым, надеюсь, у вас достаточно свободного места для этого);
  • kpartx -av backup.img(прочитайте вывод, ваши разделы внутри изображения теперь доступны как /dev/mapper/loop?p?);
  • использовать fsckпо /dev/mapper/loop?p?вашему выбору;
  • гора /dev/mapper/loop?p?на ваш выбор;
  • скопировать файлы;
  • umount …;
  • kpartx -dv backup.img чистить.

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