Задача: восстановить информацию с повреждённого CD-диска, копирование с которого прерывается из-за ошибок чтения.
Решение: есть несколько утилит, в том числе базовых, которые позволяют в той или иной степени восстановить данные.
Утилита dd
Старая, как сам UNIX, утилита, входящая решительно в любой нормальный дистрибутив UNIX-основанных систем. Более того, на блоге уже упоминался вариант её использования для проверки дисков. Теперь она послужит нам для нужд восстановления.
Собственно, её использование приведёт к копированию данных, несмотря на ошибки. Внимательное чтение мануала man dd даёт ключ к использованию:dd if=/dev/cdrom of=~/bad.iso bs=2048 conv=noerror
Игнорирование ошибок чтения обеспечивает именно последний параметр, при этом вы будете наблюдать многочисленные сообщения об ошибках.
В Сети есть мануал на русском для тех, кто испытывает трудности с англицким наречием.
Утилита recoverdm
В комплект поставки дистрибутивов она входит редко, но распространяется под лицензией GPL, и скачать её отсюда.
Требует рутовых прав, так как использует некоторое "трюкачество", например сброс состояния контроллера и чтение "сырых" данных (RAW-data). Обеспечивает большую точность восстановления, чем dd, и больший набор параметров. Однако работает гораздо медленнее dd в силу того, что гораздо большее количество попыток чтения совершается. Способна восстанавливать данные с дискет, CD/DVD и жёстких дисков. Кроме того, поставляется с утилитой mergebad, которая полезна в случае, например, когда есть несколько компакт-дисков, и все они битые, а информация на них распределена.
Компиляция из исходников посредством команды make не представляет никакой трудности. Нужно поставить на ней соответствующие права и выполнить команду:sudo ./recoverdm -t 20 -i /dev/hda -o bad.iso -l badsectors.bad -n 10 -r 12
После чего начнётся медленное и печальное восстановление. Лучше всего ставить эту процедуру на ночь, так как при сколько-нибудь обширных сбоях чтения компакт-дисков такое считывание может занять несколько часов (мой злосчастный миморекс читался 7 часов).
В процессе считывания вы будете видеть в консоли такие вот сообщения:Trying RAW read...
Tried reading 10 times, failed doing that. Continuing...
error at 732188672 bytes, retrying: 1
error at 732188672 bytes, retrying: 2
error at 732188672 bytes, retrying: 3
seek to end...
error at 732188672 bytes, retrying: 4
resetting device...
error at 732188672 bytes, retrying: 5
resetting controller...
error at 732188672 bytes, retrying: 6
error at 732188672 bytes, retrying: 7
error at 732188672 bytes, retrying: 8
error at 732188672 bytes, retrying: 9
error at 732188672 bytes, retrying: 10
Trying RAW read...
Tried reading 10 times, failed doing that. Continuing...
которые будут тем многочисленнее, чем больше запорчен диск и чем больше вы поставили попыток чтения. Естественно, утилита не волшебная, и те данные, которые восстановить не удалось, просто заменяет пустыми блоками. Если на диске было много фотографий, потерю десятка вы переживёте менее болезненно, чем всего диска целиком.
Восстановление этой программой занимает существенно больше времени, чем dd. Не ждите, что диск с обширными повреждениями (более 10% секторов) проутюжится меньше, чем за 7-8 часов (при многократном считывании с параметрами, указанными выше). Но есть проверенный способ: ставим на ночь и идём спать...
Личный опыт
Восстанавливал при помощи этих двух утилит один фильм со славных своим "качеством" дисков фирмы Memorex. Так назвать их можно было только из глубокого сарказма - даже безродная китайщина до сих пор читается на максимальной скорости (записаны 5 лет назад!), зато славные миморексы сдохли всем десятком через каких-то полтора года.
Как бы там ни было, но dd и dd_rescue работали долго и в итоге было слишком много пропущенных секторов - фильм шёл с заметными "глюками". Тот же диск, отутюженный recoverdm с приведёнными выше параметрами дал существенно меньшее количество пропусков и фильм шёл куда более "плавно" и при этом выпали только три-четыре незначительных эпизода по 5-6 секунд. Более чем удовлетворительный результат при том, что обычное копирование прерывалось на половине диска с истерическим воплем "I/O error, пишите письма".
Ссылки:
Пост был вдохновлён собственными потребностями в восстановлении данных с дисков МимоMemorex и этой отличной статьёй. В ближайших планах апробация программы testdisk, про которую писали тут.
среда, Декабрь 27, 2006
Свободные утилиты восстановления данных
Написал
virens
Метки:
анализ,
данные
Добавить пост в закладки:
При выходе из блога не забудьте RSS-ленту
Подписаться на:
Комментарии к сообщению







19 комментариев:
Пишу фильмы на DVD. Интересно, сколько оно бы считывало DVD? А вообще печально. Стараюсь все важное хранить как минимум на 3 носителях (DVD + HDD).
В отношении последнего абзаца замечу: "уральские диски" зовутся Mirex (www.mirex.ru), а Memorex -- это какая-то китайщина. И с Memorex'ами действительно встречались проблемы (~30% из записанных), а вот с Mirex'ами проблем почти не было (тьфу*3) -- записанные 4-5 лет назад диски читаются отлично. (дисков было исписано более тысячи)
2 serhiy cherevko
Пишу фильмы на DVD. Интересно, сколько оно бы считывало DVD?
Даже страшно представить :-) И тем дольше будет утюжить, чем больше повторов ставить.
Стараюсь все важное хранить как минимум на 3 носителях (DVD + HDD).
И это правильно!
2 Anonymous
В отношении последнего абзаца замечу: "уральские диски" зовутся Mirex
О, точно, спасибо большое - поправлю. Китайщина вот как раз читается :-) Исправлю на досуге.
"...вот с Mirex'ами проблем почти не было (тьфу*3) -- записанные 4-5 лет назад диски читаются отлично."
-- Как показывает практика отечественного пр-ва, как только завозят оборудование, технологию соблюдают неукоснительно, потому диски выпущенные несколько лет назад могли быть и отличного качества. Потом начинают вносить "элемент творчества", и какчество падает. Увы данная ситуация не только в пр-ве компактов, а вообще в машиностроении и пр. по России. Все хотят подешевле, "из г. сделать конфетку". Потому и положение такое печальное. так что, компакты выпущенные выпушенные несколько лет назад могут быть существенно лучше современных.
Еще одна утилитка: readcd из пакета cdrtools.
Тоже выскажусь в защиту Екатеринбуржцев.
Memorex - говно китайское.
Mirex - отличные уральские болванки.
Пользуюсь регулярно и с удовольствием.
Для сентенции о "...как только завозят оборудование, технологию соблюдают неукоснительно..." причин не вижу. Выпускают болванки они уже лет 7, качество традиционно на высоте.
В общем, нехорошо поливать грязью отличного производителя.
Поддержу людей, высказавшихся в защиту Майрекса. Последние года полтора ушел на двд, а до этого писал cd десятками. С mirex проблем не было.
>Пост был вдохновлён собственными потребностями в восстановлении данных с хвалёных отечественных уральских дисков Memorex
Автор, найдите время и внимательно прочтите комментарий Strannick-а. И уж определитесь как-то...
PS:
Отличное качество у Mirex (производятся в Екатеринбурге - город в России). Чёрт.
И Mirex, и Миморекс дохли через полгода-год с диагнозом: амнезия. Если миморекс г..но китайское, то мирекс - отечественное. Я не знаю ни одного товара серийного отечественного производства сложнее лома, которым можно было бы гордиться.
В условиях нашей страны слово "технология" не имеет никакого значения. Диски покупаю только Verbatim и TDK. Всё. Конец истории.
Во избежание дальнейших словопрений мирекс убрал. Если кто вышлет мне пару дисков, которые всё помнят и не забывают через полгода - буду благодарен. Потому что те мирексы, которые продавались в Москве - поверьте, г..но редкостное.
В целом конечно неплохо. но не очень понятно почему в статье про dd_rescue ни слова, а в "личном опыте" есть. Ну и можно было бы про dd_rhelp упомянуть. А то рассмотрена только dd conv=noerror и то на уровне man'a.
А мы их и сами читать умеем.
2 [doctor]
почему в статье про dd_rescue ни слова
Потому, что recoverdm справляется всё равно лучше. Но вообще-то да, стоило рассмотреть. Внёс в список поправок, буду шлифовать напильником :-) Спасибо.
А мы их и сами читать умеем.
Эх, доктор, вам ли объяснять, что это МЫ читаем маны, а подавляющее большинство - нет. Если бы маны читали все, на этом блоге не было бы и половины статей :-)
интересно а автор сам пробовал используя dd восстановить поврежденный диск используя свой собственный рецепт?
dd нужно пускать обязательно с опцией sync иначе данные "поплывут" нарушится логическая структура диска и восстановить будет вообще не возможно.
2 Anonymous
интересно а автор сам пробовал используя dd восстановить поврежденный диск используя свой собственный рецепт?
Автор никогда не постит рецептов, которых не использует и / или не проверил.
dd нужно пускать обязательно с опцией sync иначе данные "поплывут" нарушится логическая структура диска и восстановить будет вообще не возможно.
Мсьё Анонимус что-то круто загнул: sync просто дополняет нулями неполный блок. У меня фильм после этого нормально играл, правда, с выпаданием ряда сцен. recoverdm справился с задачей на порядок лучше.
Сенкс за инфо, как раз искал чем бы восстановить пару убитых давным-давно дисков. Буду пробовать.
"Я не знаю ни одного товара серийного отечественного производства сложнее лома, которым можно было бы гордиться."
Вот это то и плохо...
Что мы,хуже всех что-ли?Ведь можем!
Отмечу,качество ломов тоже упало...экономят на всём.
По теме: А с какими болванками проблем решительно небыло?
А есть гуёвое что-нибудь?
Могу порекомендовать dvdisaster (open source, http://dvdisaster.net/en/index.php), читает получше dd, и самое главное, можно заранее создать ecc (error correction code) file по алгоритмы Рида-Соломона, и в случаи сбоя восстановить сбойные оптические диски.
virens`у
насчет TDK помолчал бы ... тоже говно, европейского "качества". Купил полтора года назад DVD+R TDK Scratchproof. Царапин нет .. но данных тоже ... обычные проги даже диск не видят. Пыхчу вот пытаясь хоть что-то спасти. А ведь тоже доверился "бренду". Лучеб они сразу не записывались ...
Отправить комментарий