Указание ddrescue проверить прочитанные данные?

ls -lart | sed -n "/ \.[A-Za-z0-9][A-Za-z0-9]*/p"
1
16.03.2016, 18:01
1 ответ

Проверьте ваше оборудование

У меня нет хорошего решения, но обычно, если данные каждый раз считываются с CD-ROM по-разному, это звучит Для меня это скорее проблема с оборудованием, чем на самом деле проблема с дефектным компакт-диском, поскольку компакт-диски включают ECC, что означает, что сектор можно прочитать или нет, и если он может быть прочитан, он будет показывать стабильные данные.

Также, возможно, используйте параметр ddrescue -d для доступа к источнику, потому что некоторые операционные системы могут выдавать случайные данные после того, как ошибка чтения произошла в опережающем чтении (что и делается на заднем фоне).

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

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

Инструмент для сравнения изображений ddrescue

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

ddrescue-verify является только исходным кодом (и, вероятно, только Linux), поэтому вам нужно знать, как использовать систему разработки / компиляции.

Сегодня ddrescue-verify не предназначен для быть простым в использовании инструментом диагностики. Он был создан для того, чтобы иметь возможность быстро проверить, правильно ли было снято изображение по медленному сетевому каналу, поэтому в ситуации, когда вы определенно не можете ожидать, что полное изображение будет передано по медленной линии более одного раза.

Если существующей документации для ddrescue и ddrescue-verify вам недостаточно, боюсь, я больше не смогу вам помочь (нет времени, извините). Единственное, что я могу предложить, - это отрывок из Wiki , надеюсь, немного адаптированный к вашим потребностям:

Исходная команда для создания изображения из исходного кода была примерно такой: запустить в текущем рабочем каталоге :

ddrescue -d /dev/source image.img image.log

Теперь создайте данные проверки:

ddrescue-verify image.img image.log > image.verify

Теперь запустите процесс проверки / сравнения:

ddrescue-verify -udis0 /dev/source image.verify > image.diff

Это быстро, так как ddrescue-verify пытается пропустить исходный код части , которые отмечены как нечитаемые в image.log (отсюда вариант -d ).

В выводе вы увидите различия.

Вы также можете заглянуть в image.diff , чтобы увидеть различия.Этот файл имеет тот же формат, что и файл журнала ddrescue , но отличия отмечены как «непрочитанные», поэтому вы можете проанализировать его с помощью ddrescuelog .

возможно: вставить различия в изображение

Чтобы выявить различия, вы также можете сделать следующее:

# The next 2 commands take a snapshot of your original image
# Probably use lvm or ZFS snapshot to not duplicate all data:
cp image.img image.orig.img
cp image.log image.orig.log
# Now pull in the differences
cp -f image.diff image.log
ddrescue /dev/source image.img image.log

Теперь вы обновили image.img и image.log к найденным изменениям. Это быстро, так как это пытается прочитать только измененные части (разница обнаруживается на каждом 1 МБ по умолчанию, поэтому будет скопировано немного больше).

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

Это не полное решение

Мне жаль, что я не могу представить вам полное решение. Но восстановить данные путем угадывания в непонятной ситуации - это ничего, что можно сделать из коробки.

Однако, используя моментальные снимки (я рекомендую ZFS или BTRFS, поскольку они намного быстрее, чем LVM) в сочетании со способом сравнения и выявления различий, вы, возможно, сможете выяснить, что правильно, а что нет.

1
28.01.2020, 01:23

Теги

Похожие вопросы