Hdd ttl seagate распиновка

Обновлено: 07.07.2024

Симптомы у дефектных жестких дисков могут быть самыми различными, обычно компьютер может вдруг начать "тормозить", зависать, и после перезагрузки винчестер уже не определяется системой, иногда диск очень быстро начинает покрываться плохими секторами и S.M.A.R.T. жесткого диска отмечает их как Reallocated (перемещённые) сектора. Последняя ситуация показана на скриншоте после данного абзаца. Это следствие саморазрушения микрокода винчестера. То,что жесткий диск блокируется при этом - лишь следствие. Но лучше иметь заблокированный диск с исправными головками, информацию с которого восстановить еще возможно, чем незаблокированный, но с запилами, и не восстановимый ни за какие деньги. Прошивка повлечет лишь дополнитель ные трудности, если накопитель снова испортится.

Итак, что мы имеем на сегодняшний день? Прошивки которые подвержены этой проблеме: SN04, SN05 и более ранние. Жесткие диски SEAGATE производства Thailand или China. Жесткие диски NS серии: ST31000340NS, ST3750330NS, ST3500320NS, ST3250310NS. Cимптомы: не определяется в Bios или моментально появившиеся тысячи Realloceted Sectors (переназначенных секторов).

Если при включении винт издает негромкий "звук удушения" или ритмично "подергивается", то дальнейшая инструкция вам не поможет. Данная неисправность - ни что иное, как заклинивший вал шпиндельного двигателя. Возникает самопроизвольно или после падения HDD (достаточно совсем небольшого удара). Виноват в этом неудачно спроектированный гидроподшипник и низко-качественные дешевые материалы.

Для начала нам необходимо обзавестись адаптером RS232-to-TTL. Можно cобрать переходник на базе микросхемы MAX232 как показано на схеме:

Примечание к схеме:Если есть возможность подключиться к стабилизированному напряжению +5В, то схему можно упростить, выкинув из нее стабилизатор 7805 с двумя конденсаторами обвязки.

Альтернативная схема адаптера RS232-to-TTL:

Ещё, как вариант, можно использовать USB программатор на CH341A как адаптер USB в TTL. Он позволит подключится даже к компьютеру без COM порта. Подключение будет осуществлятся через USB, что более удобно. Купить USB программатор на CH341A можно у нас в магазине с доставкой по Украине службами доставки.

Далее порядок действий следующий:

1.) Если на жестком диске установлена перемычка "режим работы SATA I", то заранее уберите эту перемычку, переводящую диск в режим работы SATA I.

2.) Подключаем контроллер 232-to-TTL к COM порту. (Если Вы используете USB конвертер или программатор на CH341A в качестве 232-to-TTL адаптера, то драйвер должен быть уже установлен заранее. Описывать установку драйвера я не буду.)

3.) Запускаем программу ГиперТерминал (входит в состав Windows XP). Если у Вас установлена Windows Vista, Windows 7, Windows 8 или более новая, то в стандартной поставке ГиперТерминал не входит. Вы можете скачать англоязычную версия HyperTerminal с нашего сайта. Запускаем HyperTerminal и вводим название подключения. Название подключения указываем любое, я ввёл "1".

4.) В гипертерминале выбираем COM порт. У меня COM3, у Вас может быть другой. Всё зависит от того как Вы подключили адаптер 232-to-TTL.

5.) Устанавливаем скорость порта 38400, управление потоком - нет, остальное по умолчанию как показано ниже на скриншоте.

6.) Перед подключением контроллера 232-to-TTL к жесткому диску рекомендую проверить работу связки ГиперТерминала и адаптера 232-to-TTL. Для проверки работоспособности замкните между собой Rx и Tx проводки и в окне ГиперТерминала напечатайте что-то на клавиатуре. В окне должны отображаться введённые символы - «эхо» терминала. Каждый введенный вами символ — должен появлятся на экране (возвращаться через Tx-Rx). Если «эхо» нет, значит ваш девайс не работает или неправильно настроен COM порт. На деле это выглядит так: подключаем кабель — запускаем теминал — настраиваем его на нужный порт — пытаемся что-нибудь напечатать — в терминале тишина. Значит что-то не работате. Если замыкаем Tx-Rx — пытаемся что-нибудь напечатать — в терминале появляется то, что мы напечатали. Вывод — «эхо» работает и у нас всё готово к подключению HDD диска.

7.) Тремя проводками подключаем контроллер 232-to-TTL к винчестеру. Подключаем Tx и Rx как показано на фото (GND можно не подключать, но в этом случае возможны появления в ГиперТерминале лишних символов - мусора). Я подключал все три провода.

8.) Подаем питание на винчестер. В результате у Вас должно быть вот такое подключение:

Rst 0x20M
(P) SATA Reset
PASS
Np Phy: Staggered spin bypass
ASCII Diag mode

10.) Для моделей жестких дисков серии NS Barracuda ES.2 нужно замкнуть контакты на плате как показано ниже на скриншотах, проще всего использовать для этого тонкий и острый пинцет. Для различных ревизий плат нужно замыкать контакты в разных местах:

После замыкания этих контактов, головки диска в течении 5-7 секунд щелкают, затем двигатель сам останавливается, а вы держите контакты замкнутыми. После остановки двигателя (не раньше!) переходим к пункту 11.

Ещё, как вариант, можно выключить питание жесткого диска. Открутить винты на плате винчестера рядом с контактными дорожками к двигателю. Подсунуть кусок пленки, пластиковую карту или другой изолятор для невозможности запуска двигателя, так как показано ниже на фото. Затем опять подать питание на жесткий диск.

11.)Один раз жмем CTRL+Z и терпеливо ждем приглашение в виде:

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

12.) Набираем /2 жмем Enter (переход на уровень 2). Наблюдаем на терминале:

13.) Набираем Z жмем Enter (команда на останов двигателя). Наблюдаем на терминале:

F3 2>Z
Spin Down Complete
Elapsed Time 0.138 msecs
F3 2>

Жесткий диск пишет что остановил двигатель.

14.) Только теперь, ничего не отключая, если Вы держали замкнутыми контакты на плате, размыкаем контакты, убрав пинцет! Или если Вы подкладывали изолятор на контакты двигателя, убираем изолятор и закручиваем винты (лучше это сделать во избежание плохого контакта). Размыкать контакты и убирать изолятор можно ТОЛЬКО после остановки шпенделя, иначе всё надо будет делать сначала, с пункта 8 в лучшем случае.

15.) Набираем U жмем Enter (команда на раскрутку двигателя). Наблюдаем на терминале:

Пишет что шпиндель раскрутился. Если в ответ возвращаются следующие строчки:

Error 1009 DETSEC 00006008
Spin Error
Elapsed Time 53.959 secs
R/W Status 2 R/W Error 84150180

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

Надеюсь, что шпиндель раскрутился нормально и нам можно продолжать.

16.) Набираем /1 жмем Enter (переход на уровень 1). Наблюдаем на терминале:

17.) Набираем N1 жмем Enter (очистка SMART и снятие блокировки "CC"). Наблюдаем на терминале:

18.) Набираем /T жмем Enter (переход на корневой уровень). Наблюдаем на терминале:

19.) Отключаем разъём питания жесткого диска (все остальное включено) на 10 сек.

20.) Включаем разъём питания жесткого диска. Диск раскручивается.

21.) Жмем Ctrl+Z. Наблюдаем на терминале:

22.)Набираем i4,1,22 жмем Enter - это чистит G(Alt)-list. Наблюдаем на терминале:

  • если HDD сделан в Китае, то вводим: m0,2,2. 22 и жмем Enter.
  • если HDD сделан в Тайланде, то вводим: m0,2,2,0,0,0,0,22 и жмем Enter.

Эта команда переносит возможные дефекты из G(Alt)-листа в P(Slip)-лист. Наблюдаем на терминале:

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8
User Partition Format 5% complete, Zone 00, Pass 00, LBA 00004339,
User Partition Format Successful - Elapsed Time 0 mins 05 secs

24.) Повторяем пункты 12 и 13 для остановки двигателя.

25.) Выключаем разъём питания жесткого диска. Выключаем компьютер. Подсоединяем винчестер в штатном режиме и готовимся радоваться.

После удачного восстановления рекомендуется сделать Backup данных. Также производитель рекомендует обновить прошивку на самую новую с сайта Seagate.

Я бы ещё после этого сделал бы Erase (стирание) всего жесткого диска через Victoria, SeaTools или MHDD. Потом сделал бы Scan + Remap (проверку со включенным Remap) для надёжности.

Не так давно, я умудрился столкнуться с проблемой, с чьей-то легкой руки в рунете названной “Муха CC”. Этот недуг постигает жесткие диски Seagate серии 7200.11, выпущенные в конце прошлого/начале этого календарного года.

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

Проблема характерна двумя типами неисправностей: либо HDD еще определяется БИОСом, но имеет нулевой объем, либо БИОСом уже не определяется (более “тяжелый” вариант), в моем случае именно это и произошло.

К нынешнему моменту про “Муху СС” уже много известно и существую методы “лечения”.

От себя добавлю, что пошаговое следование инструкции от showman по началу должного результата не дало. Оборвалось все при попытке первый раз в гипертерминале увидеть приглашение к вводу команд F3 T>, введя комбинацию клавиш CTRL + Z. Не смотря на то, что устройство для прошивки (в моём случае это были спаянные провод для перепрограммирования и прошивки телефонов Siemens ME/S/SE-45 и провод для соединения CD/DVD привода и звуковой карты) было собрано нормально и “эхо” в гипертерминале корректно отображалось, в момент подключения жесткого диска комбинация CTRL + Z писала в поток “стрелку” → и никаких приглашений для ввода команд не появлялось.

Решил я эту проблему, перейдя сразу к шагу изоляции платы от оси HDD. Открутил 3 болта, ближних к оси, и подсунул сложенный вчетверо лист обычной бумаги A4. После этого снова включил компьютер, включил терминал, и тогда-то комбинация CTRL + Z сработала исправно.

Фотографии “больного” и “операционной”:





После обновления прошивки диск заработал и я полчил доступ к данным, которые, на первый взгляд, оставились целы, но злые языки твердят, что это не надолго. Потому, в качестве back-up диска был куплен WD Caviar Green объемом 1TB. С Seagate я пока повременю.

Жесткий диск, он же винчестер, не такое уж и простое устройство, каким может показаться на первый взгляд. За всю историю своего существования, начиная с 1956 года, накопители претерпели огромное количество изменений. Теперь это не просто пластина и считывающие головки, а целая система со своей логикой и программным обеспечением, а следовательно, со своими фичами и секретами. В этой статье мы попробуем разобраться, что собой представляет современный жесткий диск, а также попытаемся расширить его стандартные возможности для своих хакерских целей.

WARNING

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

Электроника HDD

Конструкция винчестера в какой-то степени наверняка известна каждому. По сути, это несколько пластин, которые вращаются со скоростью 15 000 об/мин, устройство позиционирования и блок управляющей электроники. Добавим к этому систему самоконтроля S.M.A.R.T. и другие интеллектуальные атрибуты. Короче, без пол-литра не разберешься, тем более технология отдельных элементов составляет коммерческую тайну.

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

Рис. 1. Плата жесткого диска

Рис. 1. Плата жесткого диска

В старых моделях жестких дисков часть функций управляющей электроники брал на себя MFM- или RLL-контроллер компьютера. Но со временем из-за высокой скорости передачи данных потребовалось сократить тракт передачи данных, и разработчики отказались от этой идеи.

Пациент

Итак, перед нами плата типичного жесткого диска Western Digital WD5000AAKX объемом в 500 Гб (рис. 1). Что мы имеем:

  1. Микросхема DRAM. Интереса как такового не представляет, мануал легко можно найти в Сети. Память этих чипов колеблется от 8 до 64 Мб и соответствуют размеру кеша жесткого диска.
  2. Контроллер двигателя шпинделя. Отвечает за управление механикой, регулирует мощность и имеет некоторые аналоговые/цифровые каналы. На чип Smooth L7251 3.1 мануалы отсутствуют, но можно попробовать поискать похожие микросхемы.
  3. Флеш-память. На некоторых винчестерах микросхема отсутствует, но флеш-память бывает встроена в чип контроллера диска. Обычно имеет размер в пределах от 64 до 256 Кб. Используется для хранения программы, от которой загружается контроллер жесткого диска.
  4. И самая любопытная для нас вещь — контроллер жесткого диска. Их производят компании Marvell, ST, LSI и другие. Некоторые компании, производящие винчестеры, делают свои собственные контроллеры, как, например, Samsung и Western Digital.

Контроллер жесткого диска предназначен для управления операциями преобразования и обмена данными от головок чтения/записи к интерфейсу накопителя. К сожалению, компания Marvell не хочет выкладывать документацию на свою продукцию в открытый доступ. Ну что ж, попробуем разобраться сами.

Копнем глубже

Наш зарубежный коллега Джероен «Sprite_tm» Домбург нашел интересный выход из данной ситуации — для исследования контроллера он использовал интерфейс JTAG (от англ. Joint Test Action Group). Этот интерфейс предназначен для тестирования и отладки печатных плат. То есть с помощью JTAG мы можем спокойно подключиться к интересующему нас устройству, поддерживающему стандарт IEEE 1149. В микросхему интегрируется порт тестирования (TAP — Test Access Port), состоящий из четырех или пяти выводов: TDI, TDO, TMS, TCK и, возможно, TRST. Расположение этих выводов для контроллера Marvell нашел некий dex, любезно поделившийся результатами на форуме HDDGURU.

Джероен выяснил, что у контроллеров Western Digital есть ARM-ядро, доступное через JTAG-порт. А также последовательный порт, который обычно не используется, но может быть полезен для наших целей.

Для исследования контроллера жесткого диска использовалась плата FT2232H, которую можно заказать в интернете за 30 евро. Она поддерживает JTAG, связь через последовательный порт, а также SPI. Для работы с ней использовалась программа OpenOCD.

В результате оказалось, что у микросхемы есть целых три ядра. Два Feroceon, которые являются довольно сильными ARM9-подобными ядрами, и Cortex-M3, которое немного слабее. У всех ядер разное предназначение:

  • Feroceon 1 обрабатывает физические чтение/запись на жесткий диск;
  • Feroceon 2 -обрабатывает SATA-интерфейс, кеш и преобразует LBA в CHS;
  • Cortex-M3 — предназначение неизвестно. Можно просто остановить его, но жесткий диск будет продолжать работать.

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

Для доступа к ядру можно использовать режим DMA (Direct Memory Access). Это такой режим, когда обмен данных происходит непосредственно с головки считывания в память, без активного участия процессора. То же самое относится и к SATA-порту: процессору нужно только указать, где данные, и логика DMA позаботится о чтении информации непосредственно из памяти.

Источником информации в этом случае послужит кеш-память винчестера из-за ее хорошего расположения: данные, считанные с диска, будут в кеше, так что их можно будет сразу оттуда скопировать.

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

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

В результате своего исследования Джероен создал инструмент fwtool, который может сбрасывать различные блоки во флеше и переводить код в текстовый файл. Затем можно изменить, удалить или добавить блок и вновь собрать все в одном файле прошивки, который потом спокойно загрузить во флеш.

Меняем прошивку

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

У компании Western Digital есть специальные программные утилиты для работы с жестким диском — это инструменты, работающие под DOS, которые могут загрузить новую прошивку контроллера, микросхемы флеш-памяти или сервисного раздела. Инструменты используют так называемые Vendor Specific Commands (VSC), впрочем, об этом чуть позже.

Также есть набор инструментов под названием idle3-tools, которые можно взять на вооружение для модификации прошивки жесткого диска. Он также использует VSC, применяя Linux SCSI PassThrough IOCTLs. Джероен взял этот код, изменил его и интегрировал в fwtool. После этой модификации fwtool научился читать и писать на микросхему флеш-памяти.

Теперь если хакер каким-то образом сможет воспользоваться fwtool на удаленной машине, то получит возможность сбросить флеш-память диска, изменить ее и «зашить» обратно. Правда, в конце концов владелец узнает о взломе и, вероятно, переустановит систему, но злоумышленник может внедрить что-нибудь, что проявит себя и после переустановки. Например, подождать, пока машина зачитывает из файла /etc/shadow/ , где хранятся все пароли в системах UNIX/Linux, и изменить содержимое. После чего можно будет просто войти под своим паролем.

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

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

Терминальный режим жесткого диска

При работе в терминальном режиме пользователь может взаимодействовать с жестким диском посредством диагностических команд. Этот метод применяется для диагностики и ремонта накопителей Seagate и Toshiba, в Western Digital такая возможность отсутствует из-за сложности подключения. Терминальный режим фактически предоставляет полный root — управление механикой и логикой устройства. С его помощью можно также обновить или перезагрузить прошивку винчестера. Список команд для большинства накопителей можно посмотреть в интернете. А на плате жесткого диска имеется специальный разъем для подключения через последовательный порт.

Рис. 2. Разъем для подключения через последовательный порт. Одной тайной меньше

Рис. 2. Разъем для подключения через последовательный порт. Одной тайной меньше

Для доступа в терминальный режим понадобится устройство-адаптер, необходимое для преобразования уровней сигналов RS-232 в уровни TTL (такие адаптеры имеются в продаже, но можно собрать и самому — все необходимые схемы находятся в свободном доступе, а в качестве основы можно взять некоторые модели Arduino). Мы же возьмем готовый чип FTDI, который преобразует USB в последовательный интерфейс для микроконтроллера Atmega. Нужно соединить GND и RESET, а для подключения использовать контакты RX и TX.

Рис. 3. Arduino Nano в качестве адаптера

Рис. 3. Arduino Nano в качестве адаптера

Для работы с COM-портом используем любую понравившуюся программу — например, PuTTY или Hiperterminal. Выбираем тип подключения, вводим номер COM-порта и другие настройки:

Рис. 4. Окно настроек PuTTY

Рис. 4. Окно настроек PuTTY

Для проверки работоспособности схемы нужно замкнуть RX и TX между собой. В результате все набираемые символы отобразятся в двойном количестве. Это происходит из-за того, что введенные данные будут передаваться по линии TX, а затем они же вернутся по линии RX. Делается это так: отключив SATA-кабель, соединяем выход TX диска с входом RX адаптера, и наоборот — RX адаптера с TX диска. Подключаем питание. После нажатия клавиш <Ctrl + Z> , получаем приглашение Т> (или F> для неисправных HDD) и вводим команды. Для получения списка команд вводим /C , а затем Q.

Из-за большого количества команд инженеры Seagate разделили их структуру на уровни. Такие команды, как чтение, запись, поиск, лог ошибок, доступны сразу на нескольких различных уровнях. Чтобы переключить жесткий диск для работы на другом уровне, надо воспользоваться командой /x .

Рис. 5. Обнуление S.M.A.R.T.

Рис. 5. Обнуление S.M.A.R.T.

Кроме этих девяти уровней, есть еще два дополнительных набора команд: сетевые и общие. Основной целью сетевых команд является отображение изменения текущего состояния системы. Общие команды используются для доступа к регистрам, буферной памяти и данным.

Вообще, терминальный режим предоставляет много интересных возможностей. Например, команда низкоуровневого форматирования может не только снести данные подчистую без возможности восстановления, также, если во время форматирования кто-нибудь отключит питание, винчестер сможет сам «доформатироваться» при первом же его включении. В общем, это тема, достойная отдельной статьи. Мы же движемся дальше.

Запись информации в сервисные разделы HDD

В любом жестком диске присутствуют сервисные разделы. Они предназначены для хранения служебных программ винчестера, таких как S.M.A.R.T., модули раннего обнаружения ошибок, модули самодиагностики и так далее. К счастью, все эти данные не занимают выделенное место полностью, а значит, при правильном подходе мы можем использовать это бонусное пространство. Сервисные разделы не следует путать с DCO или HPA, которые могут быть легко обнаружены и доступны через стандартные ATA-команды.

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

Для доступа к информации из сервисных разделов не подойдут стандартные ATA-команды, вместо этого для записи и чтения используются специальные команды VSC (Vendor Specific Commands). Как правило, производители держат в секрете эти команды, но порой выпускают утилиты для работы с сервисными разделами — например, программа wdidle3.exe от компании Western Digital и ее опенсорсный аналог idle3-tools. Еще один пример для WD — программа HDDHackr, меняющая записи в системных разделах HD.

WARNING

Данные в сервисных разделах очень важны для правильной работы винчестера. Повреждение записанной информации ведет к потере работоспособности диска. Восстановить ее будет не так уж и просто — для перезаписи данных в сервисных разделах понадобятся специализированные программы (например, Ace Laboratory PC3000).

Объем сервисного раздела зависит от модели винчестера. Например, в диске WD2500KS-00MJB0 семейства Hawk объемом 250 Гб (прошивка 02AEC) в сервисный раздел записывается две копии файлов, около 6 Мб каждая. Размер зоны на каждой поверхности составляет около 23 Mб (64 трека по 720 секторов на каждом). Поскольку этот диск имеет шесть поверхностей (головки от 0 до 5), модули сервисных разделов располагаются на месте, сопоставленном с головками 0 и 1, а место, закрепленное за головками со 2 по 5, зарезервировано, но не используется. Таким образом, зарезервированный раздел занимает около 141 Мб, из которых 12 Мб находится в использовании.

Для сравнения: модель WD10EACS-00ZJB0, емкостью в терабайт и с восемью поверхностями, имеет зарезервированное пространство 450 Мб, из которых занято 52 Мб. Ариэль Беркман (Ariel Berkman) из компании Recover Information Technologies LTD написал статью о работе с сервисными отделами HDD, а также выложил PoC-код для записи 94 Мб информации в сервисный отдел диска Western Digital 250GB Hawk. Делается это следующим образом:

  • Узнаем свой SATA IO адрес, используя lspci -v .
  • Для компиляции используем команду gcc -Wall -O -g -o SA-cover-poc SA-cover-poc.c .
  • Создаем рандомный файл (94 Мб в размере) и вычисляем его MD5-хеш.
  • Записываем файл в сервисный раздел.
  • Очищаем винчестер с помощью команды dd-ing /dev/zero , которую следует распространить на весь жесткий диск (или на отдельную часть, предварительно заблокировав доступ к остальному). Достаточно один раз прогнать этот код, чтобы уничтожить данные безвозвратно.
  • Читаем содержимое сервисного раздела, вычисляем его хеш и убеждаемся в целостности данных.

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

Программы для восстановления HDD

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

  1. TestDisk — самая простая и эффективная программа для восстановления HDD. Предназначена для поиска и реконструкции потерянных разделов, загрузочного сектора, удаленных файлов; исправляет таблицу разделов. Работает с большим количеством файловых систем. Работает в консольном режиме, чем достигается высокая скорость.
  2. Acronis Disk Director — целый программный пакет, в который включено немалое количество инструментов для работы с HDD. Содержит в себе утилиту Acronis Recovery Expert, которая служит для реконструкции файлов и разделов. В отличие от предыдущей программы имеет графический интерфейс, но работает с меньшим количеством файловых систем.
  3. Paragon Partition Manager — бесплатная программа от отечественных разработчиков, умеет почти все то же самое, что и Acronis, но ужасно медленная.

Рис. 6. Восстанавливаем поврежденные разделы с помощью TestDisk

Рис. 6. Восстанавливаем поврежденные разделы с помощью TestDisk

Заключение

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

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital)

Програмный ремонт жёстких дисков HDD

Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital

Создать, что ли, отдельную тему по программному ремонту старых жёстких дисков?

Tronix, у меня ушло около двух лет на то, чтобы фильтровать на эту тему весь интернет, читать тысячестраничные форумы (иногда - закрытые - через кэш поисковика), выгребая из тонн флуда крупицы здравого смысла, поднимать из веб-архива мёртвые сайты, расшифровывать дремучий сленг, шариться по мутным сайтам и файлопомойкам, ночи напролёт чахнуть над непонятными мануалами. Если этот FAQ поможет людям сэкономить эту пару лет и сходу починить хотя бы несколько дисков - я буду считать, что я не зря старался.

И да, "классические" Барракуды можно привести в состояние "прям как с завода" (если головки в принципе живые, конечно) при абсолютно любых программных проблемах, хоть с совершенно пустой служебкой. Если, конечно, действовать по инструкции, которую и следует написать (черновик есть).

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Навигация по теме:
Seagate (и отдельно по F3)
Conner
Fujitsu
Quantum
Maxtor
Samsung
Western Digital
IBM, Hitachi
Прочие (Kalok, Teac, Toshiba и т.д.)

Последний раз редактировалось KALDYH 01.06.2019,20:16, всего редактировалось 4 раза.

Вклад в сообщество

Классификация по ремонтопригодности навскидку:
1. Диск не раскручивается - необходим ремонт платы электроники.
2. Диск не раскручивается, но время от времени издаёт писк - клин шпиндельного двигателя либо падение головок на пластины, как правило неремонтопригодно.
3. Диск раскручивается и начинает издавать громкий стук или неприятный шум и скрежет - головка не может считать сервоинформацию и удержаться на дорожке, за редким исключением неремонтопригодно.
4. Диск раскручивается, нормально распарковывается и останавливается, либо делает несколько негромко слышимых попыток позиционирования, либо просто не виден на интерфейсе без видимых/слышимых отклонений в поведении - повреждение служебной информации, можно пытаться отремонтировать. Иногда проблема бывает также в разъёме IDE.
5. Диск определяется, но имя диска искажено, каждая вторая буква испорчена - распространённая мелкая поломка, сломан или загнут один пин данных в разъёме IDE.
6. Диск определяется системой, но ёмкость равна нулю или отдаётся не своим именем (например, Maxtor ATHENA) - повреждена служебка, ремонтопригодно. Отдаваемое имя - технологическое имя семейства, содержится в ПЗУ.
7. Диск работает, но содержит бэды в умеренном количестве - можно попробовать их скрыть.
8. Диск работает, но содержит бэды, бэд-блоки расположены чередующимися группами по всей поверхности - отказ одной головки. В некоторых случаях ее можно отключить, получив исправную модель с меньшей ёмкостью.
9. К банке, не подумав, прикрутили неродную плату - что ж, сами виноваты.

Вклад в сообщество

KALDYH писал(а): 2. Диск не раскручивается, но время от времени издаёт писк - клин шпиндельного двигателя либо падение головок на пластины, как правило неремонтопригодно. Иногда спасти данные с такого диска можно, сначала надо раз 10 попытаться запустить в обычном режиме, далее если не выйдет, пытаться запустить подавая питание и одновременно совершая мощные щелбаны по крышке гермоблока. Попадаются полуубитые винчестеры, которые стартуют только в таком режиме. С них данные надо копировать сразу же, как только удастся раскрутить диск.
KALDYH писал(а): 5. Диск определяется, но имя диска искажено, каждая вторая буква испорчена - распространённая мелкая поломка, сломан или загнут один пин данных в разъёме IDE.

Добавлю, что иногда причиной бывает второе устройство на канале, не совместимое с подопытным винчестером.

И ещё касаемо копирования данных с проблемных жёстких дисков. Ни в коем случае не надо это делать Проводником. Он имеет свойство при ошибках диска виснуть намертво. Лучше это делать Total Commander, тот с минуту помучившись спрашивает "ошибка чтения, пробуем ещё или ну этот файл", пробовать второй раз пробовать считать обычно смысла нет, а драгоценное время пока винт совсем коньки не отбросил уменьшается.

Вклад в сообщество

Платы первых IDE жестких дисков несли на себе следующие основные компоненты:
1. Микроконтроллер - стандартный МК общего назначения, 8/16-разрядный: Motorola 68HC11, Intel 8052, 80196, Fujitsu MB89000.
2. ОЗУ микроконтроллера
3. ПЗУ
4. Контроллер интерфейса IDE, обычно производства Cirrus Logic или Adaptec
5. ОЗУ дискового кэша
6. Микросхема драйвера шпиндельного двигателя и привода актуатора (spindle and voice coil motor driver, SP&VCM, "крутилка-шевелилка"), иногда с внешними силовыми ключами.
7. Канал чтения-записи.
8. Микросхема коммутатора-предусилителя.
9. Элементы защиты.

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

Вклад в сообщество

ATauenis писал(а): Попадаются полуубитые винчестеры, которые стартуют только в таком режиме. С них данные надо копировать сразу же, как только удастся раскрутить диск. Ага, я тоже встречал. Причина тут обычно другая - износ подшипников шпинделя.

Вклад в сообщество

Первые жёсткие диски, как известно обитателям этого форума, обходились вовсе без микроконтроллеров, только хард-логикой и аналоговыми схемами. Позже на платах появился микроконтроллер - первоначально только для управления позиционером и отработки старта-остановки, к обмену данными он отношения не имел. И только с введением интерфейса IDE микроконтроллер стал неотъемлемой частью жёсткого диска. Поначалу в его ведении была только обработка команд протокола ATA и позиционирование, позже к ним добавились буферизованный поиск и оптимизация перемещения коромысла, стратегия кэширования, логи SMART, трансляция и переназначение секторов и многие другие функции, для управления позиционером и всей сервосистемой появился отдельный сопроцессор, а для сепарации данных - DSP. Соответственно с этим вырастал и объём требуемых для его работы данных - у первых винчестеров почти всё умещалось в ПЗУ, у новейших в нём только начальный загрузчик. Все вместе эти данные, как исполняемый код, так и всевозможные таблицы, образуют служебную информацию ("служебку"). Хранится она на поверхности жёсткого диска, на специально выделенных для этого цилиндрах (у некоторых моделях - на внешних, где плотность записи ниже, с отрицательными номерами, у других - в середине диска, в специально выделенной служебной зоне с пониженной плотностью), обычно имеет основную копию только по одной (нулевой, самой нижней) голове (называемой служебной - в принципе, модифицировав микропрограмму, можно назначить служебной любую другую), по соседней голове хранится резервная копия. Служебка недоступна пользователю. Для доступа к служебной информации по интерфейсу необходимо ввести в регистры накопителя т.н. технологический ключ, или Super-On. Откуда его узнают? Реверс-инженеринг прошивок накопителей из пакетов обновлений прошивки, фирменных служебных утилит, утечки с заводов-производителей (обычно через китайцев).

Подробнее о структуре служебки отдельных накопителей можно почитать в документации на PC3000/HRT

Читайте также: