Привет Хабравчанам! С вами снова Артем Макаров, ведущий инженер компании “Хардмастер”, специализирующейся на различных вуду-шаманствах с жесткими дисками и флешками.

Сегодня я хотел бы рассказать о любопытных, для человека несведущего, областях в отрасли “Data Recovery” на живом, так сказать материале. Знаю на опыте, что для ряда заказчиков это бывает настоящим откровением.



С непродолжительным перерывом к нам поступили два диска, которые побывали до нас в парочке весьма известных контор, занимающих ТОП-ы профильной выдачи в поисковиках и позиционирующих себя как “Номер 1”. История, для конкурентной среды обычная, обратились к ним, цена не устроила, начали искать дешевле.

Сразу хочу оговориться, что никакой конкретики в названиях организаций давать не буду, по двум причинам. Во-первых, это не поощряется администрацией самого Хабра, а во-вторых, поскольку я давно “в теме” и всех ведущих представителей отрасли знаю лично, то появление любого “разоблачения” ранее, на страницах моего блога или в статьях на сайте, приводило ровно к одному — в течении нескольких часов раздавался звонок на мобилу и руководитель той или иной компании, условный Вася или Коля, обменявшись дежурными приветствиями начинал меня корить и настаивать на правках текста с настоятельными просьбами “убрать, а то зарэжу!”.

Первый диск Seagate ST9500325AS семейства Wyatt, изначальная проблема — “уставшие” головы. Выходит в готовность с трудом, сыпет в диагностический терминал ошибками. Гермоблок вскрывался до того, как диск попал к нам.



Второй накопитель — Western Digital WD3200AAKS-75VYA0 семейства Tornado 2D, изначальная проблема — выход из строя одной из четырех, головки в пакете. Гермозона так же вскрывалась.



Не всем понятно, почему если приходится работать с дисками, в которые было постороннее вмешательство, то и анализ как правило платный, и стоимость работ выше (иногда — существенно). Дальше я расскажу — почему.

Первый диск, Seagate, после подбора совместимого блока магнитных голов вышел в готовность по регистрам состояния (биты DRD и DSC), при запросе отдал паспорт, но на любую попытку технологической работы с накопителем микрокод выдавал ошибку в диагностический порт, с последующим “зависанием”.

Rst 0x08M
(P) SATA Reset

F3 T> V4 (к примеру)
LED:000000CC FAddr:0027245B
LED:000000CC FAddr:0027245B


Бывают такие пассажиры, которые просят “вы мне головки поменяйте, а информацию я и сам считаю”, что вызывает неизменное умиление. Дело в том, что после замены блока голов, на подавляющем большинстве дисков требуются дополнительные мероприятия. По причине того, что блок голов для конкретной “банки” в достаточной степени уникальный и их “притирка” друг к другу идёт на завершающих стадиях конвейерной сборки на этапе заводского самотестирования, донорский блок голов, даже взятый от диска “на один символ в серийнике отличаются, в один день выпущены” идеально работать не будет. Более того, чтоб хоть что-то прочитать на упомянутом в примере данном конкретном накопителе, требуется внести правки в загруженный в ОЗУ, при старте, микрокод.

Диск с “неродными” головами при старте тут же обнаруживает завышенные тайминги доступа, маркирует их как нестабильные, заносит в соответствующий candidate-defect list и по причине того, что этих секторов — вся поверхность, процесс маркировки “плохих” так увлекателен, что диск перестаёт отвечать на внешние раздражители.

Менее опытный инженер с такой ситуацией бы не справился. Мне же сразу стало ясно, что у диска либо не читаются т.н. “оверлеи”, т.е. технологический микрокод, либо читаются, но их версия отлична от версии базового микрокода в ПЗУ.

У Seagate есть штатная опция загрузки микрокода в память через АТА команду 92h, что применяется при изготовлении диска, для записи сканового комплекта микропрограммы. Используя эту фичу можно прогрузить “самодельный” загрузчик, созданный из модулей совместимого по версии FirmWare жесткого диска.

Сделав это, я открыл полный технологический функционал, проанализировал модули служебной информации и обнаружил, как и предполагал, что всё читается, но версия оверлеев не совместима с остальным микрокодом. “Само по себе” такое случиться не могло, результатом неудачного обновления “прошивки” пользователем то же (в этом случае оверлеи в ПЗУ прописываются раньше т.н. “блинвари”, т.е. того, что на пластинах). Более того, подобная операция была бы бессмысленна и с точки зрения получения доступа к пользовательской области. Очевидно что подобного рода проявление — суть рукотворное изменение микрокода с целью сделать невозможным восстановление информации в гипотетическом “другом месте”.

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

Шаг первый — читаем модули по идентификатору. В этом случае накопитель сам проверят целостность модуля на основании проверки контрольной суммы. И сразу баг — модуль id31, в котором таблицы трансляции имеет нарушенную контрольную сумму.


Модуль транслятора, с которым диск поступил в работу

На всякий случай перечитываю его по ABA (область секторов, занимаемых модулем, без проверки “валидности”). Убеждаюсь что диск с донорскими головами действительно пишет (из-за разницы в геометрических параметрах между донорским и оригинальным комплектами голов запись может идти по другому смещению и записанное не прочитается в ожидаемом месте). Пересчитываю контрольную сумму в модуле трансляции, рестарт по питанию, попытка чтения — ABRT.

Идём дальше. У дисков WD есть возможность, при серьезном разрушении таблиц транслятора, пересчитать их на основании заводского дефект-листа (P-List). Сам по себе p-list при чтении данных не важен (не на всех дисках, а именно у данного семейства). Произвожу пересчёт, убеждаюсь в том, что содержимое модуля транслятора id31 изменилось, пробую читать — опять ABRT.

Ок, лезем дальше. Анализирую содержимое заводского дефект-листа, — 0 дефектов описано. С завода диски такими не выходят :) Очевидно что не только транслятор не родной, но и заводской дефект-лист “обнулён”.


Модуль заводского дефект-листа пуст, прописан только заголовок

Смотрю дальше, с трековым дефект-листом тоже есть подозрения на “членовредительство”.

Для решения проблемы пришлось проконсультироваться с коллегой по цеху, проживающим в далёком Симферополе. В итоге было найдено и испробовано изящное решение, — взять заводской скрипт селф-теста, вручную отредактировать его, отрезав все шаги, кроме формирования из логов скана дефект-менеджмента (P-list, T-list), записать всю служебку на заведомо исправный диск-донор, получив таким образом своеобразный аппаратный клон, и запустить урезанный скрипт заводского самотестирования на этом клоне. В результате на диске-доноре сформировались оригинальные дефект-листы, и после пересчета транслятора был получен комплект служебного микрокода (модулей), соответствующий оригинальному.


Модуль P-List после восстановления


Модуль транслятора после восстановления

Разумеется и в данном случае исключены возможности “диск сам себе всё попортил”. Очевидно, модули были испорчены «из вредности»

Таким образом, думаю, понятно, что вместо изначального “типового” набора мероприятий по восстановлению информации, пришлось потратить немало дополнительного времени на нетривиальные и незапланированные исследования. Отсюда и повышение стоимости работ, и платный анализ дисков в которых “копались до нас”.

И это еще повезло что в предыдущем месте работают не шибко умные мастера. Умный бы так упорол диск, при желании, чисто программно, что вообще никаких вариантов для восстановления кроме как получить оригинальный микрокод (который, ясное дело, остался только у “умника” в единственном экземпляре) — не осталось бы.

Вывод один — перед тем, как выбрать исполнителя и обратиться за услугой (не только в области DR — во всех областях абсолютно), надо трижды подумать и хорошо взвесить. С особой осторожностью обращать внимание на тех кто в ТОП-10 выдачи ПС и ТОП контекстной рекламы (часто это означает высокие бюджеты на SEO, и ломовой прайс, а не высокий уровень услуг), критически относится ко всем этим “мы лучшие”, “самые крупные” и “самые честные”.

Как говаривал старина Мюллер старине Штирлицу — “Верить нельзя никому. Мне — можно”.

Комментарии (18)


  1. Beautiful-Skyline
    01.06.2015 15:01
    +6

    Я работала в такой компании из «ТОП-10». Да, очень гнилая сфера. Ушла или вежливо проводили…


  1. datalabs
    01.06.2015 16:50
    +1

    Тём, зачем трогать Симферополь? Ты что не знал про восстановление плиста из логов селф-скана? Эта фича известна уже давно… А название статьи странное, при чём тут ценовая политика? Когда клиент дал добро на определённые деньги, он же согласился с ценой. А дальше спец. не справился, в силу квалификации. А вот когда испортил намеренно, это уже называется саботаж, когда ни себе не людям…


    1. wwwHardMasterInfo Автор
      01.06.2015 18:01

      Ты невнимательно прочитал, бро. Основная задача была — убедиться в том, что T-list не переписан, и восстановить P-list заодно. Оба зайца убивались одним решением — запуском обрезка скана чтоб переформировать из логов и то, и другое.


    1. wwwHardMasterInfo Автор
      01.06.2015 18:09
      +1

      Что касается «причем тут ценовая политика», то мало кто, из числа непричастных к теме, понимает, почему во многих компаниях цена на восстановление с дисков/флешек с посторонним вмешательством выше. Вот, в том числе и по описанным в статейке причинам.


  1. lll000lll
    01.06.2015 17:05
    +1

    По Сигейту:

    Есть мнение, и не только моё, что оверлеи там родные. Строка:

    (P) SATA Reset

    показанная на скриншоте, в этой модели появляется только после загрузки оверлеев. Если оверлеи чужие, эта строчка не появится.

    Если верить скриншотам, в вестерне действительно намеренно или ошибочно был почищен п-лист. Само такое не происходит.


    1. wwwHardMasterInfo Автор
      03.06.2015 16:28

      Тем не менее, загрузка лоадера со структурой: «4 ovl + TPM + CFW + SFW + ML SHELL+CONGEN» всё поправила, диск начал читать\писать ОЗУ и SA не падая в LED.


  1. dmitrmax
    01.06.2015 19:58
    -2

    Не хочу никого обидеть, ребята, но после прочитанного, ваша кухня напоминает привокзальных таксистов. Разбираться и искать среди них честного никогда не хотелось )


    1. mihail_hdd
      01.06.2015 20:11

      Не хочу Вас обидеть, но — несколько лет назад, мой знакомый, почувствовав недомогание, обратился в одну из крупнейших московских платных клиник. Ему там обьяснили, что вам, мужчина, жить осталось от силы месяц, спасти вас можем только мы. И назначили курс лечения за космические деньги.

      Знаете, наверное, такое состояние, которое лучше всего описать как «пыльным мешком по голове»?

      Уж не знаю, что им двигало, но он пошел в обычную районную поликлинику. Где терапевт, а потом эндокринолог, с зарплатами 13000 обьяснили ему, что старухи с косой на горизонте пока не видно, выписали курс витаминок и отпустили с миром.

      Знакомый на данный момент вполне себе жив.

      В ЛЮБОМ сегменте рынка ВСЕГДА будут участники, работающие честно и те, кто попытается «зарабатывать» не совсем законными методами.

      Не пользуйтесь привокзальными таксистами, вызывайте официалов. Сэкономите кучу денег и нервов. Об этом, как бы и статья :)


      1. dmitrmax
        01.06.2015 20:35

        > Не хочу Вас обидеть, но
        Меня очень трудно обидеть таким комментарием, потому что я не отношусь к врачам.

        Но я не согласен с Вами, что эта история из этого же ряда. Потому что эксулапы хоть и жулики в данном случае, но они не сделали ситуацию ещё хуже ради того, чтобы клиент, потыркавшись, всё равно вернулся к ним. Это ведь ключевой момент этой истории. А вот среди таксистов и, как выясняется, ваших коллег, это случается.


        1. voidnugget
          01.06.2015 23:25

          Любая кухня сейчас напоминает «привокзальное такси» — хорошую организацию труда и контроль качества ещё нужно поискать.
          Остаётся пробовать, падать, и снова пробовать… в другом транспорте не только сумочку украсть могут, но и до гола разденут за доли секунды.


          1. dmitrmax
            02.06.2015 10:56

            Не путайте тёплое с мягким. Привокзальное такси — это не маркер некачественных услуг. Это маркер мрази, которая стремится тебя объегорить под видом оказания тебе услуг, причем не просто объегорить, оказав не качественную услугу, но и сделать всё так, чтобы ты заплатил за этот треш в разы дороже чем за качественную, причем так, чтобы ты ещё и был рад, что унёс оттуда ноги.

            Украсть сумочку и кошелек — этого ты хотя бы ожидаешь и можешь присечь


  1. dj_raphael
    01.06.2015 20:39

    У меня валяются 2 диска со сгоревшими контроллерами. КЗ как сказали в диагностике. Один основной, другой для бекапов, сгорели одновременно. Тогда ценность информации была ниже заломленой цены.
    Судя из прочитанного мне надо прикупить рабочий донор чтобы иметь возможность восстановить когда нибудь информацию?


    1. wwwHardMasterInfo Автор
      01.06.2015 21:52
      +3

      А вот тут не смотрели? Может как раз ваш случай?


      1. dj_raphael
        01.06.2015 22:44

        Спасибо, диоды тестером я конечно проверить могу, но выкусывать их страшно.


        1. datalabs
          02.06.2015 07:34

          Спаять и напаять новые, опять проверить на кз, ибо может дальше пробило. В таких случаях берётся плата от аналогичного и перепаивается родное пзу. В нашей конторе восстановление данных при проблемах с платой берут 6 т.р. цены


    1. datalabs
      01.06.2015 22:31

      кз просто проверить тестером


    1. mihail_hdd
      01.06.2015 22:41

      Фамилию дисков назовите.


  1. olekl
    02.06.2015 12:07

    Жаль конечно что названий контор не назвали, хотя причины и понятны.