Відновлення даних із лазерних дисків
Добре, зайдемо з іншого боку. Запишемо на диск один реальний трек, що займає мінімально можливу кількість секторів (за стандартом – 300, але деякі дроти цілком задовольняються і меншими значеннями), але розширимо його pre-gap з двох секунд на весь диск! В результаті ми втратимо лише 300 останніх секторів, але отримаємо доступ до всього іншого вмісту. Враховуючи, що на диску цих секторів налічується трохи більше 300 тисяч, неважко підрахувати, що відсоток успішно відновленої інформації становить щонайменше 99,999% ємності всього диска, та й то за умови, що вихідний диск був забитий цілком, що у живій природі практично ніколи не спостерігається. Якщо ж це вас не задовольняє – розробляйте власний софт, що коректно записує фіктивний TOC, але нічого не робить понад це (Lead-in область записує сам привід, ну а без Lead-out при акуратному поводженні з диском, в принципі, можна і обійтися , головне – намагатися прочитати сектори, що знаходяться за межами диска, інакше поведінка приводу стане важко передбачуваною). Мені ж, по-любому, це робити ліньки, – з відновленням повністю забитих дисків я ще не стикався. Принаймні поки що…
Процедура відновлення складається із трьох частин: підготовки вихідного образу треку з нормальним pre-gap; збільшення pre-gap до розмірів цілого диска та запису виправленого образу на диск, що відновлюється. Перші два етапи достатньо виконати всього один раз, тому що отриманий образ (далі ми називатимемо його "цілющим") може використовуватися для всіх дисків (читай:для всіх дисків тієї ж самої ємності, зі зрозумілих міркувань ви не зможете коректно відновити 23-мінутрі диск за допомогою образу, призначеного для 80-хвилинного диска і, відповідно,навпаки).
Для початку візьмемо чистий CD-RW диск ("чистий" не в сенсі "ні разу не записаний", а очищений швидким або повним очищенням, також для цих цілей підійде і CD-R). Використовуючи будь-яку утиліту для штатного "пропалу", запишемо на нього один крихітний файл, що "висить" не більше 500 кілобайт (важчий файл просто не вміститься в заплановані 300 секторів). Виконувати фіналізацію диска не потрібно.
Запустимо Clone CD (Alcohol 120%) та знімемо образ диска. Через хвилину-другу на вінчестері утворюються два файли: file name.img і file name.ccd (якщо ви попросили Clone CD зберігати також і субканальну інформацію, утворюється третій файл - file name.sub, проте субканальна інформація в даному випадку тільки заважатиме, тому опцію "читання субканалів з треків з даними" краще всього відключити або просто видалити file name.sub з диска; .
[Entry 2] [Entry 3] Session=1 Session=1 Point=0xa2 Point=0x01 ADR=0x01 ADR=0x01 Control=0x04 Control=0x04 TrackNo=0 TrackNo=0 AMin=0 AMin=0 ASec=0 ASec=0 AFrame=0 AFrame=0 ALBA=-150 ALBA=-150 Zero=0 Zero=0 PMin=0 PMin=0 PSec=29 PSec=1 PFrame=33 PFrame=0 PLBA=2058 PLBA=0
Змінимо поля PMin:PSec:PFrame, що належать point`у 0xa2, так, щоб вони вказували на кінець диска (0xa2 – це якраз Lead-Out і є). Змінений Lead-Out може виглядати, наприклад, так: 74:30:00. Адреса Lead-Out слід вибирати з таким розрахунком, щоб між ним та зовнішньою кромкою диска залишався щонайменше 30-секундний зазор. Ще краще, якщо ширина Lead-Out становитиме півтори хвилини або близько того. Однак у цьому випадку неминуче губляться останні треки диска, що відновлюється (якщо, звичайно, вамдійсно потрібно їх відновити).
[Entry 2] [Entry 3] Session=1 Session=1 … … PMin=74 PMin=74 PSec=30 PSec=01 PFrame=00 PFrame=42