View Single Post
Old 01 Jan 07, 15:23   #2 (permalink)
Top VIP
VIP Ultra Club
Амиго's Avatar
Join Date: Nov 2006
Posts: 27,662
Rep Power: 45 Амиго is on a distinguished road
Send a message via ICQ to Амиго
Диск не опознается приводом

Вы вставляете диск в привод. Привод раскручивает диск, судорожно мигая при этом индикатором активности, затем, убедившись в том, что на заданной скорости диск не читается, начинает снижать обороты вплоть до полной остановки диска. Индикатор "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 поддерживают собственные корректирующие коды, позволяющие при минимальной избыточности восстанавливать "битые" архивы).

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

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

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

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

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

Царапины, расположенные с нижней стороны диска, в большинстве случав устраняются полировкой, а вот царапины, "высверлившие" рабочий слой, ликвидировать - увы! - невозможно.
 
Амиго is offline  
Reply With Quote
 
 

All times are GMT +4. The time now is 10:02.

 v.0.91  v.1  v.2 XML Feeds JavaScript Feeds


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.



Liveinternet
User Control Panel
Networking Networking
Social Groups Social Groups
Pictures & Albums All Albums
What's up
Who's Online Who's Online
Top Statistics Top Statistics
Most Active Forumjans Most Active Forumjans

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89