К содержимому полей PMin:PSec:PFrame
, принадлежащих point 0x01
(стартовый адрес первого трека), необходимо добавить ту же самую величину, которую вы добавили к соответствующим полям Lead-Out
. Отредактированный вариант может выглядеть, например, так: 74:01:42
(74:30:00 /* новый адрес Lead-out */ - 00:29:33
/* старый Lead-Out */ + 00:01:00
/* старый стартовый адрес первого трека */ == 74:01:42
/* новый стартовый адрес */). Короче говоря, новая версия файла ccd должна выглядеть так, как показано в листинге 10.3.
Листинг 10.3. Ключевой фрагмент "реаниматора" 75-минутных CD-RW-дисков
[Entry 2] [Entry 3]
Session=1 Session=1
PMin=74 PMin=74
... ...
PSec=30 PSec=01
PFrame=00 PFrame=42
Вообще-то для приличия следовало бы скорректировать и поля PLBA
. Адрес LBA связан с абсолютным адресом следующим соотношением: LBA == ((Min*60) + sec)*75 + Frame
, однако текущие версии работают исключительно с абсолютными адресами и игнорируют адреса LBA. Теперь все, что находится между концом области Lead-in
и началом первого сектора, будет называться pre-gap
. При "прожиге" диска область pre-gap
останется нетронутой и позже может быть прочитана на секторном уровне, что нам как раз и требовалось. Сказать по чести, чрезмерное увеличение pre-gap
первого трека — не самая лучшая идея, так как не все приводы способны читать такой "жирный" pre-gap
. С точки зрения совместимости было бы лучше увеличивать pre-gap
второго трека, однако при этом первый трек придется располагать в самом начале диска, и его тело неизбежно затрет восстанавливаемые сектора. И хотя это — не такая уж большая проблема, так как в первых секторах диска все равно ничего ценного нет, к такой мере без особой необходимости все же лучше не прибегать. На крайний случай действуйте так: запишите на диск две сессии, и вместо стартового адреса point 0x01
меняйте стартовый адрес point 0x02
(он будет находиться в разделе session=2
).
Теперь наскоро очистим наш подопытный диск, и до предела заполним его какими-нибудь файлами.
Предпочтительнее всего использовать текстовые файлы, так как в этом случае будет сразу видно, что извлекается с восстановленного диска — мусор или полезная информация.
Записав файлы на диск, тут же выполним его быструю очистку. Убедившись, что диск действительно очищен, и его содержимое уже недоступно, запустим Clone CD и запишем на очищенный диск только что созданный нами "лечебный" образ. Запись должна проводиться в режиме DAO, иначе ничего хорошего у вас не получится.
Прежде чем восстанавливать сколько-нибудь ценный диск на еще неизвестном вам приводе, попробуйте провести эксперимент на диске, не содержащем ничего интересного.
Вот, наконец, мы держим в руках свежевосстановленный диск. Но действительно ли он восстановлен? А вот сейчас и убедимся! Вставляем "воскресшего из пепла" в привод NEC и с замиранием сердца пробуем прочитать один из наугад взятых секторов из середины диска (начальные сектора обычно содержат нули, потом — файловую систему, и их очень легко принять за бессмысленный мусор). О чудо!!! Оригинальное содержимое очищенного диска читается, как ни в чем не бывало. Правда, при попытке прочесть оглавление диска средствами операционной системы привод может впасть в задумчивость, граничащую с полным зависанием (ведь стартовый адрес первого трека расположен не в начале диска, а совсем в другом месте), но это все ерунда! Главное, что на секторном уроне диск все-таки доступен, пусть и не на всех приводах. Так, в частности, ASUS вообще отказывается читать такой диск, возвращая ошибку, a PHILIPS читает сплошной мусор. К счастью, этот мусор можно восстановить, — достаточно на битовом уровне выполнить EFM-перекодировку с более "правильной" позиции. Поскольку возможных позиций всего 14, перебор обещает не затягиваться на длительное время. Тем не менее, лучше всего будет просто приобрести более качественный привод.