«Воскрешаем» HDD

Компьютерное железоНакопители
Из песочницы
Хочу поделиться опытом восстановления жесткого диска 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
Открываем окно терминала, нажимаем Ctrl+Z и видим приглашение:
F3 T>

Чтобы увидеть список команд и описание к ним для вашего жесткого диска, необходимо ввести /C, а затем Q.

Восстановление

Пришло время приступить к восстановлению.

Важно: соблюдайте регистр при вводе команд!
  1. Перейдем на уровень 1, введя /1
  2. Очистим S.M.A.R.T. командой N1
  3. Выключаем питанием и ждем, когда остановится двигатель (~10 сек)
  4. Включаем питание и снова нажимаем Ctrl+Z
  5. Очищаем список bad-блоков: вводим i4,1,22
  6. Повторяем пункты 3-4
  7. Вводим в консоли: m0,2,2,0,0,0,0,22 (для жестких дисков «Made in China» — m0,2,2,,,,,22)
  8. Переходим на уровень 2: /2
  9. Останавливаем двигатель: вводим Z
  10. Выключаем питание
После всех манипуляций жесткий диск стал определяться в BIOS. Чтобы не столкнуться с проблемой снова, обновите ПО у винчестера. Эта процедура совсем проста: с сайта производителя скачивается загрузочный образ, который записывается на болванку. Далее — загрузка и обновление прошивки в пошаговом режиме, просто следуйте инструкциям на экране.

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

О том, что осталось за кадром

Поскольку эта статья — результат собственных экспериментов, основаных на различных материалах по восстановлению HDD, далее я опишу те проблемы, с которыми столкнулся сам.
Проблема Решение
Шум в консоли Подключите контакт GND к «земле» на блоке питания. Я использовал провод от клавиши включения. Также вытяните джампер SATA I из жесткого диска.
На экране после нажатия Ctrl+Z ничего не появляется Скорее всего, неправильно подключены RX и TX.
При первом включении появляется ошибка
LED:000000CC FAddr:0025BF67
или
LED:000000CC FAddr:0024A7E5
Сначала попробуем отключить головки. Для этого откручиваем плату (заодно можно и почистить контакты ластиком: у меня там было очень много грязи), подкладываем изолятор (бумага, изолента и т.д.) на контакты, ведущие к головкам, и обратно прикручиваем плату (не всеми винтами, а так, чтобы было питание на мотор). Включаем питание, нажимаем Ctrl+Z, вводим /2, потом Z. Ждем сообщение об успешной остановке.
Spin Down Complete
Elapsed Time 0.138 msecs
Не отключая питания, откручиваем плату, достаем наш изолятор и прикручиваем обратно плату, вводим команду запуска двигателя: U.

Если не помог метод отключения головок, нужно замкнуть контакты на плате острым пинцетом или тонким проводком. На фото (доступны по ссылкам ниже) показаны точки замыкания на разных жестких дисках. Замыкайте контакты после включения питания жесткого диска. Будут слышны стуки головок, а потом и остановка двигателя.
После этих манипуляций подайте команду на остановку двигателя, разомкните контакты и запустите двигатель снова.
Двигатель не запускается с ошибкой
Error 1009 DETSEC 00006008 
Spin Error 
Elapsed Time 53.959 secs 
R/W Status 2 R/W Error 84150180
Вероятно, вы забыли снять изолятор или плохо привинтили плату. Также причиной может служить механическое повреждение.
Остановка двигателя не происходит. Сопровождается ошибкой
LED:000000CE FAddr:00280569
На минуту выключите питание. Если ошибка не уходит, сперва попробуйте запустить двигатель, введя U.

Спасибо за внимание, пусть ваши жесткие диски служат долго.

UPD: Ссылки по теме.
Теги:восстановление жесткого дискаseagate barracuda 7200.11arduino
Хабы: Компьютерное железо Накопители
+97
331,1k 708
Комментарии 55

Похожие публикации

Python Developer (Computer Vision)
от 150 000 до 250 000 ₽NZT GroupМосква
Специалист по машинному обучению
от 200 000 ₽Погода YoWindowМожно удаленно
Java Developer
от 80 000 до 120 000 ₽LeanTechОмскМожно удаленно
DevOps engineer / Специалист второй линии поддержки
от 115 000 до 200 000 ₽C-Executives LLCМоскваМожно удаленно
Middle PHP with Laravel Developer (удалённая работа)
от 80 000 до 100 000 ₽Software Solutions IncМосква

Лучшие публикации за сутки