Программная диагностика винчестера. Программа MHDD.

Программная диагностика винчестера. Программа MHDD.

Еще раз подчеркнем, что при восстановлении данных диагностика должна быть быстрой и щадящей. От установления того факта, что винчестер изобилует bad-блоками, легче не станет! Зато, пока поверхность диска тестируется, дефект магнитного покрытия успевает «расползтись», а слегка неисправная головка может погибнуть окончательно.

Программа MHDD

MHDD — небольшая, но многофункциональная бесплатная программа, работающая с винчестерами на уровне команд ATA (в обход BIOS). С ее помощью про водится диагностика поверхности дисков, выполняется чтение и запись произвольных секторов, снимаются посекторные образы накопителей. Кроме того, MHDD позволяет управлять системой SMART, парольной защитой дисков, регулировать скорость позиционирования головок и связанный с ней уровень шума и т.д.

Дистрибутивы программы выложены на сайте разработчика: www.ihdd.ru. Скачать MHDD можно в нескольких вариантах: в виде образа компакт-диска (файл mhdd32verx.x.iso), самораспаковывающегося образа загрузочной дискеты или исполняемого файла, запускаемого из среды DOS. На том же сайте приводится подробная документация к программе и работает форум.

Заметим, что MHDD, в первую очередь, считается инструментом для ремонта винчестеров. Самые эффективные функции программы уничтожают данные, зато позволяют переназначить (remap) дефектные блоки. Смысл «разрушающей диагностики» в том, что при многократной перезаписи или стирании неустойчиво обрабатываемых секторов микропрограмма винчестера заносит адреса таких секторов в список дефектов (Glist). По возможности она на уровне трансляции заменяет дефектные секторы исправными из резервной области.

Тем самым дефект поверхности скрывается — с точки зрения LBA диск вновь состоит из непрерывной последовательности совершенно исправных секторов. Однако в этом заключена и «обратная сторона медали». Дойдя до «спрятанного» дефектного блока, головка вынуждена переходить в резервную область, обрабатывать там «подменный» блок и тут же возвращаться обратно. Во время работы диск с большим количеством переназначенных секторов постоянно пощелкивает головками, а скорость последовательного чтения/записи заметно падает.

По умолчанию программа MHDD работает с винчестером, подключенным к вторичному (Secondary) каналу IDE в качестве первого устройства (Master). Она способна обращаться и к дискам SATA или SCSI. Винчестеры SATA определяются программой как устройства на PCI-контроллере.

Функций у MHDD много. Однако при восстановлении информации востребованы лишь некоторые из них:

  • получение сведений о диске (паспорта); сканирование поверхности диска;

  • управление уровнем акустического шума (AAM); сохранение образа диска в файл.

Эти операции объединяет то, что они являются неразрушающими, поскольку не связаны с записью данных на диск. Делать что-либо другое с винчестером, на котором остается нужная информация, не стоит. Наша задача — лишь оценить ситуацию!

Запишите программу на компакт-диск, а затем загрузите компьютер с него. На экране появится меню выбора накопителей. Выберите диск, который нужно исследовать, и введите его номер по списку. Можно вызвать это меню в любое время нажатием комбинации клавиш <Shift>+<F3>.

Укажите диск (например, 3), нажав клавишу с соответствующей цифрой. На жмите клавишу <Enter>. Программа готова работать с этим винчестером.

Получить справку о командах можно в любой момент, нажав клавишу <F1>. Тем не менее многие предпочитают заранее распечатать список команд и положить бумажную «шпаргалку» рядом с компьютером — так удобнее.

Все команды вводятся с клавиатуры, регистр роли не играет. Ввод любой команды завершается нажатием клавиши <Enter>. Многие команды дублируются «быстрыми» сочетаниями клавиш. Для отмены или прерывания выполнения команды служит клавиша <Esc>.

Чтобы получить сведения о диске (его паспорт), введите команду ID или нажми те клавишу <F2>. Другая команда, EID, выводит более подробные сведения.

В верхней части экрана постоянно выводятся значения флагов (сообщений диска) и регистров ошибок. Назначение флагов определяется стандартом ATA/ATAPI. Первоисточники проще всего найти на сайте http://t13.org. С собранной там многостраничной документацией ознакомиться полезно, хотя объем ее немного пугает. Мы же приводим лишь квинтэссенцию сведений о флагах и регистрах:

  • DRDY (Drive Ready) — винчестер готов к приему команды;

  • DRSC (Drive Seek Complete) — в старых винчестерах флаг означал буквально, что головки нашли нужный цилиндр и успешно позиционировалась на нем.

В современных дисках с их кешем и упреждающим чтением флаг утратил прямой смысл, и теперь его нужно рассматривать в контексте предшествующей команды;

ПРИМЕЧАНИЕ

Любое исправное устройство IDE или SATA, готовое к работе, должно выдать сообщения DRIVE READY и DRIVE SEEK COMPLETE, т.е. должны быть подсвечены флаги DRDY и DRSC.

  • флаг BUSY сигнализирует, что накопитель занят — выполняет какую-либо операцию, например, чтение или запись. Тот же флаг поднимается и в случае «зависания» диска. Пока горит индикатор BUSY, все остальные индикаторы игнорируются, и винчестер может реагировать только на команду Reset (<F3>);

  • WRFT (Write Fault) означает ошибку записи. Флаг устарел, и по современным версиям стандарта его следует трактовать как «Device Fault» — общую неисправность устройства;

  • DRQ (Data Request) — винчестер запрашивает команду и готов к обмену данными через интерфейс;

  • флаг INDX (Index) должен подниматься при каждом обороте диска. На современных винчестерах прямо он уже не используется и особого практического смысла не несет;

  • CORR — коррекция. Еще один устаревший флаг, который в современных накопителях реально не применяется;

  • ERR (Error) — ошибка. Конкретный ее код выводится в регистре ошибок. Значения регистров ошибок отображаются в правой части той же строки индикаторов:

    • BBK (Bad BlocK Detected) — «плохой», т.е. недоступный, блок без дальнейшего уточнения причины. Микропрограммы современных дисков этот код обычно не выдают, поскольку пытаются переназначать дефектные блоки. В случае неудачи (например, дефект-лист уже переполнен) выдается ошибка UNC;

    • UNC (Uncorrectable Data Error) — не удалось получить данные даже за счет внутренней коррекции ошибок, и блок признан нечитаемым. Может являться как следствием несовпадения контрольной суммы блока, так и результатом физического повреждения поверхности;

    • IDNF (ID Not Found) — не идентифицирован сектор. Обычно говорит о сбое микропрограммы или разрушении формата нижнего уровня (сервометок);

    • ABRT (Aborted Command) — винчестер отверг команду в результате неисправности, либо команда не поддерживается конкретным устройством;

    • T0NF (Track 0 Not Found) — невозможно найти нулевую дорожку, точнее, выполнить рекалибровку на стартовый цилиндр рабочей области. В современных винчестерах свидетельствует об ошибке микропрограммы или неисправности магнитных головок;

    • AMNF (Address Mark Not Found) — невозможно прочитать сектор, обычно в результате серьезной аппаратной проблемы (неисправности магнитных головок, запилы на поверхности пластин).

Для сканирования поверхности нажмите клавишу <F4> или введите команду SCAN и нажмите клавишу <Enter>. Появится меню, в котором можно задать некоторые настройки. Функции, которые способны изменить или разрушить данные на диске (Remap, Erase Delays), по умолчанию отключены.

По умолчанию номер начального сектора равен нулю (стартовый сектор). Номер конечного сектора равен максимально возможному (последний сектор диска). Для изменения значения или переключения настройки выберите соответствующий пункт клавишами со стрелками и нажмите <Enter>. Задав настройки, начните сканирование еще одним нажатием клавиши <F4>.

MHDD сканирует накопители блоками. Для накопителей IDE/SATA один блок равен 255 секторам (130 560 байтов). По мере сканирования на экране строится карта блоков. Справа от нее приводится «легенда». Чем быстрее осуществляется доступ к блоку, тем лучше. Если при обращении к блоку возникают проблемы, то время обращения увеличивается. Если же возникает неисправимая ошибка (блок совершенно недоступен), то программа переходит к следующему блоку, а на карте отображается соответствующий символ.

Все, что перечислено в легенде ниже вопросительного знака (превышения допустимого времени обращения), является разными случаями недоступных блоков. Расшифровка ошибок была приведена ранее.

Главное здесь — понимать, что все это результаты физических дефектов внутри гермоблока. Вопрос вовсе не в том «Кто виноват?», а лишь в том «Что делать?». Если вы обладаете всем необходимым для работы с внутренностями гермоблока, то за подтверждением своих подозрений отправитесь в «чистую комнату» — там все будет видно. Если же такая возможность у вас отсутствует, оценка поверхности позволит решить: то ли пытаться далее вычитывать диск программными методами, то ли обращаться к тем, кто сможет заменить БМГ. Практические выводы подскажет общий вид карты:

  • регулярно повторяющиеся блоки с увеличенным временем доступа — результат позиционирования головок на очередной цилиндр — совершенно нормальное явление!

  • беспорядочно разбросанные блоки с разного рода дефектами — признак общей деградации привода. Пластины, подшипники или головки изношены. Возможно, винчестер был «побит» либо перегрет. Менять головки, скорее всего, бесполезно — лучше упорно вычитывать диск, охлаждая его, подбирая положение и т.д.;

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

  • строго и регулярно повторяющиеся одинаковые группы недоступных блоков — признак неисправной головки. При желании можно даже вычислить поврежденную головку, исходя из физической геометрии диска. Это как раз прямые показания к «пересадке» БМГ. Однако о состоянии пластины под дефектной голов кой заранее ничего не известно — выяснить это удастся только после операции.

Полезная функция — контроль акустического шума (Acoustic Management). Шум, разумеется, мастера не волнует. Однако уровень шума, издаваемого при перемещении головок, уменьшается путем снижения скорости их перемещения. Для изношенного винчестера это может оказаться мерой, способной немного облегчить режим его работы. Предположение граничит с «шаманством», но некоторый резон в нем все же есть!

  1. Введите команду ААМ и нажмите клавишу <Enter> — выводятся возможные значения параметра, поддерживаемые этим винчестером.

  2. Введите значение, соответствующее самой тихой (silent) работе, и нажмите клавишу <Enter> — это немного поможет винчестеру, особенно блоку головок, на время последующего снятия образа.

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

ВНИМАНИЕ!

Любые ритуалы с бубном вблизи работающего винчестера категорически не рекомендуются. Вибрация и сотрясения очень опасны для механики жесткого диска!

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

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

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

Программа MHDD способна копировать отдельные сектора или целый диск в файл или в набор файлов. Дефектные нечитаемые сектора программа пропускает. В отличие от утилит, выполняемых в среде Windows, MHDD при столкновении с дефектным блоком практически никогда не «завешивает» компьютер.

Команда TOF копирует указанный диапазон секторов (по умолчанию от нулевого до последнего сектора этого диска) в один файл. Однако MHDD сохраняет файлы только на разделы FAT/FAT-32, и размер файла образа не может превышать 2 Гбайт. Если необходимо создать образ диска объемом более 2 Гбайт, придется обратиться к команде ATOF, которая умеет автоматически делить образы на отдельные файлы.

  1. Введите команду TOF и нажмите клавишу <Enter>. Появится приглашение Fast Disk Image Creator.

  2. Введите номер начального сектора и нажмите клавишу <Enter>.

  3. Введите номер последнего сектора и нажмите клавишу <Enter>.

  4. Введите путь и имя файла образа, который надо создать. Имя произвольное, а файл нужно создавать на другом физическом диске. Разумеется, он должен быть отформатирован в FAT-32.

  5. Для начала копирования нажмите клавишу <Enter>.

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

Какой программой делать копию — вопрос открытый. Окончательного ответа на него нет. Программа MHDD и очень похожая на нее программа Victoria при чтении винчестеров с многочисленными физическими дефектами создают меньше проблем. Среди таких проблем можно назвать зависание самой программы либо всего компьютера при попытках чтения некоторых сбойных секторов — среде Windows.

С другой стороны, программа RStudio позволяет записывать на диски NTFS об разы почти неограниченного размера. Тем более, извлекать файлы из образов все равно предстоит с помощью этой программы. Вывод — попробуйте использовать разные программы и найдите наиболее приемлемый для себя способ.