Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Часть модулей (и информации, находящейся в ПЗУ) одинакова для всей серии винчестеров. К ней в первую очередь относится совокупность управляющих микропрограмм. Эти модули полностью взаимозаменяемы, и один диск свободно может работать с модулем другого без каких-либо последствий.
Часть модулей (реже – информации из ПЗУ) готовится отдельно для каждой партии. Так, например, паспорт диска, описывающий его конфигурацию, указывает количество головок, физических секторов и цилиндров. В процессе инициализации микропроцессор опрашивает коммутатор и перечисляет головки. Если их количество не совпадает с указанным в паспорте, винчестер может «забастовать» и не войти в готовность. Зачастую производители отключают некоторые головки из-за дефектов поверхности, неисправностей самих головок или по маркетинговым соображениям. Как следствие – образуются внешне очень похожие модели-близнецы, но непосредственная перестановка плат невозможна, и паспорт приходится корректировать, для чего опять-таки понадобится PC-3000. Но в принципе подобрать донора с идентичным паспортом вполне возможно и без коррекции.
Все зло и коварство происходит от модулей (и часто информации, зашитой в ПЗУ), уникальных для каждого экземпляра винчестера и настраиваемых строго индивидуально. В частности, каждый жесткий диск имеет как минимум два списка дефектов – P-list (от Primary – первичный) и G-list (от Grown – растущий). В P-list заносятся номера дефективных секторов, обнаруженные еще на стадии заводского тестирования, а G-list формируется самим жестким диском в процессе его эксплуатации. Если запись в сектор происходит с ошибкой, сбойный сектор переназначается другим сектором, взятым из резервной области. Некоторые жесткие диски поддерживают список «подозрительных секторов»: если сектор начинает читаться не с первого раза, он замещается, а информация о замещении сохраняется либо в отдельном списке, либо в G-list.
Все эти процессы протекают скрыто от пользователя. Специальный модуль, называемый транслятором, переводит физические адреса в номера логических блоков или виртуальные цилиндры-головки-сектора, и внешне нумерация секторов не нарушается. Все работает нормально до тех пор, пока P/G-list не оказываются разрушенными или на гермоблок устанавливается плата с чужими настройками. Если P/G-list хранятся во FLASH-ROM (а часто так и бывает), файловая система оказывается полностью неработоспособной, ведь трансляция адресов нарушена! И хотя на сектором уровне все читается нормально, совершенно непонятно, какой сектор какому файлу принадлежит.
К счастью, восстановить транслятор довольно просто, поскольку практически все файловые структуры (да и сами файлы) имеют характерные последовательности байт (сигнатуры). Для начала нужно очистить таблицы транслятора (сгенерировать пустые P/G-list), в противном случае сектора, помеченные у донора как замещенные, не смогут прочитаться на акцепторе. Различные винчестеры имеют различное число замещенных секторов. В некоторых винчестерах замещенных секторов может не быть вообще, на некоторых их количество может доходить до нескольких тысяч. Формат P/G-list варьируется от одной модели к другой, и для работы с ним лучше всего применять PC-3000. В крайнем случае – утилиты от производителей винчестера или ATA-команду unassign.