Як відновити не читається CD

Лазерні диски – не дуже-то надійні носії інформації. Навіть при дбайливому поводженні з ними ви не застраховані від появи подряпин і забруднення поверхні (часом диск фрезерує безпосередньо сам привід і ви безсилі цьому протистояти). Але навіть цілком нормальний на вигляд диск може містити внутрішні дефекти, що призводять до його повної або часткової нечитаності на штатних приводах. Особливо це актуально для CD-R/CD-RW дисків, якість виготовлення яких все ще залишає бажати кращого, а процес запису пов’язаний з появою різного роду помилок.

Однак навіть за наявності фізичних руйнувань поверхні лазерний диск може цілком нормально читатися за рахунок величезної надмірності зберігаються на ньому даних, але потім, у міру розростання дефектів, коректує здібності кодів Ріда-Соломона несподівано перестає вистачати, і диск без жодних видимих причин відмовляється читатися, а то й зовсім не розпізнається приводом.

На щастя, в переважній більшості випадків збережену на диску інформацію все ще можна врятувати, і ця стаття розповідає як.

Загальні рекомендації з відновлення

Не всякий не читається (нестабільно читається) диск – дефектний. Найчастіше в цьому винен аж ніяк не сам диск, а операційна система або привід. Перш ніж робити які-небудь висновки, спробуйте прочитати диск на всіх доступних вам приводах, встановлених на комп’ютерах невинно-чистою операційною системою. Багато приводів, навіть цілком фірмові і дорогі (наприклад, мій PHILIPS CD-RW 2400), після нетривалої експлуатації стають вкрай примхливими і дратівливими, відмовляючи в читанні тим дискам, які всі інші приводи читають без жодних проблем. А операційна система в міру обростання свіжим софтом схильна підхоплювати різні глюки підчас проявляються самим загадковим чином (зокрема, привід TEAC, встановлений в систему з драйвером CDR4_2K.SYS, що дістався йому у спадок від PHILIPS a, конфліктує з CD Player му, не погоджуючись відображати вміст дисків з даними, якщо той активний, після видалення ж CDR4_2K.SYS все йде як по маслу).

Також не варто забувати і про те, що коригуюча здатність різних моделей приводів дуже і дуже неоднакова. Як пише інженер-дослідник фірми ЕПОС Павло Хлизов у своїй статті Проблема: несправний CD-ROM :: залежно від обраної для конкретної моделі CD-ROM стратегії корекції помилок і, відповідно, складності процесора і пристрою в цілому, на практиці той чи інший CD-ROM може або виправляти одну-дві дрібні помилки в кадрі інформації (що відповідає дешевим моделям), або в кілька етапів відновлювати, з імовірністю 99,99%, серйозні і довгі руйнування інформації. Як правило, такими коректорами помилок оснащені дорогі моделі CD-ROM. Це і є відповідь на часте питання: Чому ось цей диск читається на машині товариша, а мій ПК його навіть не бачить? .

Взагалі-то, не зовсім зрозуміло, що конкретно паном інженером-дослідником малося на увазі: коригувальні коди C 1, C 2, Q-і P-рівнів коректно відновлюють всі відомі мені приводи, і їх коригуюча здатність дорівнює: до двох 2 помилок на кожен з C 1 і C 2 рівнів і до 86 – і 52-помилок на Q-і P-рівні відповідно. Правда, кількість виявляються, але вже математично невиправних помилок становить до 4 помилок на C 1 і C 2 рівнів і до 172/104 помилок на Q / P, але: гарантовано визначається лише позиція збійних байт у фреймі / секторі, а не їх значення. Втім, знаючи позицію збійних байт і маючи в своєму розпорядженні вихідний HF-сигнал (тобто аналоговий сигнал, знятий безпосередньо зі голівки, що зчитує), деякі крихти інформації можна і витягнути, принаймні теоретично: так що наведена вище цитата в принципі може бути і вірна, однак, за спостереженнями автора даної статті, ціна приводу дуже слабо корелює з його читабельною здатністю. Так, відносно дешеві ASUS читають практично всі, а дорогі PHILIPS и навіть свої рідні диски з драйверами пізнають через раз.

Інша важлива характеристика – доступний діапазон швидкостей читання. У загальному випадку – чим нижче швидкість обертання диска, тим м’якше вимоги, пропоновані до його якості. Правда, залежність ця не завжди лінійна. Більшість приводів мають одну або декілька найбільш бажаних швидкостей обертання, на яких їх читабельна здатність максимальна. Наприклад, на швидкості 8x дефектний диск читається на ура, а на всіх інших швидкостях (скажімо, 2x, 4x, 16x, 32x) – не читається взагалі. Бажана швидкість легко визначається експериментально, необхідно лише перебрати повний діапазон доступних швидкостей.

При покупці CD-ROM a вибирайте той привід, у якого швидкісний діапазон максимальний. Наприклад, вже згаданий вище PHILIPS CDRW 2400 уміє працювати лише на: 16x, 24x, 38x і 42x. Відсутність швидкостей порядку 4x – 8x обмежує раціон приводу тільки високоякісними дисками.

З незрозумілих причин, штатні засоби операційної системи Windows не дозволяють керувати швидкістю диска і тому доводиться вдаватися до допомоги сторонніх утиліт, на брак яких, втім, скаржитися не доводиться. Ви можете використовувати Slow CD , Ahead Nero Drive Speed і т. д. Взагалі, більшість приводів самостійно знижують швидкість, натрапивши на не читають сектора, проте якість закладених в них алгоритмів все ще залишає бажати кращого, тому ручне управління швидкістю дає значно кращий результат.

Якщо ж ні на одному з доступних вам приводів диск все одно не читається, можна спробувати відшліфувати його якою-небудь полировальной пастою. Техніці полірування оптичних поверхонь (і лазерних дисків зокрема) присвячена величезна кількість статей, опублікованих як в друкованих виданнях, так і в Інтернеті (особливо корисні в цьому сенсі астрономічні книги з телескопобудування), тому тут це питання буде розглянуто лише коротко. Так, дійсно, подряпаний диск у більшості випадків можна відполірувати, і якщо все зробити правильно, диск з високим ступенем ймовірності повернеться з небуття, але: По-перше, полірування відновлює лише подряпини нижньої поверхні диска і безсила протистояти руйнувань відбиває шару. По-друге, усуваючи одні подряпини, ви неминуче вносите інші – після іншої поліровки лазерному диску може дуже сильно поплохеть. По-третє, поліровці дисків неможливо навчитися за раз, – вам знадобитися сила-силенна часу і купа піддослідних дисків. Ні вже, дякую! Краще ми підемо іншим шляхом!

А ось що вашому диску дійсно не завадить – так це протирання звичайними серветками, просоченими антистатиком (шукайте їх у комп’ютерних магазинах). Перш ніж витирати диск, сдуйте всі частинки пилу, що осіли на нього (інакше ви його тільки більше подряпаєте) і ні в якому разі не рухайтеся концентричними мазками! Витирати поверхню диска слід радіальними рухами від центру до країв, замінюючи серветку на кожному проході.

Диск не може розпізнається приводом

Ви вставляєте диск в привід. Привід розкручує диск, судорожно блимаючи при цьому індикатором активності, потім, переконавшись у тому, що на заданій швидкості диск не читається, починає знижувати оберти аж до повної зупинки диска. Індикатор DISK IN (якщо він присутній на лицьовій панелі приводу) сумно гасне, даючи тим самим зрозуміти, що шматок пластику, засунутий в привід, з точки зору приводу являє собою все що завгодно, але тільки не компакт-диск. При спробі звернення до диску видається повідомлення про відсутність диска в дисководі і ввічливе пропозицію його туди вкласти.

Нездатність приводу впізнати диск в переважній більшості випадків є свідчення несправності CD-ROM приводу. Рідше – дефективности самого лазерного диска. Навіть якщо вчора цей диск цілком упевнено упізнаваний, і навіть якщо привід пізнає всі інші диски – не поспішайте запевняти себе в його, приводу, працездатності! Спробуйте прочитати диск на іншому приводі. На худий кінець – зменшіть швидкість обертання диска до мінімальної, однак будьте готові до того, що привід вас не послухається. Справа в тому, що більшість приводів автоматично скидають минулі установки швидкості при зміні диска і не дозволяють змінювати швидкість аж до тих пір, поки диск НЕ буде пізнаний (особливо цим славляться приводи TEAC, приводи від ASUS зазвичай ведуть себе більш демократично).

Якщо ж піддослідний диск відмовляється опізнаватися усіма доступними вам приводами, то причина швидше за все в тому, що ті не можуть прочитати зміст диска (також зване TOC му ), Що зберігається в Lead-In області. Вийміть диск з приводу і уважно розгляньте вузьке блискуче кільце, розташоване у внутрішнього краю диска – це і є Lead-In. Чи немає на ньому глибоких подряпин або забруднень? Забруднення видаліть чистою серветкою (до слова сказати, при очищенні диска про вступну область часто якось забувають, ймовірно приймаючи її за марне декоративна прикраса). Боротися з подряпинами набагато важче, і без належного досвіду поліровки лазерних дисків за цю справу краще не братися. Найкраще було б віднести такий диск в сервісний центр, що спеціалізується на відновленні інформації, проте далеко не у кожному місті такі центри взагалі є і далеко не завжди вони виконують таке відновлення оперативно і грамотно. Знову-таки: конфіденційність, вартість відновлення та інше, інше, інше:

Чи можна відновити такий диск самостійно? Так, можна, але для цього вам знадобиться певний обладнання, яке коштує близько 1000 рублів (~ 30 $). Конкретно – окремий CD-ROM привід, над яким буде не шкода познущатися, і втратою якого ви опинитеся не надто сильно засмучені (дуже добре підходять для цих цілей низькошвидкісні приводи, що залишилися від останнього апгрейда системи).

Весь фокус у тому, що для роботи з диском на сектором рівні TOC не так вже і потрібен, і без нього цілком можна обійтися. Фактично, це не апаратна, а програмна проблема. Виявивши, що в процесі читання змісту диска виникли непереборні помилки, мікропрограма, зашита в ПЗУ приводу, відмовляє такій диску в обробці, незважаючи на те, що вміст TOC а дубльовано в Q-каналі підкоду і розмазано по всій спіральній доріжці. Причому привід реально потребує лише в трьох основних полях TOC a: адресі вивідний області диска (Щоб знати: досі можна смикати голівкою), стартовому адресі першого треку (Щоб знати, звідки починати читання даних) і адресі наступної вступної області (Тільки для багатосесійних приводів). Зі стартовим адресою першого треку розібратися найпростіше – він по життю дорівнює 00:02:00 (що відповідає нульовому LBA-адресою). Адреса Lead-Out, що прямо залежить від обсягу лазерного диска, не обов’язково вказувати точно, досить вибрати його таким, щоб він був не менше адреси сьогодення Lead-Out, інакше всі розташовані за ним сектора виявляться недоступними. Встановивши адресу Lead-Out на 80 – або навіть 90 хвилин ми можемо гарантувати, що вся поверхня диска буде доступна приводу. Коротше кажучи, май ми доступ до внутрішніх структурам прошивки приводу, відновлення зруйнованого TOC a було б нікчемною справою. Автор використовує для цих цілей спеціальним чином модифіковану їм прошивку звичайного CD-ROM приводу (старенька 8x модель від no name), яка дозволяє маніпулювати будь-якими службовими даними і тому читає все, що тільки фізично можна прочитати.

Якщо ж Хачин мікропроцесорних програм вам не по зубах, можна піти іншим шляхом. Акуратно розберіть CD-ROM привід і витягніть його начинку з корпусу (тепер ви зрозуміли, чому автор порекомендував купити для цих цілей окремий – максимально дешевий – привід?). Тепер відкрутіть болти, що утримують металеву планку, на якій закріплений такий собі п’ятачок, притискається до верхнього краю лазерного диска і тим самим уберігає його від прослизання. Замість цієї некузявой конструкції ви можете використовувати металеве кільце або іншу тяжкість. Головне – отримати вільний доступ до лазерного диску і можливість його гарячої зміни на ходу без висування лотка.

Підключіть CD-ROM до комп’ютера і, включивши харчування останнього, нормальним шляхом вставте в привід спеціальним чином підготовлений диск, адресу вивідний області якого лежить в районі 80 – 90 хвилин (можна просто вставити будь CD з відеофільмом від 700 мегабайт). Переконавшись, що диск нормально пізнаний, дочекайтеся його повної зупинки і – не вимикаючи комп’ютера – акуратно зніміть його з приводу, ні в якому разі не відкриваючи лоток. Тепер – встановіть в привід той диск, який ви збираєтеся відновлювати. Оскільки TOC старого диска вже знаходиться в кеші, а заміну диска, досконалу таким варварським способом, привід виявити не в змозі, він буде працювати з новим диском точно так само, як і зі старим. Тільки не намагайтеся читати вміст диска засобами операційної системи – це ні до чого доброго не приведе (адже вона теж вміє кешувати і скільки б ви не тиснули на оновити, у вікні провідника буде незмінно колишнє Зміст). Краще візьміть будь Хапуга, що читає диск на секторному рівні і не задає при цьому зайвих питань (можна скористатися утилітою cd_ raw_ read , безкоштовно поширюваної автором цієї статті) і скопіюйте весь вміст диска від першого сектора до останнього у файл-образ, а потім, використовуючи будь-яку відповідну програму пропалювання, залийте його на CD-R або CD-RW. Нехай ви не відновите сам диск, але зате – його вміст! Ця методика з однаковим успіхом застосовна як для аудіодисків, так і для дисків з даними.

Як варіант: можна не відкручувати притискну планку, а знайти датчик зміни диска і на час зробити йому харакірі, змушуючи привід думати, що відновлюваний диск ні замінений (дешеві приводи використовують прості механічні датчики, відразу ж впадають в очі, в більш дорогих моделях окремого датчика взагалі немає і ознакою зміни диска вважається натиснення на EJECT; в цьому випадку з деяким ризиком можна скористатися отвором для аварійного витягу диска, проте майте на увазі, що витяг диска на працюючому приводі може необоротно скалічити його механічну частину).

До слова сказати, існують і такі приводи, які примудряються читати диск навіть при повністю зруйнованому TOC е. До них, зокрема, відносяться деякі моделі переписувачів від MSI. Володарям цих приводів немає чого розгвинчувати свій CD-ROM – збійний диск він прочитає і так.

Також при відновленні багатосесійних дисків можна спробувати просто зачорнити вступну область диска чорним маркером, – вміст першої сесії при цьому виявиться втраченим, але от всі наступні сесії більшість приводів прочитають на ура. Нагадую, що вступна область диска виглядає як блискуче кільце, розташоване навколо внутрішньої кромки диска.

Диск розпізнається приводом, але не розпізнається операційною системою

Ви вставляєте диск в привід. Привід розкручує диск, запалює індикатор DISK IN (якщо він є), проте спроба перегляду вмісту диска штатними засобами операційної системи призводить до повідомлення про ту чи іншу помилку. Сканування поверхні диска утилітою Ahead Nero CD Speed (Або будь-який інший утилітою аналогічного призначення) виявляє один або кілька зруйнованих (damaged) секторів.

Це явний симптом ушкодження файлової системи, а точніше – її кореневого каталогу. Якщо це сталося – не хапайтеся за серце. Відновлення коревого каталогу лазерних дисків, на відміну від вінчестерів і дискет, не представляє великої проблеми. Переважна більшість лазерних дисків містять не одну, а відразу дві файлових системи, дублюючих один одного – ISO 9660 і Joliet (такими є всі диски, випущені після 1995 року). Погодьтеся, одночасне руйнування відразу двох кореневих каталогів – подія вкрай малоймовірне. До того ж, в силу відсутності фрагментації, вкладені підкаталоги не розкидані по всій поверхні лазерного диска, а зосереджені в одному місці, завдяки чому навіть при повністю зруйнованому кореневому каталозі їх досить легко відновити. Нарешті, кожна наступна сесія багатосесійність диска включає в себе вміст файлових систем усіх попередніх сесій (виключаючи, зрозуміло, вилучені файли). А тому, при смерті файлової системи останній сесії ми без праці можемо врятувати вміст всіх інших.

На жаль, штатні засоби Windows не надають можливості вибіркового монтування ні кращою файлової системи, ні кращою сесії, примусово підсаджуючи нас на кореневий каталог Джульєти останній сесії диска. Найпростіше, що можна зробити – спробувати прочитати диск під голою MS-DOS з встановленим драйвером MSCDEX, працюючим виключно з ISO 9660 і ігнорують існування Joliet. Як варіант, ви можете скористатися утилітою ISO 9660.dir , розробленої автором спеціально для роботи з порушеннях файловими системами і відновлювальної все, що тільки можна відновити.

Природно, в силу того, що максимальна довжина файлових ідентифікаторів у системі ISO 9660 складає всього лише 11 символів, довгі файлові імена виявляються необоротно спотворені, проте, погодьтеся, це все ж краще ніж зовсім нічого.

При вставці диска в привід комп’ютер зависає

Ви вставляєте диск в привід, привід розкручує диск, інтенсивно кліпаючи індикатором активності, і: зависає, часто завішуючи разом з собою і операційну систему. У легких випадках положення рятує EJECT, у важких – RESET.

Така поведінка характерна для захищених дисків, захист яких заснована на спотвореному TOC e. Більшість приводів до спотвореного TOC у ставляться досить лояльно (хоча це дивлячись ще що спотворювати), але зустрічаються і такі, які при цьому просто виснуть. Якщо прочитати захищений диск все ж необхідно – спробуйте змінити привід.

Інший можливий варіант – зациклена файлова система. При прожиге CD-R/CD-RW дисків кривим софтом таке часто трапляється. Утримуючи SHIFT під час завантаження диска, забороніть операційній системі читати його вміст (або ж просто тимчасово вимкніть автозапуск) і за допомогою тієї ж утиліти ISO 9660.dir витягніть з диска все, що тільки з нього можна витягнути.

Диск читається з помилками

Якщо незважаючи на всі хитрощі типу зниження швидкості або очищення поверхні диск все одно читається з помилками і збійні сектора припадають якраз на область, занятную найціннішими файлами, то справа – труба. Але все ж шанси успішного відновлення даних є, нехай і невеликі.

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

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

Стривайте! – Заперечать мені інші читачі. – Як же була справа! Пробували ми відновлювати не читає диски тими чи іншими утилітами. Ну і що? Вилікуваний mpg або avi система навідріз відмовилася вважати відео-файлом! Так вся справа в тому, – резонно заперечу я, – що ці самі утиліти просто викидали всі сектори, які вони не могли прочитати, в результаті чого розмір файлу, а значить, і відносні зміщення всіх його структур змінилися! Не дивно, що після такої кастрації він перестав відтворюватися!

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

Питаєте: а з яких причин сектор може перестати читатися? Перш за все це глибокі і широкі радіальні подряпини з боку верхньої частини. Подолавши тонкий бар’єр захисного лакового шару подряпини виїдають безпосередньо сам відображає матеріал, а разом з ним – і корисні дані.

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

Широкі подряпини – інша справа. Мало того, що вони з’їдають кілька фреймів цілком, так ще й збивають оптичну голівку з доріжки. Потрапивши в утворену подряпиною діру, головка абсолютно дезорієнтується (їй стає просто не на що спиратися!) І вилітає в одну з сусідніх доріжок. Розумні приводи автоматично розпізнають таку ситуацію і позиціонують голівку на потрібне місце. Приводи дурнішого (яких, до речі, переважна більшість) самовпевнено продовжують читання, як ні в чому не бувало. В результаті, голова одного сектора схрещується з хвостом іншого і: природно, при спробі відновлення такого сектора штатними коригуючими кодами нічого, крім сміття, не виходить, і привід понуро діагностує непоправну помилку. Вихід – читати такий сектор доти, поки головка не потрапить на ту ж саму доріжку, з якою починалося читання сектора. Кількість спроб читання при цьому має бути досить велике (від 100 і більше). Адже з точки зору ймовірності відхилитися від спіральної доріжки набагато простіше, ніж утриматися на ній!

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

Подряпини, розташовані з нижнього боку диска, в більшості випадків усуваються поліруванням, а от подряпини, висвердлите робочий шар, ліквідувати – на жаль! – Неможливо.

Автор: Кріс Касперски

Коментування вимкнено .

  1. Юра :

    Стаття супер, але дуже довгий.
    Я обізательно попробуюпоіздеватся над СD-ком.