Статьи

IBM AVVA с бед секторами (bad block)

Artem Makarov aka Robin
08.06.2008
4452 просмотра

Принесли на восстановление информации диск IBM AVVA на 60Gb. Не определяется, не крутит двигатель, — полный джентльменский набор.

После диагностики и ремонта платы электроники начал логический разбор. И столкнулся с неприятной для IBM дисков особенностью — большим количеством так называемых bad-секторов. То есть секторов, при обращении к которым накопитель взводит бит ошибки UNC - некорректируемая ошибка нарушения целостности контрольной суммы сектора. Как лирическое отступление, стоит рассказать вкратце, как устроен логический сектор диска с логической же точки зрения.

Устроен он просто — поле данных и служебное поле, защищенное контрольной суммой, по которой логика HDD определяет корректность считывания информации. Обычная ATA команда чтения — 20h, читает сектор и выдает поле данных. В случае несовпадения поля CRC (КС) накопитель вместо бита DRQ выдаст код ошибки. А вот команда 21h — позволяет вычитать такой сектор функцией "Рид-лонг", и потом, отделив служебную часть сектора, можно получить прочитанную пользовательскую часть сектора — 512 байт. К слову сказать, на современных дисках эта команда уже не поддерживается, а вот на IBM — прибегнуть к такому способу можно.

И вот, на клиентском диске масса секторов UNC. И самое неприятное — их полно в области, занимаемой MFT, где описываются все файлы, их размер, расположение, количество фрагментов и т.п. На скриншоте темно-зеленые сектора — прочитанные с ошибкой.

Скриншот части таблицы MFT

Скриншот части таблицы MFT

Содержимое такого сектора отличается от сектора нормального, что легко увидеть визуально.

Сектор вычитанный с ошибкой

Сектор вычитанный с ошибкой

Безошибочно вычитанный сектор

Безошибочно вычитанный сектор

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

Оставьте комментарий
Onik
09 июня 2008, 02:02

Насчет бэд блоков... есть несколько бэд блоков в начале и целая дорожка (90-100 не помню точно) бэд блоков примерно в середине винта. как бы их вырезать? знаю, что если разметить разделы до и после Bad блоков, то они использоваться не будут. но что делать с теми, что в начале? как бы их "отрезать"? понимаю, что лучше выкинуть винт, но жаль терять файло-свалку в 500 гигов, используемую только для чтения. Что посоветуте? Статьи об этом я как то не нашел.

Artem Makarov aka Robin
09 июня 2008, 14:24

Совет один, сделать диску полное стирание в ПО типа mhdd (erase) Если не поможет, то пустить его на зч.

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

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

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