Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Техника без "опасности" или как я поднимал "умершие" диски.


Техника без "опасности" или как я поднимал  "умершие" диски
Господин J.

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

Непрофессионалы отличаются от профи тем что способны своими руками угробить вполне работоспособное устройство.

Обычно начинается со сбоев. Несколько плохих участков на жестком диске вызывают панику : "Диск начал сыпаться !" Из этого должно следовать : "Дефекты будут развиваться и усугубляться ". А уже наше суровое воспитание приводит к логичному выводу : "Надо его чайнику спихнуть". После чего диск начинает последнее путешествие - по рукам этих самых чайников. В итоге рынок оказывается захламлен битым железом. Десять лет назад размер жесткого диска не доходил до гигабайта, а о диске с предельным для 386-машины размером в 540 мБ многие только мечтали... Примерно в то время я начал заниматься ремонтом жестких дисков. Началось с книги Уинна Роша, где я раскопал простой и эффективный способ низкоуровневого форматирования MFM-диска с помощью команды debug : g=c800:5 (иногда - 6,8 - как повезет ). Купленные за миллион купонов каждый болгарские полномерные десятки я использовал для архивов -  пожалуй, лучшее в то время применение для этих монстров трудно было  найти. 

Когда они окончательно состарились и перешли в разряд антиквариата, я начал эксперименты на них со столь же антикварными ОС - ДОС3,2 etc. и к своей безмерной радости обнаружил, что ДОС-2 был настолько наивен, что объявлял сбойным весь цилиндр, стоило ему обнаружить на нем хотя бы один сбойный сектор...

Но лучше всего помог мне изучить структуру жесткого диска как ни странно  - вирус OneHalf, зашифровавший часть диска моей XT.  Поскольку о потере данных не могло быть и речи - в зашифрованную область  попали файлы, которые вся кафедра набирала руками в течение года, готовя к изданию новый учебник, - то передо мной встала альтернатива - расшифровать или быть с позором изгнанным.  К счастью, завкафедрой был в зарубежной командировке, а один из друзей дал мне очень опасный по его словам, но столь же эффективный инструмент - программу de.exe из комплекта нортоновских утилит. Поскольку расшифровщик Данилова не работал на ХТ ( а в моих условиях, как выяснилось позднее - он не помог бы даже если б мог работать ), то я написал простую программу - 22 строки на Паскале, которая только и могла делать что пройтись указанным двухбайтным кодом по файлу, сделав с его данными сложение по модулю два с указанным кодом и записав результат в другой файл.

Моя задача заключалась лишь в том чтобы правильно определить требуемый код - которым вирус зашифровал данные на определенном цилиндре. ( Как известно - вторая обработка данных этой операцией приводит к их расшифровке, что и применяет OneHalf для своей маскировки ) Проблема состояла в том что в результате неправильного лечения диск оказался разбит на участки, каждый из которых был зашифрован своим кодом - однако я быстро сообразил что определить код можно обнаружив участок принадлежащий текстовому файлу - а они как известно изобилуют пробелами с кодом 20H (32D). То есть - обнаружив последовательнось которая в 16-ричном виде имела вид например : 34 6f 34 6f 34 6f 34 6f .... - я мог смело предполагать что это - результат шифрования последовательности пробелов кодом 14 4F. Так как вирус шифровал каждый раз определенное число физических цилиндров, то нужно было просто скрупулезно пройтись по ним, расшифровав каждый участок в отдельности и посадив его обратно уже в расшифрованном виде. Через две недели с момента обнаружения вируса вся работа была выполнена, а потери свелись к двум-трем EXE-файлам, в которых, как известно, трудно обнаружить строку пробелов. При этом диск-эдитор использовался для записи определенного количества физических секторов жесткого диска в файл на дискете, - и обратно - уже с другой дискеты, из расшифрованного файла - на свое место на диске.

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

Еще не одному знакомому я вылечил жесткий диск от какого-нибудь  трудноизлечимого вируса. (Один из моих друзей целый год грузился с чистой  системной дискеты, - у него на жестком диске сидел вирус ЗАРАЗА, очень тонко подменявший IO.SYS ) И только когда мне надоело лечить дискеты подпорченные DIR-ами и прочей ерундой, которая наводняет машины в учебных классах, я взялся за более серьезные вещи - первым успешным экспериментом было переформатирование вручную под ДОС приобретенного по случаю 340-метрового WD с сохранением самой интересной информации на том же диске, ранее работавшим под WIN-95. Я разбил его на два раздела и удалил руками все каталоги с длинными и неправильными с точки зрения ДОС именами файлов. Потом сделал так чтобы диск мог грузиться с каждого из разделов - правда, для этого надо было запустить все тот же диск-эдитор и руками кое-что подправить. ( Один из таких дисков у меня мог грузиться поочередно либо в ДОС 6.22 либо - в ДОС 2.1 - правда в силу особенностей последнего при такой загрузке раздел 6.22 просто не был виден ) И наконец, я сделал самый интересный вариант загрузки - три раздела, на одном - ДОС, на другом - WINDOWS-95 (98 etc.), третий - под что-нибудь еще, а для двух первых он пока служил архивным. Этот диск был уже из новых - размер его превышал предел ДОС и WIN98 все время норовила сделать ему 32-хбитную FAT, на что я не соглашался, так как диск-эдитор для такой конструкции недостаточно приспособлен. Лишь после этого я был достаточно опытен для того чтобы лечить диски с запорченными физическими секторами, приходящимися на область FAT, извлекать информацию с диска с запорченной нулевой дорожкой и тому подобное.

Подходящий случай не заставил себя долго ждать. Небогатое банковское учреждение переходило по команде из управления на новую почтовую программу интернетовского типа и как раз накануне испытаний программы умер диск на моей сисадминовской машине. Я быстро поставил резервный диск вдвое меньшего размера, установив в авральном порядке на нем WIN95 с MS-Office-97, OutLook etc. и сразу после испытаний принялся за лечение диска. Картина была удручающей - не читалась область FAT и еще несколько десятков процентов общей площади диска. Для первого раза я еще сделал немного ошибок, основной из которых была все та же чайниковская - я попытался отформатировать его на низком уровне воспользовавшись программой форматирования, встроенной в биос машины ( у меня не самый плохой P-200 MMX ). Ничего ! - То есть диск исправно форматировался, но после этого вся информация на нем никуда не девалась - она оставалась в тех же секторах и сбойные сектора по-прежнему оставались недоступными. Складывалось впечатление что программа низкоуровневого форматирования просто не запускалась. За дополнительной информацией я обратился в Интернет на домашнюю страницу данного диска, адрес был написан прямо на нем. И обнаружил что он имеет еще и собственный биос со встроенной программой форматирования. Не буду уточнять которая из фирм додумалась до этого первой - их довольно много, скажу только что в названии диска присутствует слово "Medalist". К сожалению, мне не удалось на сайте фирмы раздобыть пароль для входа в эту программу форматирования. ( А по зрелом размышлении - это вряд ли и помогло бы, так как скорее всего на диске отказали две поверхности из пяти ). Во всяком случае, первый вариант ремонта прожил недолго, месяца два - так как я воспользовался возможностью альтернативного разбиения диска на чуть меньший формат, в данном случае - максимальный, поддерживаемый ДОС, то есть 2 ГБ. Никакого эффекта это не дало, я только потерял пару сотен мегабайт площади, а когда снова нашел временный диск, - переделал своего многострадального "Медалиста" на его максимальный размер - все тем же диск-эдитором, вручную находя наиболее целые области для построения системной зоны и прописывая вручную же бэды - просто как области занятые нечитаемыми файлами средним размером 10 МБ. Таким образом мне удалось заставить его работать без ежедневного выхода на SCANDISK, более того - при аварийном выключении машины scandisk просто не реагирует на эти бэды. Главное - не давать ему делать проверку качества поверхности, иначе бэды действительно начнут множиться. Программа эта не обладает чрезмерно развитым, мягко говоря, интерфейсом и отключить некоторые опции - надо еще постараться, однако если вы справитесь с этим, то она не доставит вам больше хлопот. ( Как ни странно, наибольшие неприятности в этом плане доставляют именно программы, которые по замыслу их создателей призваны лечить жесткие диски, и отсутствие удобного интерфейса плюс чрезмерная самонадеянность авторов и пользователей - тому виной ). 

В конце концов месяца через три-четыре после аварии я получил диск с реальным размером 1,5 ГБ (плюс 1 ГБ бэдов ). В таком состоянии диск находится уже полгода, он по-прежнему работает на моей сисадминовской машине, с него я вхожу в Интернет и администрирую NetWare.  Никаких проблем с этим диском я больше не имел и надеюсь - иметь не буду, так как стараюсь избегать даже намека на использование программ проводящих какое-либо периодическое обслуживание дисков - начиная со SCANDISK, NDD и кончая Norton AntiVirus`ом и AVP всеми уважаемых Нортона и Касперского. Я не посмею заявить что эти программы портят диски - но они точно написаны не для плохих дисков. А любой хороший диск проживет тем дольше чем меньше вы будете его дергать. Право, не стоит доверять судьбу столь нежного устройства даже самой профессиональной программе если она норовит  непрерывно шарить по диску в поисках вирусов, - часто лечение последствий заражения обходится дешевле чем антивирусная профилактика, аналогично следует избегать чрезмерной оптимизации диска программами типа SPEEDISK. В число нерекомендуемых режимов следует также включить и режим "спящего" диска, - для электроники всегда был наиболее опасным момент включения- выключения. Если вы настроите свой диск "засыпать" через каждые три минуты отсутствия обращений к нему - можете начинать откладывать деньги на новый. Что касается программ низкоуровневого форматирования - то вряд ли фирмы- производители жестких дисков допустят чтобы их оборудование можно было починить таким простым способом, скорее всего - они и не должны работать. Поэтому - избегайте переделывать структуру диска без крайней на то необходимости. Выгоднее оставить его как есть, и приобрести еще один хороший диск, чем попытавшись переделать - угробить хорошее устройство. В конце концов, некоторые из типов дисков уже можно вносить в Красную книгу, - и в основном - в результате неправильных действий пользователей. В некоторых случаях виноваты производители дисков - например, вы попытались всего лишь перебить разделы. Вы не профессионал, и даже применение диск- эдитора представляет для вас серьезную проблему, все что вы умеете - запустить FDISK и следуя ее требованиям, удалить все разделы прежде чем установить новые. Вот тут-то вас и подстерегает главная опасность - как правило, после удаления разделов диск умирает раз и навсегда. Так он сделан - если биосу машины не за что зацепиться при начальном тестировании диска, то восстановить его работоспособность можно только в заводских условиях. Остается либо довериться профессионалу, который перебъет ваш диск вручную, либо попросить фирму Microsoft переписать FDISK.

Не меньшую опасность для целостности диска представляют новые программы и операционные системы - мне приходилось оживлять диски, на которых кто-то пытался запустить Линукс или просто лазил по Интернету, не особенно задумываясь о последствиях. Лучшей рекомендацией здесь может быть только одна - общая площадь диска должна быть на порядок выше той, которая требуется для установки операционной системы. То есть если вы ставите WIN95 - то 400-700 МБ будет в самый раз, а лучше - больше, иначе ваш диск долго не протянет, еще более жесткие требования предъявляют современные версии WIN98, WIN2000, NT и LINUX. Наибольшие же проблемы с физической целостностью жесткого диска возникают при использовании его в условиях многооперационных сред - имеется в виду одновременная работа например в NetWare и Windows, когда каждая система по-своему обращается к диску ( и по-своему ошибается ). Особое внимание при работе в таких условиях следует уделять правильной настройке параметров среды и выбору наиболее надежных сетевых драйверов. Если вам так уж не терпится использовать программы, которые взаимоисключают друг друга, то хотя бы попробуйте настроить разные варианты загрузки машины. В заключение - два слова об искусстве прописывать бэды вручную. Наиболее удобной для этой цели представляется стратегия использования заранее подготовленного набора файлов с выровненной на размер кластера длиной. Одной из программ, способных создавать такие файлы является прилагаемая утилита BALON.COM - создав с ее помощью (и лучше - на живом диске ) несколько файлов разного размера, вы просто начинаете копировать их на опустошенный только что отформатированный вручную диск ( как это сделать если программа FORMAT сделать этого просто не может - тема для отдельной статьи ). Поскольку ваш диск имеет нечитабельные зоны, то ясно что для обнаружения их вы должны просто использовать каждый скопированный на диск файл как источник для создания нового файла, - проверку записи необходимо отключить, разумеется. Если область, занимаемая данным файлом - читабельна, то он без проблем скопируется в новый файл, занимающий уже новую область, если - нет, то вам придется на время перенести его в каталог, созданный заранее в чистой зоне. И так - до конца диска, пока он не будет забит хорошими и плохими файлами до предела. Потом остается лишь вытереть хорошие, а области принадлежащие плохим прописать в FAT вручную как бэдовые. Если диск слишком большого размера, то стоит попытаться провести несколько этапов такого лечения, вытирая в этом случае плохие файлы и заполняя их зоны на порядок меньшего размера файлами. Разумным представляется вариант когда минимальный размер здоровой зоны попавшей между двумя плохими превышает 1% от общей площади диска. Иногда наиболее мелкими зонами приходится жертвовать во имя повышения скорости работы с тем что осталось.

В целом - ориентироваться в стратегии лучше применительно к условиям, выбирая оптимальный вариант. Такую работу гораздо легче проделывать каждый раз вручную, чем писать программу - поскольку предусмотреть все возможные варианты неполадок просто нельзя. ОСНОВНЫМ правилом при таком лечении должно быть : исключить возможность обращения файловой системы к плохим участкам диска . Радикальным средством является исключение одной большой бэд-зоны из обращения путем ручной разбивки разделов ( в некоторых случаях, если повезет ) Конечно, диск можно просто выбросить и купить новый - но где гарантия что с ним не произойдет аналогичная трагедия ? А попытавшись, хотя бы и безуспешно, вылечить ваш диск, вы по крайней мере приблизитесь на шаг к пониманию причин аварии, что само по себе позволит избежать новых.



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте