Статьи

Особенности восстановления данных с дисков Hitachi A7A, A9 и им подобных

Artem Makarov aka Robin
26.08.2013
8468 просмотров

Достаточно часто распространенная проблема на современных ноутбучных жестких дисках производителя Hitachi, построенных на "новом" процессоре ARM, например HTS543232A7A384 или HTS547550A9E384 (HTS547575A9E384) либо HTS723232A7A364 ну и им подобные, — выход из строя блока магнитных голов. Если требуется восстановление данных с жесткого диска, то решение с одной стороны простое и старое, как мир — замена блока голов в сборе. Однако после этой несложной для нормального специалиста операции часто встречается "подводный камень" в виде неполной инициализации жесткого диска.

В чем это выражается? При подаче питания диск на слух рекалибруется нормально (ну, или почти нормально), выходит в готовность по состоянию АТА регистров, но на запрос паспорта выдается ошибка ABRT. Доступа к пользовательской области, соответственно, так же нету. Паспорт можно увидеть только подав диску super-on команду (техноключ), доступ к LBA тоже появляется, но увы, лишь до первого дефекта, описанного в PSHT модуле. Причина проста — в результате того, что диск не прошел комплексную инициализацию, в памяти не полностью сформировались таблицы трансляции.

Причина такого поведения диска кроется в том, что на этапе отработки микрокода накопителя одним из стартовых шагов является тест голов чтения\записи путем прописывания в служебной зоне логов WRT по всем указанным в NVRAM головкам. Если замененные головки не полностью совпадают по геометрическим параметрам (а такое встречается довольно часто), то закономерным итогом будет невозможность записать и перечитать лог по одной или нескольким головкам. А значит микропрограмма "понимает", что диск не полностью исправен и завершает свою работу с ошибкой.

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

Но, если на ранних дисках Хитачи ARM это можно было довольно просто сделать — надо было лишь сравнить что из модулей "не доехало" в память и дописать недостающее (как я описывал в этой заметке), то в более поздних дисках этот метод не работает. Как же быть?

На помощь приходит старый добрый лоадер, т.е. специально подготовленная микропрограмма, содержащая в себе коды оврелеев и NVRAM. Метод решения следующий - запускаем диск, подаем s-on, читаем оригинальные модули винчестера по любой из доступных копий, с платы читаем содержимое ПЗУ (нврам), собираем в специализированном редакторе нужный лоадер и загружаем его по 92h в диск.

После окончания загрузки лоадера в память, частично прогруженный до того, диск дает доступ ко всем LBA секторам, описанным в max lba, без ограничений.

Специальное предложение для коллег по цеху — соберу из модулей "пациента" лоадер за скромное вознаграждение. Ну, или высылайте (приносите) диск для выполнения работ к нам. Подробности по эл. почте.

Оставьте комментарий
Кирилл
29 декабря 2013, 06:38

В последнем обновлении pc-3000 уже добавили этот функционал

Иван
26 июля 2016, 04:02

Вот только как связаться с автором ?

Нужна консультация?

Мы одна из немногих лабораторий в России, которая восстанавливает данные самостоятельно.

Для этого у нас есть все необходимое:
Важно – кто будет первым!
восстанавливать
информацию