Как восстановить не читающийся CD?
Страница 5. Диск читается с ошибками


Диск читается с ошибками

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

Прежде всего: ошибка ошибке рознь. Редко бывает так, чтобы сектор не читался весь целиком. Как правило, речь идет об искажении одного или нескольких принадлежащих ему байт. Причем корректирующая способность избыточных кодов такова, что до 392 сбойных байт исправляется уже в декодере первого уровня (CIRC-декодере). Еще до 86 ошибок способны исправлять P-коды и до 52 ошибок – Q-коды. Т. е. при наиболее благоприятном распределении ошибок удается восстановить вплоть до 530 ошибок или до ~25% общей емкости сектора. Лишь чудовищная ненадежность оптических носителей приводит к тому, что даже такая колоссальная избыточность данных иной раз не в силах противостоять сбоям.

В зависимости от установочных параметров, накопитель, обнаружив неустранимый сбой, либо отдает сектор в том виде, в котором его удалось прочесть, либо же просто рапортует об ошибке, оставляя содержимое выходного буфера в неопределенном состоянии. Идея восстановления состоит в том, чтобы заставить привод выдавать все, что он только способен прочесть. Конечно, искаженные байты уже не вернуть назад, однако многие форматы файлов вполне лояльно относятся к небольшим разрушениям. Музыка в формате mp3/wma, видеофильмы, графические изображения – все они будут вполне нормально воспроизводиться: только непосредственно на месте самого искажения возникнет щелчок той или иной громкости или мелькнет "артефакт". С архивами ситуация обстоит значительно хуже, но в подавляющем большинстве случаев вы потеряете всего один-единственный файл, а все остальное содержимое архива распакуется нормально (кстати, некоторые архиваторы, такие например, как RAR поддерживают собственные корректирующие коды, позволяющие при минимальной избыточности восстанавливать "битые" архивы).

"Постойте! – возразят мне иные читатели. – Как же было дело! Пробовали мы восстанавливать не читающиеся диски теми или иными утилитами. Ну и что? "Вылеченный" mpg или avi система наотрез отказалась считать видео-файлом! " "Так все дело в том, – резонно возражу я, – что эти самые утилиты просто выкидывали все сектора, которые они не могли прочесть, в результате чего размер файла, а значит, и относительные смещения всех его структур изменились! Неудивительно, что после такой кастрации он перестал воспроизводиться!"

Воспользуйтесь любым копировщиком защищенных дисков, предоставляющим выборочное управление режимом обработки ошибок и выберите режим 24h (максимально возможная коррекция ошибок без прерывания передачи данных в случае невозможности их восстановления). Среди прочих утилит для этой цели подойдет тот же cd_raw_read, разработанный автором. Как альтернативный вариант вы можете использовать Alcohol 120% и/или Clone CD.

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

Немногочисленные узкие царапины, в общем-то, не опасны – содержимое сектора размазано вдоль спиральной дорожки и потому выпадения нескольких байт легко компенсируются за счет избыточности. Правда, тут есть одно "но". Откуда приводу знать сколько именно "питов" и "лендов" было пропущено? Поскольку "питы" и "ленды" напрямую не соответствуют двоичному нулю и единице, и единица кодируется переходом от "пита" к "ленду" или наоборот, а нуль – отсутствуем переходов на данном участке, становится понятно, что пропадание нечетного числа "питов"/"лентов" как бы переворачивает весь хвост фрейма с ног на голову, т. е., другими словами, - его гробит. Отсюда: даже одна-единственная царапина способна породить целый каскад ошибок, неустранимых штатными корректирующими кодами, но, в принципе, поддающихся ремонту вручную. Ну, не то, чтобы совсем вручную, – необходимая для этой цели утилита уже написана автором и сейчас проходит стадию альфа-тестирования, на ура читая те диски, которые не читались нормальным путем. Не исключено, что к моменту выхода данной статьи она перейдет в стадию бета-тестирования и станет бесплатно доступна всем желающим. Впрочем, поскольку длина одного фрейма составляет всего 24 байта, разрушение нескольких подряд идущих фреймов может быть реконструировано и штатными корректирующими кодами, и к помощи моей утилиты приходится прибегать лишь на сильно поцарапанных дисках.

Широкие царапины – другое дело. Мало того, что они "съедают" несколько фреймов целиком, так еще и сбивают оптическую головку с дорожки. Попав в образованную царапиной дыру, головка совершенно дезориентируются (ей становится попросту не на что опираться!) и "вылетает" в одну из соседних дорожек. Умные приводы автоматически распознают такую ситуацию и позиционируют головку на нужное место. Приводы поглупее (коих, кстати, подавляющее большинство) самоуверенно продолжают чтение, как ни в чем не бывало. В результате, голова одного сектора скрещивается с хвостом другого и… естественно, при попытке восстановления такого сектора штатными корректирующими кодами ничего, кроме мусора, не получается, и привод уныло диагностирует неисправимую ошибку. Выход – читать такой сектор до тех пор, пока головка не попадет на ту же самую дорожку, с которой начиналось чтение сектора. Количество попыток чтения при этом должно быть достаточно велико (от 100 и больше). Ведь с точки зрения вероятности отклониться от спиральной дорожки намного проще, чем удержаться на ней!

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

Царапины, расположенные с нижней стороны диска, в большинстве случав устраняются полировкой, а вот царапины, "высверлившие" рабочий слой, ликвидировать – увы! – невозможно.

 
« Предыдущая статья   Следующая статья »