Неофициальный блог R.LAB
Жёсткие диски, SSD, флешки, RAID-массивы, ленты. Изучение, восстановление данных, ремонт.
PC 3000: зависающие HDD на примере Western Digital
Большинство современных дисков разных производителей имеют общую одинаково проявляющуюся неисправность: по звукам диск запускается как обычно, но при этом либо очень медленно читает данные, либо долгое время висит в состоянии BSY, а после 2-3 минут иногда выдает ошибку, а иногда висит до бесконечности. В качестве примера взят диск модели WD20EARS. Для доступа к данным пользователя используется комплекс ACE Lab PC-3000. В конце заметки видеоролик с демонстрацией всех описанных действий.
Рассмотрим пример зависающего диска. Сначала подаем на него питание. Слышно, что диск калибруется нормально, не стучит, никаких посторонних звуков не выдает, но при этом в готовность не выходит. То есть в регистре состояния индикатор BSY горит постоянно.


При этом, через какое-то время, можно услышать, что диск еще раз перезагрузился. Такая ситуация с не запуском жесткого диска происходит от того, что микропрограмма уходит в бесконечный цикл, то есть не завершает какую-то из важных процедур инициализации. При этом, с аппаратной точки зрения (головки, поверхности), все работает.
Чтобы решить этот случай, нужно войти в утилиту Western Digital в, так называемом, режиме kernel.

Примерно через минуты две, жесткий диск вышел в состояние ошибки. Он погасил индикатор BSY (бизи) и зажег индикатор ERR (ошибка). При этом, тип ошибки выдал ABR.
![]()
То есть диск не запустился. Попробуем запустить утилиту.

Утилита у нас сразу показывает режим kernel.

Нажимаем автоопределение, диск автоматически определяется(Sadle G6).

И можно нажать «Запуск утилиты».

Интересно, тут «Debug Stop Code» RESET TIMEOUT. Получается, что диск остановился по истечении таймаута на запуск. Он должен был запуститься за какое-то время и диск не запустился.
Для того, чтобы решить данный случай нам нужно вызвать следующую опцию: «Тесты → Работа с ПЗУ → Блокировать доступ к модулю 02».

После этого будет произведена правка ПЗУ.

Диск в состоянии с блокированным доступом к модулю 02 не запустит большую часть своей микропрограммы. Но, так называемый, оверлей (overlay) будет запущен и это позволит зайти в режим утилиты «Normal».
Давайте посмотрим что будет. Сначала отключаем питание.

Потом включаем. Диск раскручивается, слышна калибровка и он выходит в готовность.

Давайте прочитаем его идентификацию.
Правый щелчок → «Читать паспорт».

Видно, что он определился не своим родным серийным номером, а, если говорить жаргонным названием, хузом ( XYZ ).

Из-за того, что мы блокировали доступ 02, то серийный номер из модуля 02 не читается. При этом оверлей запускается. Теперь можно зайти в утилиту, но уже в режиме «Normal».

То есть не «Kernel» подсвечивается, а «Normal». И выполняем запуск утилиты.

В режиме «Kernel» доступ к служебной зоне нельзя реализовать, а в режиме с блокировкой модуля 02 нам уже доступна служебная зона.
Для начала нужно создать ее резервную копию «Тесты → Служебная информация → Резервирование ресурсов HDD → Ok → Ok». Я обычно треки не сохраняю и снимаю галочку «Треки SA».

Жмем последний раз «OK» и пошло копирование. Тут есть одна интересная ошибочка. Вместо модуля 0D у нас модуль 02.

Это и есть механизм блокировки, когда мы модуль 0D заменяем на модуль 02. Поэтому модуль 02 у нас не копируется с поверхности и в этом бэкапе будет отсутствовать. Но сейчас мы это решим немножко другим способом.
После того, как процесс резервного копирования завершен, нам нужно прочитать оригинальный модуль 02 на всякий случай. Для этого мы идем в «Инструменты → Каталог модулей».

В открывшемся списке видно, что у нас есть модуль 02.

Нам нужно его прочитать. Он читается, потому, что чтение идет в режиме ABA.

Можно менять переключатель и читать по ABA или по ID.

Если сейчас по ID поставить, то этот же самый модуль не читается, пишет «Invalid file ID». Программа пытается читать модуль 02, а реально там лежит модуль 0D.
Переключаемся снова в режим ABA и сохраняем модуль.

Среди данных виден серийный номер нашего диска.

Далее, переключаемся обратно в протокол.

В утилите есть опция под названием «Решение проблемы ‘slow responding’».

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

Чтобы обе копии исправить ставим две галочки. Жмем ОK.
Когда процесс завершится, мы увидим, что программа пытается сначала прочитать по ID, потом идет на чтение по ABA, затем идет правка.
Давайте попробуем сделать обратно, а именно — разрешить доступ к модулю 02.

Идем в «Тесты → Служебная информация → Работа с ПЗУ → Разрешить доступ к модулю 02». Теперь нужно на всякий случай посмотреть все ли разрешилось.

Нажимаем «Инструменты → Просмотр и редактирование ресурсов HDD». В открывшемся диалоге выбираем ROM и в модуле 20B у нас вся информация.

Это можно проверить переключившись в протокол.

Там есть строчка «Чтение Flash ROM dir (Ext)…. Ok (Active)». Это означает, что у нас правильный модуль 20В. Если бы «Active» было строчкой выше, то значит, модуль 0В был бы правильный.
Далее нам нужно в модуле 20В посмотреть опцию «WD Marvel ROM Flash dir».

После выбора опции мы видим модуль 0D.

Это практически победа! Теперь выключим питание и попробуем снова включить. Диск выходит в готовность. Теперь нажимаем «Инструменты → Редактор сектора → Да → Да».
Попытка оживить WD Elements 1TB USB 3.0 Часть 1.
Как всегда заранее — это не инструкция, не руководство к действию, а история из жизни. Заметки экспериментатора, если позволите. Цель всей этой писанины, в первую очередь, прочесть комментарии от более опытных коллег и, вероятно, почерпнуть новых знаний. Ну и если этот материал окажется еще и полезным кому то, то я буду непомерно счастлив, что хоть где то от меня есть польза.
Было у отца три сына. Тьфу, три винчестера то есть было у меня в ремонте.
Принес мне мой постоянный клиент очередную партию дисков. Что он с ними делает не знаю, но знаю этот парень лазит по горам, видимо вместе с хардами. Один внешний старенький на 250 гб с бедами, которые вешают систему при инициализации, второй из ноута тоже посыпавшийся, третий тот самый WD из заголовка.
Я не имею ни профессиональных программно-аппаратных комплексов как в лабораториях, ни знаний и навыков в серьезном ремонте хардов. Поэтому все мои манипуляции по добыче информации ограничиваются посекторным клонированием полумертвых дисков на здоровые при помощи hddrawcopy, работой с клонами в прогах Viktoria и R-Studio. Так и в этот раз были решены проблемы с первыми двумя дисками — подвешиваю «больного» на Sata интерфейс рядом со «здоровым» винтом такого же или большего объема. Клонирую, потом вычитываю(иногда предварительно делаю быстрое форматирование диска) все что можно и сохраняю на еще один винт уже в привычном для человека виде файлами и каталогами.
А вот с WD начались непонятки сразу после разборки

Забыл упомянуть его предысторию. Со слов клиента : лежал на полке долго, а как вставил в комп — не определяется. У меня тоже, поэтому, когда вскрыл бокс и не увидел привычной дополнительной платы с мостом Sata -> USB, пошел курить и гуглить.
Как оказалось, я был прав в догадках, мост уже распаян на плате самого винчестера. Надо просто найти куда запаять Sata шнурок на sata контролер. Великий гугл вывалил много инфы, даже на Пикабу есть маленькое упоминание.
Руки ноги голова — вон они, нужные мне тестпоинты

Сбегал под стол, выволок кучу всякой всячины и давай вонять флюсом на всю квартиру.
Первым делом надо «развязать» Sata контролер от USB — для этого надо выпаять с платы 4 кондера керамических: С13, С18, С31, С37


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

Перелопатив много инфы в тырнетах, выяснил, что провода не должны быть слишком длинными и толстыми, что бы не было наводок. Я достал старый айфоновский кабель и пустил его под нож и паяльник, а для верности еще и горячими соплями капнул.




Вот, собрал воедино распиновку Сата и теспоинты для подсматривания во время пайки. Если решишься повторить, то и тебе пригодится.

Но то только канал данных, винту нужно еще и питание, поэтому надо либо подпаять на плату провода и запиать их в молекс, либо воспользоваться микро-усб разъемом, в который питание пойдет с УСБ порта компа. Замечу, что только питание надо брать с УСБ, если ты будешь юзать микро-усб кабель от телефона, то у тебя система будет пытаться определить УСБ-контролер на плате винчестера. Что бы этого не произошло — надо обрезать D+ D- опять же на плате, либо пересобрав кабель, вырезав всю его семью проводки передачи данных(белый и зеленый). У меня же нашелся шнурок от повербанка, где провода данных напрочь отсутствуют. Подсоединил на выключенной машине всю эту порнографию

Затем стартуем комп и

Это исчадие ада не хочет специализироваться, хотя в диспетчере устройств он отобразился, что не может не радовать. Но к сожалению ни Виктория, ни р-студио не хотят работать с винтом, который не прошел инициализацию.
Лезем в гугл. Так, на очередном форуме, в этот раз каких то реально спецов, я надыбал название программы WD Marvel и очень мало понятной информации как она работает. Мало того, бесплатная версия ограничена в функциях, но что делать — качаю. Поставил, пошарился и понял, что вин совсем как то не корректно отображается, он обнаруживается как мой диск-файлопомойка, всегда установленный в машине.

Состояние диска тоже некорректно отображается(наверно, но это не точно) — ну вряд ли будут везде нули.

Ни одна из малопонятных для меня, но доступных в демо-версии утилиты функций мне не помогла, как бы я не вычитывал форумы. Пришел к выводу, что помер и Сата контролер на плате диска. Зная что в лабораториях меняют платы с доноров, я решил порыться в сусеках дядюшки Ляо, вбивая модель диска и партномер платы.

нашел подходящую по партномеру с хорошим рейтингом и не единичными заказами

согласовал с клиентом и заказал.
На этом сказочке конец первой части, а вторая, надеюсь, будет последней, где все решится в лучшую сторону.
Если есть знающие мастера, которые на этом собаку съели — с удовольствием прочитаю ваши комменты и буду мегаблагодарен за советы.
Пы.Сы.1 Для того что бы новая плата завелась, надо будет перепаивать микросхемы биоса с родной платы. Китайцы даже в описании товара заботливо об этом написали, а так же обвели их на фотке.
Пы.Сы.2 На момент написания поста, плата уже приехала в Питер, надо только ее забрать и снова постигать непостигнутое ранее.