Восстановление информации на CD-R/RW

Автор: Elektrik
Дата: 30.01.2003
Все фото статьи

Введение


Установка CD-R/RW - приводов становится в настоящее время почти системным требованием к домашнему компьютеру. Разнообразное программное обеспечение для записи и обработки данных, относительно низкая стоимость дисков обоих типов по отношению к объёму хранимой информации делает применение CD-R/RW для хранения и распространения цифровой информации почти безальтернативным по отношению к другим носителям. Цель настоящей статьи - ознакомить пользователей с программами и возможными методами восстановления информации, доступ к которой мог быть утрачен или в результате механических повреждений диска, или в результате ошибочных действий пользователя. Под рассмотрение автора статьи попали следующие программы: CD-R Diagnostic, CDCheck и Isobuster Pro. Работу каждой из них будем рассматривать на примере конкретного дефекта.

Царапина на диске в рабочей зоне


Для оценки возможностей каждой из программ был выбран действительно повреждённый mp3-сборник группы "Калинов Мост" с частично нечитаемым треком одной из песен.

CD-R Diagnostic

Первой программой, которой я доверил восстановление трека, была CD-R Diagnostic, c демо-версией которой я был знаком ещё год назад, и надеялся, что именно эта программа в своей полной версии станет лучшей.

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

Для проверки содержимого диска на ошибки в меню Tools выбираем пункт Error Summary. После чего программа предложит нам выбор из трёх типов сканирования,

отличающихся между собой количеством проверяемых секторов на читаемость и возможность восстановления при ошибке в чтении. Quick scan в Help`e не рекомендуется из-за малого числа (около 500) случайным образом проверяемых секторов. Не рекомендуется также и проверка записанного диска в приводе, в котором производилась запись.
Я выбрал Complete scan и засёк время. По Help`у время полного сканирования должно было занять минут 20, и я за это время хотел повторить через Help особенности программы. Но во время сканирования программа не позволила нажать на кнопку помощи. На самом деле сканирование заняло почти вдвое меньшее время. Результаты сканирования были такими:

- без указания места ошибок. Для того, чтобы узнать конкретное место ошибок, надо было разбираться с настройками по умолчанию. Оказывается, по умолчанию стоит "Не записывать ошибки в файл". Находим эти настройки в команде меню File/Preferences... и ставим необходимую галочку:

Приходится начинать всё сначала. По завершению процесса сканирования данные об ошибках, наконец, доступны в виде текстового файла, открываемого Блокнотом.

Ошибки есть только в этом файле. Начинаем процедуру восстановления. Для этого привычным кликом на названии песни правой кнопки мыши вызываем команду Copy file

Дойдя до первого сектора с нечитаемыми данными, программа спросит, что делать дальше

При выборе Accept All программа в автоматическом режиме продолжит копирование файла с исправлением нечитаемых данных, алгоритм которого, судя по всему, есть заполнение нечитаемых мест нулями. Восстановление продолжалось около получаса, после чего стало возможным прослушивание сохранённого файла. Программа в процессе восстановления работала в фоновом режиме, по окончании восстановления окно с программой я вызвать не мог, хотя кнопка программы в панели задач была. Более того, она была даже в Диспетчере задач, но и через него закрыть её я не смог. При этом вторая копия программы запускалась. Отнести ли это к глюкам работы CD-R Diagnostic под WinXP? Может быть...

CDCheck

Второй программой, восстановившей этот файл, стала программа CDCheck.

Сразу же отмечаем наличие многоязычного интерфейса. Начинаем работу над ошибками опять с полного тестирования диска. Отмечаем про себя, что помимо progress bar, выводится название тестируемого файла, а по нахождению битого файла в нижнем окне выводится его название с кодом ошибки. По окончании тестирования выводится следующее сообщение:

Хоть информация и не настолько детальная, как в предыдущем случае, но в удобстве интерфейса этой программе не откажешь. Займёмся теперь восстановлением файла.

В отличие от первой программы, параметры восстановления - настраиваемые. Кроме этого, автор программы поясняет, что в случае полной нечитаемости сектора это место будет заполнено нулями. Оставляем параметры восстановления выставленными по умолчанию и начинаем процесс. Опять же отмечаем наглядное представление идущего процесса и более полную информацию об ошибках и их исправлении (некоторые нечитаемые сектора были восстановлены полностью, причём, для восстановления одного из секторов понадобились 53 попытки его прочтения - это меня несколько удивило, так как я считал, что под числом повторов до пометки сектора нечитаемым и надо понимать общее число попыток чтения. Оказывается, в случае, когда сектор был хоть раз прочитан, программа упорно желает прочитать этот сектор во второй раз. Поэтому рекомендую минимальным числом повторных чтений сектора назначать единицу). К удобствам программы можно добавить и кнопку Пауза. Но самое главное преимущество этой программы - она работает с любыми устройствами, стоящими в системе. К сожалению, обращение к файлам у ней происходит не в обход файловой системы, напрямую к дискам она обращаться не умеет. Поэтому в восстановлении стёртых файлов она принять участие не сможет.
Как мы помним, при работе CD-R Diagnostic нельзя было вызвать файл помощи соответствующей кнопкой, CDCheck это позволяет сделать.
Полное время восстановления файла составило почти 1 час 35 мин.

IsoBuster Pro 1.2

Третьей программой, принявшей участие в восстановлении файла, стала IsoBuster Pro 1.2.

Как и в предыдущих программах, я решил начать с полного тестирования диска. Для этого авторы предлагают команду Find missing UDF Files and Folders в меню, вызываемом кликом правой кнопки мыши:

Программа достаточно шустро сканировала часть диска, не содержащего ошибки, но при попадании в область с ошибками дело застопорилось. Хотя в окне сканирования существует кнопка Отмена,

нажатие на неё приводило только к появлению песочных часов на месте курсора, если последний находился в этой рамке, и на синей полосе после слов Scanning for lost UDF data появлялись слова Not Responding. Причём, в этот момент не работал и Hyper Snap-DX как 4, так и 5 версии. При нажатии на значок закрытия программы система отвечала, что

Опять же, не знаю, что это - ошибка или специфика работы программы под ХР. Кроме этого, при попытке перетащить окно при сканировании и при копировании файла по Рабочему столу - оно белело. Прервав, таким образом, затянувшийся (а может и зависший) процесс сканирования, я решил сразу перейти к восстановлению читаемости файла. Выбрав его в файловой таблице, опять же правым кликом вызываем меню и назначаем "Извлечь"...

После назначения пути файла-копии начинается извлечение файла с диска. Дойдя до повреждённого участка, программа задаёт нам вопрос: "Что делать дальше?"

Памятуя о том, чем завершился процесс сканирования, я решил поставить галочку в окне Пропустить Всё (полагая, что речь идёт только об повреждённых секторах) и нажал на кнопку Пропуск. Моё предположение оказалось верным - судя по поведению диска и по процентам выполненной работы, программа делала несколько попыток чтения сектора и шла дальше, причём, опять возникли сложности с Hyper Snap - невозможно было снять скриншот. Ещё одной странностью было то, что можно было запустить ещё одну копию программы и, судя по оживающему приводу, она даже начинала его опознавать. Полное время извлечения файла составило около двух часов.

Результаты

Для того чтобы узнать, переросло ли количество в качество, воспользуемся SoundForge 6.0.

Диаграммы относятся к одному и тому же фрагменту файла. Верхняя относится к копии файла, восстановленной CDCheck, средняя - CD-R Diagnostic, нижняя - IsoBuster Pro. Комментарии, на мой взгляд, излишни. Остановлюсь ещё на одном моменте. Для этого воспользуемся WinAmp 2.80 (WinAmp 3.0 по непонятной мне причине отказался воспроизводить файл, созданный CDCheck).

Часть file info оригинала и файлов, созданных CD-R Diagnostic и IsoBuster

А вот file info копии файла по версии CDCheck

Вот как это выглядит под WinHex 10.6 SR2

Вверху фрагмент кода копии файла, созданного CDCheck, внизу - оригинала и копии файла, созданного CD-R Diagnostic.

Какой программе отдать предпочтение? На мой взгляд, в данной ситуации следует отдать предпочтение CDCheck, а IsoBuster в этом случае применять бесполезно. По поводу CD-R Diagnostic можно сказать следующее, программа, в общем-то, добротная (возможно, в более продвинутой своей версии CD-R/DVD Diagnostic лишённая некоторых своих странностей в дефолтных установках), и в случае одновременного повреждения и TOC, и самих файлов она вполне может справиться с восстановлением. Я даже попытался смоделировать эту ситуацию - диск CD-RW, подвергшийся быстрому форматированию с одновременным механическим повреждением. Вот этот диск на снимке (тушь впоследствии была смыта :))

Восстановление ошибочно удалённой информации с CD-RW диска


В этом испытании принимали участие диски, отформатированные программой Ahead InCD 3.51.91.

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


Сразу обращаю внимание неискушённых читателей, что хоть система и обещает в виде подсказки легко и непринуждённо восстановить удалённые с RW-диска файлы из корзины, на самом деле это не так. Так как при записи CD-R/RW образуется только одна таблица размещения файлов, то для того, чтобы восстановить доступ к данным, необходим прямой доступ к диску в обход файловой системы. Напомню, что CDCheck такой возможностью не обладает, но к нему на замену придёт ещё одна программа, уже упоминавшаяся – WinHex 10.6 SR-2

И ещё одно замечание. Так как работа каждой из программ в данном случае идёт с необходимостью монопольного владения ресурсами диска, то восстанавливаемый диск должен помещаться в обычный привод (или при деинсталлированном InCD).

CD-R Diagnostic

Вновь рассмотрение начнём с CD-R Diagnostic. Сразу же по запуску программы и выбора дисковода начинается анализ диска, по завершении которого перед нами откроется содержимое диска. Как и в первый раз, интуитивные действия приводят к ошибке


Меняем окно, опять пытаемся задать команду Copy...

И опять получаем сообщение об ошибке...

Открываем ещё одну папку, и, наконец, видим недавно собственноручно удалённые файлы.

Хотя в Help'e сказано, что вопросительным знаком помечаются возможно повреждённые файлы, пробуем извлечь файл, по объёму подозрительно похожий на инсталлятор драйверов от NVIDIA. После копирования в избранное место и переименования его из Unnamed_0018 в 41.09.exe запускаем его и получаем долгожданное

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

После копирования выделенной папки (диск подвергся быстрому форматированию) получаем

WinHex

Посмотрим теперь, какую помощь сможет оказать нам WinHex (добротно сделанный, со множеством полезных утилит, hex-редактор). В его составе есть утилита Disk Editor, обеспечивающая прямой доступ к содержимому любого диска


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


Выделив этот блок, сохраняем его копию в виде файла

и открываем его в Internet Explorer:

Ясно, что эта методика сработает для любого типа файлов, главное - найти индификаторы его начала и конца. В какой-то степени разработчики программы облегчили наши усилия, закрепив некоторые из них в настраиваемых параметрах команды File Recovery by Type

IsoBuster Pro

Но самое приятное впечатление оставила программа IsoBuster Pro. После знакомства с её возможностями я был также восхищён, как года два назад при знакомстве с программой ZipMagic 4.0, запускавшей приложения из архивов не распаковывая их.


Так и в случае с IsoBuster Pro - программа умеет не только копировать, но и запускать файлы с дисков, подвергшихся либо Quick Format, либо Quick Erase. Здесь она - безоговорочный лидер. Добавим к этому, что работать она может и с DVD-дисками, а также с образами дисков, в том числе, она смогла создать образ диска, принимавшего участие в данном испытании после Quick Format без потери данных (с этим образом для большего удобства работал WinHex).

Выводы и ссылки

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

CD-R Diagnostic (1.1 Мбайт) - линк

CDCheck - линк1 (750 Кбайт), линк2 (790 Кбайт)

IsoBuster Pro (1.9 Мбайт) - линк

WinHex (680 Кбайт) - линк

Восстановление доступа к информации на быстростертых CD-RW


Для удобства работы с CD-RW дисками в ряде записывающих программ, в том числе и в Ahead Nero Burning ROM, предусмотрена команда Quick Erase/Быстрое стирание, при этом полностью затирается только область TOC (таблица размещения файлов) сама же информация остаётся нетронутой. Посмотрим, насколько легко получить доступ к этой информации. Сразу же после Quick Erase и в окне Проводника, и в любой программе, работающей с дисками, этот диск обозначится как пустой (blank). Поиск в Yandex по запросу Recovery Quick Erase CD-RW/ Восстановление быстростёртой CD-RW был не особо результативен. Единственная информация, позволяющая оценить возможность такого восстановления, была на remsoft.newmail.ru.
Обсуждение ситуации с восстановлением стёртого CD-RW в одном из форумов окончательно прояснило ситуацию и с методикой восстановления стёртого CD-RW, и почему это возможно.

Запишем под Ahead Nero Burning ROM на предварительно полностью стёртый CD-RW две папки: первая - это примеры для пакета VB.NET, во второй - исходные материалы для написания первых двух частей этой статьи (режим записи не важен, в любом случае файлы могут быть восстановлены полностью).

И сотрём диск, выбрав

Я уже писал, что из рассмотренных мною программ, помогающих восстановить доступ к информации, только CD-R Diagnostic в состоянии восстановить доступ к информации при одновременном повреждении и TOC, и самих файлов. Сами файлы у нас есть, попробуем создать, пусть и повреждённую, TOC. Для этого воспользуемся советом remsoft и запишем на быстростёртый CD-RW незаконченную сессию DAO (disk-at-once), при этом в качестве записываемого файла можно взять один из сохранённых проектов Nero.

Ориентировочное время от начала записи до нажатия кнопки "Отмена" можно оценить по времени быстрого стирания. Для моего случая процесс Quick Erase длится около 24 секунд, значит, и время с момента начала прожига в сессии DAO до её отмены не должно превышать 24 секунд, иначе начало файла с данными, которые мы хотим восстановить, будет перезаписано. В тоже время, слишком раннее прерывание сессии тоже нежелательно, так как не успеется записаться Lead-in и TOC.

Я прерывал сессию где-то сразу после 10 секунды; после всех формальностей, которыми Nero прерывает сессию, и открытия этого диска в проводнике получаем следующее.

Если вы поспешили с прерыванием сессии, то система скажет, что диск пуст - в этом случае помогает повторный прожиг восстанавливаемой болванки в этом же режиме.

На моей подопытной "болванке" было записано перед стиранием всего около 150 Мбайт, поэтому я не захотел снимать образ всего диска (тем более, что за этими 150 мегабайтами было неотформатированное пространство, и как отнесётся к этому IsoBuster, исправляя эту ошибку, я уже знал после всех экспериментов, когда решил испытать в нём восстановление - при вхождении в неотформатированную зону IsoBuster оценил время окончания работы более чем в 1500 мин, опять завис и выгрузить я его смог только через диспетчер устройств).

Так как и для WinHex неотформатированное пространство было непреодолимой преградой (надо было прокрутку заменять прямой адресацией в интересующий нас сектор)

я запустил CD-R Diagnostic сразу в режиме копирования файла на диск.

Он очень быстро справился с первым неотформатированным промежутком, как обычно спросив, что делать дальше

и так же быстро справился с копированием восстанавливаемой информации. То, что он попал на неотформатированное пространство, оставшееся ещё от сессии с первой записью, которую мы и восстанавливаем, было понятно по вдруг остановившейся статистике восстанавливаемых секторов. Нажимаем Cancel, при этом уже скопированная часть автоматически сохраняется в файле.

По его размеру видим, что вся имевшаяся информация была скопирована. Далее привлекаем WinHex. Так как содержимое мне известно, я делю его на две части. На всякий случай подсчитываем длину копируемого блока - действительно, около 26 Мбайт.

Оставшаяся часть тоже копируется в новый файл и начинается извлечение из него данных. Вводим в поле поиска индификатор bmp-файла, активируем архивацию найденного по всему файлу сочетания, соответствующего индификатору bmp-файла:

и по полученным результатам поиска находим вероятное начало файла.

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

Копируем его в новый файл и получаем визитную карточку CD-R Diagnostic, помогшего нам и в этот раз.

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

Далее, на отформатированный под InCD диск я записал те же папки. Хотя при установленном InCD отформатированный для пакетной работы CD-RW-диск в принципе нельзя стереть при помощи Ahead Nero Burning ROM - последняя не запустится, под другими программами, стоящими в системе, это возможно. Например, известная программа Alcohol позволяет это, причём InCD даже не сделает попыток этому воспрепятствовать и определит, что диск подвергся Quick Erase только при повторной загрузке диска. Как и в первом случае, копируем с помощью CD-R Diagnostic содержимое диска на жёсткий диск и вновь открываем его для просмотра и редактирования в WinHex. Видим, что в случае отформатированного под InCD диска существует проблема в виде читаемых служебных меток и зарезервированного пустого места.


В случае читаемых текстовых файлов это не страшно - просто редактируем в том же WinHex, вырезая пустые места и служебные метки. В случае же исполняемых файлов и файлов графических, это может привести к искажению информации. Я попытался восстановить bmp-файл, и вот что у меня получилось (время, затраченное на обе попытки, составило около 1.5 часов).

Попытка первая - удаление всех служебных меток и пробелов между ними


Графическим файлом выступил рабочий скриншот Sound Forge

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

Нельзя сказать, что стало хуже - обратите внимание на ставший правильным цвет части рамки с надписью Sound Forge. В общем, при восстановлении с такого диска больших графических файлов (объём файла с этой картинкой - свыше 2 Мбайт) потребуется очень много ручного труда и терпения.