Докуметация к тесту жесткого диска MHDD

В данной статье, Азбука ПК публикует официальную документацию к утилите для тестирования жестких дисков MHDD. Все права данной документации MHDD принадлежат автору программы Дмитрию Постриганю. Благодаря данной документации MHDD вы самостоятельно сможете протестировать жесткий диск, выполнить низкоуровневое форматирование, стирание групп секторов жесткого диска, управлять SMART областью жесткого диска и многое другое.

Что находится внутри MHDD

  • mhdd.exe - исполняемая программа

  • mhdd.hlp - этот файл используется системой справки по SMART командам

  • cfg/mhdd.cfg - в этом файле MHDD хранит конфигурацию

Во время первого запуска программа создаст файл log/mhdd.log. Это основной лог-файл. Все ваши действия и результаты тестов будут записаны в этот файл.

Как работает MHDD

Давайте представим, как работает операционная система MSDOS, когда ей нужно прочитать какой-либо сектор с накопителя. MSDOS просто «попросит» BIOS сделать это. Затем, BIOS ищет в своих таблицах адреса портов нужного накопителя, выполняет необходимые проверки, и затем начинает обмен данными с накопителем. После того, как всё закончено, BIOS возвращает результат операционной системе.

Давайте посмотрим на диаграмму. Здесь показано, как обычная DOS-программа работает с накопителем:

Программа <---> MSDOS <---> BIOS <---> Контроллер IDE/SATA <---> Накопитель

А теперь давайте обратим внимание на то, как работает MHDD:

MHDD <---> Контроллер IDE/SATA <---> Накопитель

Главное отличие: MHDD не использует функции BIOS и прерывания. Таким образом, у вас даже нет надобности определять накопитель в BIOS Setup. Вы можете даже включать накопитель уже после того, как загрузится MSDOS и MHDD, так как MHDD работает напрямую с регистрами накопителя и не обращает внимания на такие «мелочи» как, например, разделы, файловые системы и ограничения BIOS.

Внимание: Никогда не запускайте MHDD с накопителя, который находится на том же физическом IDE канале (кабеле), к которому (к кабелю, к каналу) подключается тестируемый накопитель. Вы будете иметь значительные повреждения данных на обоих накопителях! В связи с этим, по умолчанию, MHDD не работает с каналом PRIMARY, так как у большинства пользователей именно там находится MHDD. Для того, чтобы разблокировать канал Primary, запустите MHDD, затем выйдите, затем отредактируйте файл MHDD.CFG. Или же используйте ключ командной строки /ENABLEPRIMARY.

Для доступа к SCSI-устройствам MHDD использует DOS ASPI драйвер. Если вы не планируете работать с накопителями SCSI - значит, вам не нужны никакие драйверы.

Первый запуск MHDD. Важная информация

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

Очень важно понимать, что вам придётся потратить несколько часов, а возможно и дней, прежде чем вы получите осмысленные результаты от MHDD. Я настоятельно рекомендую попробовать протестировать несколько накопителей без дефектов перед тем, как вы начнёте работать с неисправными.

При первом запуске программа создаст новый файл ./cfg/mhdd.cfg. Канал IDE Primary отключен по умолчанию.

Вы увидите меню выбора накопителей. Выберите любое устройство, которое захотите. Вы можете вызвать это меню в любое время нажатием SHIFT+F3.

Теперь вы можете нажать F1 и использовать любые команды MHDD. Пожалуйста, будьте предельно внимательны, когда работаете с MHDD первые несколько раз.

Я бы посоветовал начать знакомство с команд EID, SCAN, STOP, CX и TOF. Некоторым из них назначены комбинации клавиш, например F4 для команды SCAN.

Взгляните на регистры. Любое IDE или Serial ATA устройство должно сообщать DRIVE READY и DRIVE SEEK COMPLETE, таким образом, вы должны видеть флаги DRDY и DRSC. Флаг BUSY сигнализирует о том, что накопитель выполняет какую-либо операцию (например, чтение или запись). Некоторые флаги, такие как WRITE FAULT и TRACK 0 NOT FOUND являются устаревшими, вы никогда их не должны видеть. Флаг INDEX также является устаревшим, однако, иногда он может мигать. Флаг DATA REQUEST (DREQ) означает, что диск запрашивает передачу данных.

Если вы заметили флаг ERROR (ERR), посмотрите на регистр ошибок. Вы сможете определить тип возникшей ошибки. Смотрите ATA/ATAPI standard для получения дальнейшей информации о командах и регистрах.

Использование команд MHDD

Сканирование поверхности в MHDD

Сканирование любого устройства возможно только если оно может быть определено командами ID или EID (или по нажатию F2). Для того, чтобы выполнить сканирование, наберите SCAN и нажмите ENTER, или используйте F4. Вы увидите меню, где сможете изменить некоторые настройки. По умолчанию, начальный сектор равен нулю (стартовый сектор). Конечный сектор равен максимально возможному (конец диска). Все деструктивные по отношению к пользовательским данным функции (Remap, Erase Delays) по умолчанию выключены.

Нажмите F4 снова для запуска сканирования. MHDD сканирует накопители блоками. Для накопителей IDE/SATA один блок равен 255 секторам (130560 байт).

Как работает сканирование

  • MHDD посылает команду VERIFY SECTORS с номером LBA (номер сектора) и номером секторов в качестве параметров

  • Накопитель поднимает флаг BUSY

  • HDD запускает таймер

  • После того, как накопитель выполнил команду, он опускает флаг BUSY

  • MHDD вычисляет затраченное накопителем время и выводит соответствующий блок на экран. Если встретилась ошибка (bad block), программа выводит соответствующую букву, которая описывает ошибку.

  • MHDD повторяет шаги 1-5 до конечного сектора. Если вам нужен протокол сканирования - вы всегда можете найти его в файле log/mhdd.log.

Если сканирование выявило ошибки, первое, что необходимо сделать - это скопировать все данные с накопителя. Затем необходимо выполнить полное стирание поверхности при помощи команды ERASE, которая стирает каждый сектор на вашем накопителе. Накопитель пересчитает поля ECC для каждого сектора. Это помогает избавиться от так называемых «soft-bad» блоков. Если стирание не помогло, запускайте сканирование с включенной опцией REMAP.

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

Просмотр атрибутов SMART в MHDD

Вы можете набрать SMART ATT или нажать F8 для просмотра атрибутов. Что они означают?

Пожалуй, самый главный атрибут для современного накопителя - это «Reallocated Sectors Count» (значение Raw). Это значение сообщает, сколько на диске переназначенных секторов. Нормальный накопитель имеет raw-значение, равное нулю. Если вы видите значение более 50 - у накопителя проблемы. Это может означать брак блока питания, вибрация, перегрев, или же просто бракованный накопитель.

Взгляните на атрибут 194 - температура. Хорошие значения лежат в промежутке между 20 и 40 градусами. Некоторые накопители не сообщают температуру.

Атрибут UDMA CRC error rate означает количество ошибок, которые возникают при передаче данных по IDE/SATA кабелю. Нормальное raw-значение этого атрибута равняется нулю. Если вы видите другое значение, вам нужно срочно заменить кабель. Также, разгон очень влияет на количество ошибок такого типа.

Другие атрибуты, обычно, не так важны. Смотрите ATA/ATAPI standard для получения дополнительной информации о атрибутах и тестах SMART.

Команды идентификации накопителя в MHDD

Попробуйте команды ID и EID для того чтобы просмотреть информацию о вашем накопителе.

Смотрите ATA/ATAPI standard для получения дополнительной информации.

Стирание групп секторов или целого диска в MHDD

Вы можете использовать команду ERASE. Если ваш накопитель был опознан в BIOS Setup (или же при тесте POST), MHDD попытается использовать функции BIOS для стирания накопителя в режиме UDMA. Если вы не хотите, чтобы MHDD пыталась использовать BIOS, используйте параметр /DISABLEBIOS.

Уменьшение объёма накопителя в MHDD

Используйте команду HPA для ограничения объёма накопителя. Программа спросит новое количество доступных секторов. Для того, чтобы снять установленные ограничения, используйте команду NHPA. Производите цикл «выключение-включение» накопителя перед использованием команды NHPA. В соответствии с ATA/ATAPI standard, вы можете изменять объём накопителя только один раз за один цикл работы накопителя.

Управление парольной защитой в MHDD

Используйте команду PWD для блокировки накопителя при помощи пользовательского (USER) пароля. В соответствии с ATA/ATAPI standard, вам необходимо произвести выключение и включение накопителя для того, чтобы изменения вступили в силу.

В MHDD есть две команды для разблокировки накопителей: UNLOCK и DISPWD. UNLOCK производит разблокировку накопителя до первого выключения. Для того, чтобы отключить парольную систему, вам необходимо использовать сначала команду UNLOCK, а замем команду DISPWD (пароль должен быть известен).

Мастер-пароль устанавливается производителем и может быть использован для разблокировки.

Чтение секторов в файл в MHDD

Вы можете считать всего несколько секторов или целый диск в файл или в набор файлов. Попробуйте команду TOF. Программа пропускает дефектные сектора. Если вы планируете создавать образ размером более 1 гигабайт, лучше использовать команду ATOF, так как она умеет автоматически «нарезать» образы.

Запись секторов из файла на диск в MHDD

Используйте команду FF для записи секторов на диск. Вас попросят ввести номер первого сектора для записи и количество записываемых подряд секторов.

Управление шумовыми характеристиками накопителя в MHDD

Почти все современные накопители поддерживают Acoustic Management. Вы можете уменьшить уровень шума, издаваемого при перемещении головок, путём уменьшения скорости их перемещения. Используйте команду AAM для настройки.

Конфигурация накопителя в MHDD

При помощи команды CONFIG вы можете просматривать и изменять конфигурацию накопителя, например, максимальный режим UDMA, поддержка систем Security, SMART, AAM, HPA, поддержка режима LBA48. Также возможно изменение размера диска. Некоторые производители уменьшают размер диска при помощи изменения конфигурации, у вас есть возможность восстановить оригинальный объём.

Пакетный запуск команд в MHDD

Вы можете написать очень простой пакетный файл (смотрите пример в каталоге BATCH), где вы опишете всё, что вы хотите выполнить. Нажмите F5, когда захотите запустить такой файл на исполнение.

Другие команды в MHDD

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

Параметры командной строки для MHDD

  • /NOPINGPONG Отключить некоторые звуки

  • /DISABLEBIOS Отключить стирание (ERASE) через BIOS

  • /DISABLESCSI Отключить модуль SCSI

  • /ENABLEPRIMARY Подключить канал Primary IDE/SATA

  • /RO Этот ключ служит для запуска MHDD на защищённых от записи носителях. Он отключает попытки создать временные файлы, а так же отключает протоколирование.

Все опции закрыты.