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

Функции, которые выполняет программа MHDD:

  • Диагностика жесткого диска.
  • Управление системой SMART жесткого диска.
  • Возможность парольной защиты.
  • Изменение звуковых характеристик винчестера.
  • Изменение размера накопителя.
  • Восстановление и низкое форматирование поверхности жесткого диска

Как запустить программу MHDD

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

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

После того как открыли наш образ, открываем пункт меню «Самозагрузка» и выбираем пункт меню «Записать образ диска…».

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

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

Теперь мы увидим все доступные и подключенные к компьютеру жесткие диски. Для выбора нужного диска необходимо ввести его номер порта, в моём случае это порт №1.

После этого программа готова к работе с выбранным жестким диском. Для повторного выбора жесткого диска нажмите сочетание клавиш «Shift» + «F3», так вы в любой момент можете выбрать другой накопитель для работы с ним не перезагружая программу MHDD.

Список команд для программы MHDD можно увидеть по нажатию кнопки «F1». Нажимайте клавишу «вниз» для того, чтобы пролистать команды.

Просмотр SMART информации

Просмотреть SMART состояние вашего жесткого диска возможно по команде «smart att» и нажав после ввода клавишу «F8». Теперь мы видим информацию SMART жесткого диска.

Главные атрибуты, на которые стоит обратить внимание:

Reallocated Sectors Count — это значение обозначает количество секторов, которые были переназначены жестким диском, если значение в столбце «RAW» больше чем 50 (100), тогда необходимо заменить жесткий диск, или срочно перенести всю важную информацию на другой жесткий диск, который находится в хорошем состоянии.

HAD Temperature – этот параметр показывает температуру жесткого диска, нормальная температура для работы жесткого диска варьируется от (Val) 20°С до (Worts) 40°С, (RAW) среднее значение 30°С, если значение будут выше, вам необходимо задуматься об охлаждении.

Ultra ATA CRC error rate — означает количество ошибок, которые возникают при передаче данных по IDE/SATA кабелю. Значение этого атрибута должно равняться нулю, если значение больше, тогда необходимо заменить кабель, или же убрать разгон жесткого диска, если таков имеется.

Просмотрев SMART жесткого диска мы сможем понять в каком состоянии он находится и предпринять действия.

Сканирование жесткого диска и проверка на ошибки

Для того, чтобы сканировать поверхность жесткого диска необходимо воспользоваться командой «scan», при вводе этой команды нажимаем Enter, откроется окно с параметрами сканирования. После выбора нужных параметров нажмите «F4» что бы начать сканирование.

Основные параметры сканирования жесткого диска:

Start LBA и End LBA параметр в котором задается сектор с которого необходимо начать сканирование и сектор на котором сканирование необходимо закончить.

Remap – этот параметр позволит автоматически переназначить битый(ошибочный) сектор который будет обнаружен в ходе сканирования.

Erase Delays – если включить данный параметр при сканировании жесткого диска, тогда при обнаружении битого(ошибочного) блока программа будет затирать такой сектор. Накопитель пересчитает поля ECC для каждого сектора. Это помогает избавиться от так называемых «soft-bad» блоков, который вызван ошибками системы, а не физическим повреждением жесткого диска.

Если вы первый раз запускаете сканирование жесткого диска, необходимо провести его без активации параметров Remap и Erase Delays, так как данные параметры могут привести к потере данных.

В том случае если первое сканирование обнаружило битые сектора, необходимо перенести всю информацию с жесткого диска и провести сканирование с активированным параметром Erase Delays, для этого при выборе параметров сканирование перевести этот параметр в состояние «ON» и начать сканирование.

После сканирования с параметром Erase Delays запускаем еще одно сканирование без включения каких-либо параметров, чтобы определить остались ли битые сектора. Если повторное сканирование определило оставшиеся битые сектора, мы можем быть уверены в том, что это физическое повреждение жесткого диска, в этом случае стоит прибегнуть к более радикальному решению, а именно запустить повторное сканирование с включенным параметром Remap.

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

Низкоуровневое форматирование

К низкоуровневому форматированию стоит прибегнуть в случае если вам необходимо полностью удалить информацию с жесткого диска, что бы её невозможно было восстановить, так как при удалении информации в ОС Windows можно провести восстановление удаленных файлов.

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

Для того, чтобы начать форматирование вводим команду «erase» и нажимаем Enter, нам предложат ввести номер блока, с которого необходимо начать форматирование, и номер блока на котором нужно закончить. Если вы собираетесь отформатировать всю поверхность диска, тогда ничего не вводите, так как по стандарту предлагается первый и последний сектор, а просто соглашаемся, нажав Enter. Для начала форматирования вводим значение «y» и ожидаем окончания.

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

Команда «hpa» используется для уменьшения объема накопителя, при вводе команды программа MHDD спросит новое количество доступных секторов, вводим новое количество и нажимаем Enter. Так же для того, чтобы снять ограничения по уменьшению объёма жесткого диска используйте команду «nhpa».

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

Для того, чтобы установить парольную защиту на жесткий диск, необходимо воспользоваться командой «pwd» (не все жесткие диски поддерживают данную функцию). Парольная защита подходит для тех, кому необходимо сохранить информацию даже в случае утери жесткого диска, так как взломать данную защиту не выйдет, чтобы снять пароль с жесткого диска необходимо полностью стереть данные. Так же при установке такой защиты не выйдет запустить систему без предварительного ввода пароля на жесткий диск.

Учтите, что восстановить пароль не выйдет и в случае утери пароля информацию восстановить не выйдет.

Управление шумовыми характеристиками жесткого диска

Сейчас почти все современные накопители поддерживают функцию Acoustic Management. Вы можете значительно уменьшить шум жесткого диска при перемещении головки, путём уменьшения скорости перемещения, но при этом уменьшиться скорость записи и чтения жесткого диска. Для того чтобы настроить данную функцию воспользуйтесь командой «aam» и нажмите Enter. После чего нужно ввести значение от 0 до 126, где 126 максимально тихий уровень работы, для отмены такого параметра необходимо ввести значение «D».

Заключение

Программа 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 на защищённых от записи носителях. Он отключает попытки создать временные файлы, а так же отключает протоколирование.

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

Все когда-нибудь ломается, и жесткий диск не исключение. Если Ваш жесткий диск неисправен, то стоит проверить его программой MHDD. Ранее мы разбирали, какие факторы могут сказываться на быстродействии компьютера и какие ошибки жесткого диска существуют.

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

Проверяем жесткий диск с MHDD

Внимание – все манипуляции Вы проводите на свой страх и риск, так как с помощью этой утилиты можно нанести вред накопителю и всей информации на ней.

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

Распакуйте файл, и запишите образ диска любым удобным для Вас способом. Я использовал одну из самых популярных программ UltraISO .

Перезагрузите компьютер, войдите в BIOS и выберите загрузку с флешки или любого другого накопителя, на котором у Вас записана программа MHDD.

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

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

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

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

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

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

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

Перед подачей этой команды следует подать команду UNLOCK

RPM Изменить частоту вращения шпинделя (работа этой процедуры не гарантирована)

FF Записать секторы диска. Данные для записи берутся из указанного файла

AAM Настроить шумовые характеристики накопителя

MAKEBAD Генерация BAD-блоков. Работает не на всех накопителях

RANDOMBAD Генерация бед-блоков, разбрасывая их случайным образом по поверхности

INIT Сброс и рекалибровка

FDISK Сделать один раздел на весь диск. Изменяется только MBR

SMART / Управление системой SMART, а также просмотр атрибутов

STOP / Остановить шпиндель

I / Послать команды ID, затем INIT

ERASEВыборочное стирание секторов или полное стирание поверхности (низкоуровневое форматирование)

Для стирания напрямую, минуя BIOS, можно отключить диск в настройках BIOS, либо стирать с параметром /DISABLEBIOS .На скорость стирания данный параметр не влияет.

FASTERASE Стирание поверхности на максимальной скорости (используется парольная система)

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

Disk boot failure, insert system disk and press enter. Надпись, от которой по спине начинается шествие легионов мурашек, каждая сама размером с жесткий диск. По закону подлости происходит это, когда ничто не предвещает беды. Но не спеши судорожно перезапускать систему - это игра в русскую рулетку. Лучше загрузиться с другого носителя и взяться за тщательную проверку. Поможет в этом испытанный инструмент - MHDD.

Введение

Если SMART показывает проблемы, чаще всего это означает одно: диск вот-вот начнет сыпаться, и повлиять может даже лишняя загрузка ОС. Следующее, что нужно понять, - это софтверные на нем «бэды» или хардварные. Если хардварных не так много, то диск еще можно попытаться вернуть к жизни.

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

MHDD - это небольшая, но мощная бесплатная программа, которая предназначена для работы с накопителями на самом низком уровне (насколько это возможно). Первая версия была выпущена Дмитрием Постриганем в 2000 году. Она могла сканировать поверхность накопителя с интерфейсом IDE в режиме CHS. Сейчас MHDD - это значительно больше, чем диагностика. С MHDD ты можешь делать все что угодно: диагностировать накопители, выполнять чтение и запись произвольных секторов, управлять системой SMART, парольной системой, системой управления шумовыми характеристиками, а также изменять размер накопителя.

Несмотря на то что работа с MHDD возможна и через установленную Windows, я крайне рекомендую записать образ на флешку или внешний (или второй загрузочный) диск и загрузить оттуда голый DOS. Поверь, в хардварном вопросе лучше максимально исключить все звенья цепи, которые могут привести к глюкам или зависанию компьютера во время работы.

Ох уж эти интерфейсы

Не каждый интерфейс может корректно распознаваться программой.

Интерфейс SATA. Есть вероятность, что диск не определится в MHDD. Причина может заключаться в режиме работы SATA-контроллера (IDE и AHCI) в BIOS. MHDD, увы, не поддерживает режим AHCI. Необходимо менять настройки BIOS. Хуже всего то, что нынче не все матплаты поддерживают этот режим. Выходом может стать только использование машины с подходящей материнкой или отказ от MHDD.

Интерфейс IDE. Для данного интерфейса характерно распределение устройств на шлейфе - master/slave. По умолчанию MHDD скрывает все устройства в режиме slave. Исправить это можно двумя способами. Первый - изменить расположение жесткого диска (переключить перемычку на master) и проверить соответствие настройки в BIOS. Второй способ - попробовать в MHDD сменить номер диска на 2 или 4. Ну и не забывай про конфигурационный файл mhdd.cfg , который лежит в папке CFG. В данном случае важен параметр PRIMARY_ENABLED=TRUE .

Интерфейс SCSI. Может не определиться драйвер SCSI-контроллера.

Интерфейс USB. Подключить диск через USB теоретически возможно с помощью дополнительного драйвера и настройки программы. Драйвер эмулирует режим работы через SCSI. Также необходимо отключить все лишние USB-накопители. Целевой диск должен быть подключен до загрузки MHDD. В config.sys потребуется прописать: device=X:\USBASPI.SYS /w /v , где X:\ - путь к диску.

Итак, я беру с полки один из сломанных дисков (я обычно клею на них этикетку broken) и сейчас попробую воскресить его, чтобы показать тебе, как это работает на практике. У меня на руках оказался винт WDC WD7500BPVX-60JC3T0 с винегретом вместо системы и всех файлов на нем.

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

Готовимся

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

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

Не убий

Угробить диск значительно проще, чем восстановить его. К примеру, каждому известно (или должно быть известно), что к печальным последствиям ведет отсоединение шлейфа во время работы. Также крайне не рекомендуем бездумно переключать флаги и выполнять команды в MHDD. Внимательно читай документацию и не начинай что-то делать, если до конца не понимаешь, к чему это может привести.

Что ж, можно приступать к делу! Для начала создаем загрузочную флешку. Для этого я рекомендую - полная инструкция и сам DOS есть . Когда носитель готов, остается только бросить в его корень MHDD, чтобы лишний раз не лазить по директориям из командной строки.

Чтобы диск, подключенный на первый канал, точно отображался, нужно подредактировать конфиг mhdd.cfg, который лежит в папке CFG.

PRIMARY_ENABLED=TRUE

Как я уже говорил, сканирование любого устройства возможно, только если оно определяется командами ID или EID (или нажатием F2).


Сканируем

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


Давай пройдемся по параметрам сканирования.

  • Start LBA - начальный сектор для сканирования, по дефолту 0, то есть начало диска.
  • End LBA - сектор завершения сканирования, по дефолту конец диска. Иногда удобнее сканировать не всю поверхность (особенно когда объем диска переваливает за несколько терабайт), а только рабочую область, где лежит ОС. К примеру, диск С равен 50 Гбайт, тогда конечная область будет равна 2 * 50 * 1024 * 1024 = 104 857 600-й сектор. Можно посчитать проще: (объем * 2) * 1 000 000 , итого 100 000 000.
  • Remap помечает сектор как сбойный в специальной служебной области, после чего диск к нему не обращается.
  • Timeout - время задержки на чтение сектора, после которого проверка переходит к следующему сектору.
  • Spindown after scan - остановить жесткий диск после сканирования.
  • Loop test/repair - проводить сканирование или проверку циклично.
  • Erase Delays - стирать сектора, в которых обнаружены задержки чтения.

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


Вот как работает сканирование:

  1. MHDD посылает команду VERIFY SECTORS с номером LBA (номер сектора) и номером секторов в качестве параметров.
  2. Накопитель поднимает флаг BUSY.
  3. MHDD запускает таймер.
  4. После того как накопитель выполнил команду, он опускает флаг BUSY.
  5. MHDD вычисляет затраченное накопителем время и выводит соответствующий блок на экран. Если встретилась ошибка (bad block), программа выводит букву, которая описывает ошибку.

MHDD повторяет шаги 1–5 до конечного сектора. Если нужен протокол сканирования, его всегда можно найти в файле log/mhdd.log. Во время сканирования ты можешь увидеть много прямоугольников разного цвета. Чтобы ты не сильно пугался, привожу выдержку из справки:

Наличие красных (>500 ms) блоков на полностью здоровом накопителе недопустимо. Если они есть, необходимо произвести стирание (erase) всей поверхности диска и, если это не помогло, избавиться от задержек, можно делать выводы, что данный накопитель перестал быть достаточно надежным. Буквенно-символьные блоки, например x , S и т.п., недопустимы: они говорят о наличии bad-блоков на поверхности.

Первое, что должно быть сделано, - это полная очистка поверхности командой erase. Если это не помогло, то scan с включенной опцией EraseWaits. Если bad-блоки так и не исчезли, следует запустить scan с включенной опцией Remap.

Восстанавливаем

Если сканирование выявило ошибки, первое, что необходимо сделать, - скопировать все данные с накопителя (если они, конечно, тебе нужны). В моем случае это было неактуально. Затем нужно полностью очистить поверхность при помощи команды ERASE , которая стирает каждый сектор на накопителе.


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


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

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

О чем сигнализируют индикаторы

  • BUSY - накопитель занят и на команды не реагирует;
  • WRFT - ошибка записи;
  • DREQ - накопитель жаждет обменяться данными с внешним миром;
  • ERR - возникла ошибка в результате какой-либо операции.

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

  • AMNF - Address Mark Not Found - обращение к какому-то конкретному сектору не удалось. Скорее всего, означает, что сектор поврежден. Однако сразу после включения накопителя как раз наоборот - свидетельствует об отсутствии проблем и сообщает об успешном выполнении внутренней диагностики;
  • T0NF - Track 0 Not Found - не найден нулевой трек;
  • ABRT - Abort, команда отвергнута;
  • IDNF - Sector ID Not found;
  • UNCR - Uncorrectable Error, ошибка, не скорректированная кодом ECC. Скорее всего, в этом месте логический бэд-блок.

Вверху могут появляться еще два индикатора: PWD сигнализирует об установленном аппаратном пароле, HPА появляется в том случае, если размер накопителя был изменен с помощью команды HPA (обычно используется для скрытия бэд-блоков в конце диска).