На необъятных просторах "нашей советской родины" кроме большого числа компаний, стремящихся взять деньги за все, что только можно, хватает и добрых людей, пишущих и распространяющих полезные программы совершенно бесплатно. Одной из таких программ является MHDD. Мы уже упоминали ее в статье посвященной выведению бэд-блоков. Но на самом деле функции у этой программы намного больше, чем мы упомянули. Она является очень удобным инструментом для диагностики и ремонта винчестеров.
Эта статья написана для проявляющих интерес и делающих первые шаги в области накопителей на жестких магнитных дисках и посвящается программе MHDD и работе с ней.
На момент написания статьи последней версией программы была 2.9. Доступна для скачивания с сайта разработчика . Распространяемая версия не полная, если верить автору, полная существует только в одном экземпляре только у него самого и умеет выполнять ряд очень полезных функций. Но нас, как просто любопытных пользователей, это не интересует: то, что предлагается нам всем, уже является мощным инструментом.
Прежде всего требуется отметить, что программа является универсальной, она работает со всеми накопителем с интерфейсом ATA независимо от производителя и модели. Это объясняется тем, что любое взаимодействие ATA-винчестера с окружающим миром происходит через стандартный набор портов и с помощью конкретного набора команд, определенных в спецификации стандарта ATA (при разработке всех версий которого учитывались соображения совместимости, и таким образом становится совершенно неважно, какой версией интерфейса оснащен данный конкретный накопитель, и уж, тем более, производитель, ведь он при разработке диска непременно должен был руководствоваться стандартом ATA).
Работать программа способна из под чистого DOS, и прямо из Windows (95/98/ME). Правда, при работе из-под Windows существуют некоторые ограничения (о них сказано в документации: накопитель не нужно в таком случае определять в BIOS, а контроллер, на котором он установлен, в Windows лучше всего отключить).
И хотя такой вариант работоспособен, лично я все же предпочитаю работать под чистым DOS, так как даже если все будет работать стабильно в Windows, полученные скоростные показатели могут не соответствовать действительности. И потом, Windows это все-таки Windows… Может я и параноик, но в "варезных" делах стараюсь держаться от "Окон" подальше. И раз уж упомянули о контроллерах, то нужно сказать, что программа позволяет работать и с накопителями установленными на внешних ATA контроллерах, но не во всех версиях. Такая возможность анонсируется в версии 2.8, но в доступной на сайте версии 2.9 этой возможности нет. Утилита способна запускаться с любого не защищенного от записи носителя на котором есть немного места для записи временных файлов и протоколов работы (минимально нужно 70 кбайт, рекомендуется 20 Мбайт). Не используйте программу с того же диска, который диагностируете и лечите, если случилось так, что накопитель у вас один (бэды на своем родном и единственном восстанавливаете, например) - используйте программу с дискеты. Аппаратная часть - ваша тестовая машина, программу не занимают совершенно: это может быть что угодно, с контроллером ATA, вплоть до 286 (в документации так сказано, сам не пробовал, так как у меня в доступности лишь 386 есть, но по теории должно)
После запуска при наличии более чем одного накопителя в системе предлагается выбрать тот, с которым мы хотим работать.
На экран будет выведена подсказка об основных командах программы.
Инициализировав выбранный накопитель нажатием F2 получаем исчерпывающую о нем информацию: название модели; логические геометрию диска (логическое число цилиндров/головок/секторов на дорожке); серийный номер; версию микрокода; число адресуемых через LBA блоков; поддерживаемые функции ATA и максимальный поддерживаемый режим; состояние SMART (включена ли); состояние системы защиты (включен/выключен аппаратный пароль); полный размер винчестера; результат прохождения основных тестов. Часть этой информации отображается во второй сверху строке на экране и видна при работе.
Кроме того, о состоянии диска и его занятии в данный момент времени сигнализируют индикаторы в самой верхней строке. Они несут следующую информацию:
BUSY - накопитель занят и на команды не реагирует;
WRFT - ошибка записи;
DREQ - накопитель жаждет обменяться данными с внешним миром;
ERR - в результате какой-либо операции возникла ошибка. Когда загорается этот бит, обратите внимание на правую верхнюю часть экрана. Там будет отображен тип последней ошибки: (действительно только при зажженной лампочке "ERR"):
AMNF - Adress Mark Not Found - Обращение к какому-то конкретному сектору не удалось. Вероятной причиной является повреждение этого сектора, повреждение его полей идентификации (упоминание об этом есть здесь). Но сразу после включения накопителя, как раз наоборот, свидетельствует об отсутствии проблем и сообщает об успешном выполнении внутренней диагностики .
T0NF - Track 0 Not Found - не найден нулевой трек.
ABRT - Abort, команда отвергнута;
IDNF - Sector ID Not found;
UNCR - Uncorrectable Error - Ошибка не скорректированная кодом ECC. Вероятно, в данном месте имеет место быть логический бэд-блок (говорилось об этом здесь).
Кроме этих в верху могут гореть еще два индикатора - PWD - сигнализирующая об установленном аппаратном пароле, и HPА - если размер накопителя был изменен с помощью команды HPA (для скрытия бэд-блоков в конце диска используется обычно).
Изначально программа задумывалась как инструмент для быстрой диагностики, и потому на тестирование приходится большая часть функций программы. Первая и самая простая диагностика - по атрибутам системы SMART. В MHDD встроены необходимые средства. Начиная с версии 2.8.1 возможен просмотр SMART-атрибутов, запуск на выполнение SMART тестов. Для просмотра нужно ввести с консоли команду SMART ATT.
К сожалению, эта функция появилась в программе достаточно поздно. Многие уже привыкли пользоваться сторонними SMART утилитами и продолжают это делать (и в прошлой статье я рекомендовал вам делать тоже самое, но следовать за мной неотступно никто не обязывает). Тут уж кому что придется по вкусу. Для выполнения тестов нужно ввести команду SMART TEST и выбрать нужный.
__________________
AMIKO SHD 8900 1.20m-4W+5E+13E+19E - 0.9m & Strong 75E Ku + 85E Ku + 90E Ku 53E Ku.... - 0.9m
Конечно же, хотелось бы что бы вы представляли что именно вы делаете, а не просто запускали все подряд. Поэтому при желании воспользоваться каким-то из этих тестов, во избежание недоразумений, рекомендуется прочесть подробную информацию о SMART (справка по технологии есть встроенная и вызывается консольной командой SMART). Особенно любопытные могут посмотреть и журналы ошибок ведущиеся SMART (команда SMART ErLog).
В статье по выводу бэд-блоков мы уже упомянули о наличии возможности проверки поверхности жесткого диска. Причем полученная информация будет очень подробна отражать состояние поверхности. Вызов осуществляется консольной командой SCAN. Проверить можно как весь диск целиком, так и какой-то отдельный участок поверхности. После набора команды SCAN появляется следующего вида меню:
Верхняя строка - это режим работы с винчестером. По умолчанию теперь там стоит LBA, менять что-то вряд ли понадобиться, если у проверяемый драйв не раритетный. В строках Starting Cyl/LBA, Ending Cyl/LBA выставляются начальный и конечный блок для LBA трансляции и начальный/конечный цилиндр для CHS (для проверки конкретного участка). Значения по умолчанию соответствуют полной поверхности. Можно включить переназначение сбойных секторов при обнаружении оных (функция Remap). Timeout - время отводимое накопителю для выполнения операции. Результаты проверки можно занести в протокол. При тесте поверхности на экран будут выводится квадратики (один такой квадратик равен 255 секторам (при тестировании в режиме LBA либо числу секторов в строке параметров HDD (обычно 63 - при тестировании в режиме CHS)), цвет которых несет определенную смысловую нагрузку.
В окошке справа ведется их счет. Верхняя самая строка показывает скорость считывания данных в данный момент (не зависит от используемого режима DMA), в нижней - два значения в процентах: первое значение показывает процент выполнения текущего теста в заданном промежутке, а второе отображает, насколько далеко головки "ушли" от 0 цилиндра и "пришли" к последнему. Ниже часы показывают время начала проверки и прогнозируемое время выполнения. Разъяснения по цветам приводятся в документации: "Чем "мутнее" квадратик, тем больше накопителю потребовалось времени для чтения этого блока секторов. Если пошли цветные блоки - значит, накопитель не "вписался" в отведенный ему для работы промежуток времени. Цветными блоками отображается ненормальное состояние поверхности, но еще без "BAD'ов. Однако, зеленые блоки - нормальное явление, они отражают естественный износ поверхности, ничего страшного в них нет (старые накопители работают медленнее, и поэтому для них график вполне может окраситься в зеленый цвет целиком: это нормально). Также зеленые блоки могут появляться при вибрации самого накопителя. Чем ниже по меню цвет - тем больше накопителю понадобилось времени для чтения этого трудночитаемого участка. Красный цвет - признак того что на этом месте уже почти "сформировался" BAD block. Вопросительный знак появляется при превышении максимального времени ожидания готовности. То есть, при появлении [?] можно считать, что накопитель "подвис" на этом месте и здесь явно присутствует либо серьезный дефект поверхности, либо неисправен блок магнитных головок. Всё, что ниже вопросительного знака - это ошибки (BAD block). Если они появляются в процессе тестирования, значит, на поверхности есть физические дефекты или проблемы с CRC секторов, т.н. софт-бэды."
О том, как лечить софт-бэды переназначать физические я уже писал. Единственно что нужно добавить к тому, что при большом количестве бэдов полезно будет воспользоваться опцией ERASE WAITs (на приведенном выше рисунке она выключена): тогда при обнаружении сбойного сектора диск не будет долго над ним страдать, пытаясь его вычитать, а сразу же предпримет попытку записи.
С помощью MHDD можно проверить и надежность системы позиционирования: по команде CX будут проводится многократные попытки позиционирования в различные области, некоторые накопители такой режим выдержать не могут в силу в большинстве случае конструктивных особенностей и заводских дефектов (но не нужно бояться - из строя ничего не выйдет, так как программа отслеживает такую возможность и переводит диск в ждущее состояние, если что-то не так).
Есть еще ряд команд для диагностики, но это наверное первые которые следует знать. Более полно описывать в рамках данной статьи нет смысла - для этого документация к программе есть.
Из очень интересных функций реализуемых программой нужно отметить возможность управления шумом (узкозаточенные и неудобные утилиты производителей остаются далеко в стороне). По команде AAM становиться доступным изменение производимого уровня шума (нужно ли напоминать, что в ущерб производительности?), при этом результат можно оценить сразу же. Очень удобно.
И последней из обещающих стать популярными функций программы можно отметить установки аппаратного пароля на накопитель (в спецификации ATA-3 предусматривается возможность установки двух паролей - пользовательского и мастер-пароля (устанавливается сразу же на заводе, но не активирован)). При активизации этой функции накопитель будет корректно определяться BIOS, но никакие операции с ним не будут возможны, пока пароль не будет снят Очень мощная защита 100% защищающая от неподготовленного и даже от более или менее подготовленного пользователя. Снять такой пароль можно лишь в крутых сервисных центрах (при углублении в вопрос обнаруживаются маленькие лазейки, но мы сейчас не станем о них распространяться). И теперь этой функцией можно воспользоваться с помощью программы MHDD. Для установки пароля есть команда PWD, для подготовки к снятию UNLOCK и DISPWD для непосредственно снятия. Все изменения вызванные этими программами вступают в силу при перезапуске микропрограммы накопителя (т.е. необходимо выключение/включение). И ни в коем случае не теряйте пароль! Это почти равносильно потере диска!
Есть средства разбивки и форматирования дисков и много другой всякой-всячины. Возможно случиться так, что ваша жизнь будет непрерывно связана с общением с жесткими дисками, и вам захочется автоматизировать выполнение како-то то набора команд. Для этого программа имеет командный процессор. Работа с ним подробнейшим образом расписана в документации, там же описано и большое множество команд, не упомянутых мной сегодня и предназначенных для применения более подготовленными людьми. Прочтение данной статьи ни в коем случае не освобождает от прочтения документации, тем более, что она на русском. RTFM, господа! :-)