Как прошить жесткий диск seagate
Всем привет, эта статья не будет длинной, я просто хочу поведать об одной фишке, которая реально может кому-то помочь. Для тех, кто уже собаку съел на ремонте хардов это информация окажется бесполезной, а для тех, кто хочет попробовать восстановить HDD от сигейт может оказаться полезной. Тем более на фоне наст(упившего)упающего дефицита емких накопителей.
Начнем с азов, есть такая штука как HDD, я писал о них подробнее , кому интересно. Так вот, в этих самых HDD существует экий-некий разъем 4 pin, точно название я увы не могу вспомнить, но оно есть. Это разъем для подключения заводского оборудования производителя жестких дисков.
Что он позволяет? Он позволяет через компьютер работать непосредственно с прошивкой харда с помощью определенных команд. Связь происходит через com-порт и софт под названием hyper-terminal.
Уж я не знаю, подразумевала ли компания сигейт, что с их прошивкой будут работать обычные смертные, но им пришлось. Дело в том, что в какой-то период времени Seagate выпустил кучу жестких дисков(несколько партий), у которых происходил какой-то отвал в прошивке, например так называемая "муха ЦеЦе", но это образ собирательный, ошибок самых разных хватало.
Эти ошибки обычно приводили либо к тому, что HDD просто не мог дальше работать без вмешательства в прошивку, либо же блокировался на
этом уровне, так сказать "уходил в защиту".
Что же делать с этими программными ошибками
А все просто, искать приблуду для подключения этого 4 pin от HDD к компьютеру. Многие предлагают паять ее самому или же покупать специализированное устройство.
Вот пример такой любительской схемы. Мне лично было не с руки ковыряться, искать эту микруху, подбирать номиналы и расчехлять паяльник по чем зря. Я включил воображение и нашел альтернативу.
Альтернативный способ
1. Берем обычный человеческий USB программатор CH341A флешек биоса из китая (неважно синий или черный, люди проверяли на синем, я проверил на черном). Если вы занимаетесь компами он скорее всего у вас есть, или по крайней мере должен быть. Стоит это чудо около 100-300 рублей. Так вот, снимаем с него джампер, тем самым переведя его в режим последовательного порта.
2. Берем пины от какого-нибудь старого корпуса, точнее от ее фронт панели. В количестве 3 штук. Вытаскиваем черные пластиковые штуки с разъемов с одной стороны, сами разъемы сажаем в термоусадку, и отрезаем кнопки/лампочки с другой, зачищаем. Это нужно, чтобы впихать их в разъем жесткого диска.
3. Берем еще что-то похожее на пины от фронт панели, только уже оставляем черные штучки на своем привычном месте. Тоже 3 штуки. Это нужно, чтобы воткнуть их в программатор с другой стороны и они там держались.
4. Спаиваем/скручиваем между собой. Помечаем в произвольном порядке соединенные провода RX, TX, GND.
5. Подключаем контакты без черных штучек к жесткому диску согласно нижеописанной схеме и вашим обозначениям из шага 4.
Продукты Seagate управляются микропрограммой. Наличие самой последней версии микропрограммы может улучшить производительность и надежность продукта. Компания Seagate рекомендует установить новую микропрограмму для улучшения производительности и надежности накопителя.
Как и любое ПО, микропрограмма со временем совершенствуется, а выявленные в ней проблемы — устраняются. Для дисков многих семейств в течение их жизненного цикла выходит несколько версий микропрограмм. Регулярно проверяйте наличие новой микропрограммы для вашего диска с помощью приложения Download Finder. Если новые микропрограммы доступны для других продуктов, об этом будет указано.
Если для используемого накопителя доступна более новая микропрограмма, она будет содержать улучшения, отражающие самые современные технологии. Микропрограммы для устаревших продуктов будут выпускаться в виде окончательных версий. Обратите внимание, что Seagate не предоставляет подробных сведений о конкретных микропрограммах.
До настоящего момента обновления микропрограмм для стандартных конфигураций настольных компьютеров и ноутбуков были сложными и в некотором роде рискованными. Такая ситуация отчасти была вызвана отсутствием понятных средств загрузки микропрограммного обеспечения и ограничениями операционных систем. Однако проблемы устранены и теперь компания Seagate регулярно выпускает обновления микропрограмм для общей поддержки вашего накопителя Seagate.
При возникновении проблемы с системой или операционной системой в первую очередь следует выполнить стандартные действия по ее устранению, например проверить наличие ошибок в файловой системе и вирусов, а затем устанавливать обновления микропрограммы.
Используйте следующие ссылки и инструкции, чтобы определить наличие доступных микропрограмм для вашего продукта. Если микропрограмма доступна, рекомендуется создать резервные копии данных, а затем установить обновление, а также прочитать и следовать всем инструкциям и предупреждениям, которые могут отображаться на экране.
Выполните следующие действия, чтобы определить доступность обновлений микропрограммы для вашего накопителя:
Несоблюдение инструкций по обновлению может привести к уничтожению данных и/или выходу жесткого диска из строя. Компания Seagate не гарантирует сохранность хранящихся на диске данных. Перед обновлением микропрограммы, кроме регулярного резервного копирования, следует создать резервную копию данных в отдельном безопасном расположении или на отдельном безопасном носителе.
Хочу поделиться опытом восстановления жесткого диска Seagate Barracuda 7200.11 ST3500320AS после сбоя. Короткая предыстория: один мой друг решил сделать полное форматирование своему жесткому диску, после чего тот больше не определялся в BIOS. Выкидывать 500-гигабайтный винчестер было жалко, и он отдал жесткий диск мне на растерзание. Забегая наперед, скажу, что прокачанные навыки «гугление» и «очумелые ручки» позволили добиться отличных результатов.
Итак, данный метод подходит для жестких дисков Seagate и Maxtor (для Samsung существует похожий способ, но в этой статье он не освещен). Информации касательно жестких дисков остальных производителей найдено не было. В конце статьи рассматриваются возможные проблемы. Я настоятельно рекомендую прочитать статью полностью, перед тем как повторять описанные здесь действия.
Конвертер можно купить (в продаже есть USB-TTL и COM-TTL) или сделать самому (привожу несколько схем ниже).
Для тех, у кого есть Arduino: соединяем GND и RESET, используем контакты RX и TX.
Для проверки схемы можно замкнуть RX и TX, — в результате все, что мы введем, должно вернуться.
Подключаем RX и TX, как на рисунке ниже, отключаем SATA-кабель, подключаем питание.
Для работы с COM-портом я использовал PuTTY, с задачей также отлично справится ваша любимая программа. Итак, открываем PuTTY, выбираем тип подключения Serial, вводим порт и остальные настройки:
Speed | 38400 |
Data Bits | 8 |
Stop Bits | 1 |
Parity | None |
Flow Control | None |
Чтобы увидеть список команд и описание к ним для вашего жесткого диска, необходимо ввести /C, а затем Q.
Пришло время приступить к восстановлению.
- Перейдем на уровень 1, введя /1
- Очистим S.M.A.R.T. командой N1
- Выключаем питанием и ждем, когда остановится двигатель (~10 сек)
- Включаем питание и снова нажимаем Ctrl+Z
- Очищаем список bad-блоков: вводим i4,1,22
- Повторяем пункты 3-4
- Вводим в консоли: m0,2,2,0,0,0,0,22 (для жестких дисков «Made in China» — m0,2,2. 22)
- Переходим на уровень 2: /2
- Останавливаем двигатель: вводим Z
- Выключаем питание
Сейчас я описал ситуацию, когда все работает, как надо, но так получается редко. В процессе восстановления возникло несколько трудностей, с которыми, я уверен, вам тоже предстоит столкнуться. Поэтому, все у кого что-то не получилось, ищите решение в последнем разделе этой статьи.
Еще одна непростая проблема с сигейтами, которую удалось решить с помощью так называемой прошивки HDD Seagate (загрузки микрокода по интерфейсу).
На сей раз - ноутбучный HDD ST9500325AS при подаче питания на слух рекалибруется, висит в BUSY, в диагностический порт выдает только:
И всё. Терминального функционала после старта нет, так как диск зависает. До меня диск был в другом месте, где ему поменяли блок головок (обычно так всегда, если не понимают, что с винчестером не так, сразу меняют головы - на всякий случай). Само собой, в деле восстановления пользовательских файлов замена голов чтения\записи в данной ситуации никак не помогла и диск принесли в СЦ "Хардмастер".
Терминальный функционал на данной линейке накопителей заложен производителем в код ПЗУ, включается после подачи питания на интерфейс. Выглядит это таким вот образом:
Т.е. ошибка позиционирования по сервометкам, остановка шпиндельного двигателя и готовность в регистрах с готовностью отвечать на терминальные запросы. В такой позиции можно командой раскрутить двигатель, поднять с поверхности diag ovl и прочитать по АТА все описанные по id модули, а так же все модули, описанные в system volume. Все модули считались без ошибок, и на первый взгляд не содержали в себе ничего крамольного, что могло бы приводить к зависанию накопителя при штатном старте.
Сразу возникло подозрение на сбой в таблицах трансляции, но попытка пересчёта привела к такому результату:
Т.е. закончилась с ошибкой. После некоторых раздумий было принято решение кардинальное. Учитывая, что все необходимые части служебной информации были успешно зарезервированы ранее, я решил полностью отформатировать служебную область. Получив по окончании процесса:
Для того, чтобы получить полный функционал в такой ситуации, требуется записать оверлеи на поверхность, чтобы диск их считал. А для того, чтобы получить возможность произвести запись на поверхность диск должен их прочитать ранее. Замкнутый круг. Как найти выход из такой ситуации?
Вариант, учитывая что в ситуации с отформатированной служебкой диск выходит в готовность по интерфейсу штатно, один - используя команду id92h загрузить в HDD лоадер, т.е. пакет микрокода, содержащий в том числе и требуемые оверлеи, и тем самым, как говорят, перепрошить жесткий диск Seagate.
После этой операции пересчет транслятора завершился успешно
И, финальный штрих - запись ранее сохраненного транслятора (id2Bh). После переподачи питания диск выдал привычное:
и полный доступ ко всем LBA, описанным в паспорте. Если бы до того, как диск попал ко мне, пытливые ручки не залезли бы в гермозону, то с помощью описанных выше манипуляций можно было бы произвести ремонт жесткого диска с сохранением информации.
Читать так же:
Решение проблемы SIM Error 2040 No HOST FIS-ReadyStatusFlags 2002A1A5
Лоадеры для жестких дисков Seagate
Иллюстрации решения проблем со служебной областью на жестких дисках Seagate архитектуры ArchF3 с помощью лоадеров.
В продолжение этой заметки хочу описать процесс багфикса в микрокоде Seagate. Конечно назвать это действие словосочетанием "перепрошивка Seagate" не корректно, но граждане любят задавать подобные дурацкие запросы в поисковые системы, поэтому приходится адаптироваться.
Итак анамнез: HDD ST500DM002 семейства Pharaoh при подаче питания раскручивает шпиндельный двигатель, в терминале без криминала:
Boot 0x10M
Spin Up[0x00000000][0x0000BDA4][0x0000C138]
Trans.
Rst 0x10M
MC Internal LPC Process
Spin Up
(P) SATA Reset
однако попытка подать любую команду по АТА, в том числе и Get ID, приводит к вот такому состоянию регистров:
Ошибка в регистрах при запросе паспорта накопителя
Первым делом подозрение на плату, конечно. А ну как интерфейс битый? Однако плата отдельно от гермоблока вполне себе по АТА функционирует, и тот же запрос паспорта отрабатывает без проблем:
Паспорт диска ST500DM002 в safe mode (плата без гермоблока)
Очевидно, что проблема в служебной области, в микрокоде. Что-то при чтении поднимается такое, что приводит к печальным последствиям для работы по интерфейсу. Не смотря на то, что некоторые коллеги, из числа "умников", критиковали метод "разрушить до основания, а затем", если есть в голове знания и опыт за плечами, то метод форматирования служебной области является наиболее действенным в ситуациях когда не ясно, с какими именно модулями проблема, а времени на исследования нет — требуется восстановление данных за которые платят по тарифу "экстренный".
В результате форматирования SA всё служебной области прописывается паттерном 00h, после чего можно записать назад только то, что нужно для чтения user area, исключив всякое глючное и кривое.
По диагностическому терминалу диск работал без проблем, всё читалось и писалось. Первым делом я сохранил все модули, описанные в FID таблице, для перестраховки. Хотя объективно для работы данного конкретного диска Pharaoh нужны следующие модули: 03h, 28h, 93h, оверлеи 0,1,4,5, дискварь 20Eh, и на всякий пожарный, 35h.
Самый правильный способ следующий: после сохранения всего, чего можно, из микрокода, в память поднимаются оверлеи, как минимум 4-5, чтобы TrTw было доступно, потом командой форматируется служебная область, и после:
System Partition Format Successful - Elapsed Time 0 mins 18 secs
не переподключая питания, назад записываются вышеупомянутые модули.
Причём, если попытаться записать по АТА, то получится:
ASCII Online mode
ABORT!
SenseCode = 03310000
ReadyStatusFlags = 0002A1E1
поэтому писать надо по терминалу, да ещё и на дефолтной скорости, чтобы не поймать
Terminal, modem transfer: Out of sync!
Кроме того с диском, описываемым в текущей заметке работа по АТА и так исключалась.
Что будет, если не записав всё нужное, или не дописав того что надо, дёрнуть питание? Диск упадёт в такую позицию:
Boot 0x10M
Spin Up[0x00000000][0x0000BDA4][0x0000C138]
Trans.
LED:000000BB FAddr:00004254
LED:000000BB FAddr:00004254
LED:000000BB FAddr:00004254
Картина печальная, но при условии бэкапа всех необходимых потрошков, легко поправимая. Для лечения понадобится командой 92h залить дискварь и оверлеи в память и на поверхность. Для этого подаём питание на диск, и сразу лепим заглушку на диагностический порт. Диск встанет после:
Rst 0x10M
MC Internal LPC Process
Spin Up
(P) SATA Reset
и с диска без проблем читается вся нужная информация. Весь процесс организации доступа к UA путём "перепрошивки Сигейта" занимает пару минут!
Читать так же:
Ремонт и восстановление Seagate ST4000LM016
Краткий обзор устройства нового диска от компании Seagate семейства Karnak
Анализ жесткого диска после воздействия размагничивателя
Поступил заказ на анализ состояния жёсткого диска после воздействия на него размагничивателя.
Читайте также: