Проверяем и ремонтируем жесткий диск с MHDD. Как правильно пользоваться программой MHDD? Mhdd сектора timeout что делать

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

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

В процессе своей работы непременно изнашиваются. Износ может проявляться медленной работой компьютера и зависаниями. А все из-за того, что на поверхности жесткого диска появляются не читаемые сектора, или как их еще называют BAD блоки.

Для проверки жёсткого диска на битые сектора bad блоки существует очень хорошая и бесплатная программа MHDD. С ее помощью можно не только найти сбойные сектора, но и попытаться исправит их (переназначить).

Как пользоваться программой MHDD?

Для начала нам нужно записать загрузочный образ MHDD на флешку, так как программа работает из под DOS.

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

После того, как флешка запишется, нужно , предварительно режим работы жесткого диска с ACHI в IDE. Если этого не сделать, то MHDD не увидит ваш жесткий диск.

Если вы все сделали правильно и загрузились с флешки, то вы увидите вот такое вот окно:

Начальное окно загрузки MHDD

В нем нужно нажать «Enter», после чего появится главное окно программы MHDD:

Выбор жесткого диска вводом соответствующей цифры

Набираем цифру и жмем «Enter».

Для отображения окна с настройками проверки жесткого диска нажимаем F4 на клавиатуре.

Настройки проверки

Здесь стрелками спускаемся на строку «Remap», жмем «Enter» и выбираем «On». Этим мы включили переназначение битых секторов. Чтобы MHDD не просто находила их, но и помечала как неиспользуемые.

Теперь еще раз жмем F4 после чего запуститься сама проверка жесткого диска на битые сектора.

По времени проверка длится от 20 минут, до 4 часов в зависимости от объема и скорости жесткого диска. Диск на 1TB проверяется около 2-3 часов.

В окне справа отображаются результаты проверки. Сектора у которых время отклика 500MS и больше (коричневые и красные) считаются пред бэдами, и чем их больше тем хуже. UNC (красные крестики) это и есть бэды — не читаемые сектора.

Результаты проверки — BAD сектора

Так как в начале проверки была включена опция Remap — переназначение BAD боков из резервной области, то не исключено что после полной проверки жесткого диска программой MHDD бэды уберутся и жесткий диск еще какое — то время поработает.

Если же по окончанию проверки справа вверху не будет ни оного сектора ниже 150MS (зеленый), то это значит, что поверхность вашего жесткого диска в полном порядке и на нем нет BAD секторов.

Теперь вы знаете как легко и просто пользоваться MHDD и как с ее помощью проверить жесткий диск на битые сектора bad блоки.


Лучший способ отблагодарить автора статьи- сделать репост к себе на страничку

Программа MHDD

MHDD – небольшая, но мощная бесплатная программа, предназначенная для работы с винчестерами на самом низком уровне (в обход BIOS). Она может диагностировать накопители, выполнять чтение и запись произвольных секторов, управлять системой SMART и многое другое.

Дистрибутив программы можно найти на сайте разработчика http://www.ihdd.ru . Можно скачать MHDD в виде образа компакт-диска (файл mhdd32verx.x.iso) или самораспаковывающегося образа дискеты. На том же сайте находится новая версия документации к программе. По умолчанию программа работает с винчестером, подключенным к вторичному (Secondary) каналу IDE в качестве первого устройства (Master). Она способна работать и с дисками SATA или SCSI. Функций у программы MHDD много. Вот лишь несколько действий.

Получение сведений о диске.

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

Сохранение образа диска в файл.

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

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

Рис. 2.6. Выбор диска

2. Указав диск (например, 3), нажмите клавишу Enter. Программа готова работать с этим винчестером. В верхней части экрана расположены регистры, или флаги. Любое IDE или SATA устройство должно выдать сообщение «DRIVE READY» и «DRIVE SEEK COMPLETE», то есть должны быть подсвечены флаги DRDY и DRSC. Флаг BUSY сигнализирует, что накопитель выполняет какую-либо операцию, например чтение или запись.

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

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

3. Для получения информации о диске введите команду ID. Другая команда, EID, выводит более подробные сведения (рис. 2.7).

Рис. 2.7. Информация о диске

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

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

Рис. 2.8. Сканирование поверхности

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

UNC – Uncorrectable Error, неисправимая ошибка;

ABRT – Abort, команда отвергнута;

IDNF – Sector ID Not found, идентификатор сектора не найден;

AMNF – Adress Mark Not Found, адресная метка не найдена;

T0NF – Track 0 Not Found, невозможно найти нулевую дорожку;

BBK – Bad BlocK, «плохой» блок без указания причины.

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

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

Беспорядочно разбросанные блоки с разного рода дефектами – признак общей деградации привода. Пластины, подшипники или головки изношены. Возможно, винчестер был «побит» либо перегрет.

«Пятно», в середине которого находятся абсолютно нечитаемые блоки, окруженные блоками с увеличенным временем доступа, – признак увеличивающегося дефекта на пластине. Надо срочно извлекать образ.

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

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

1. Введите команду AAM и нажмите клавишу Enter. Здесь можно увидеть возможные значения параметра, поддерживаемые этим винчестером.

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

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

Команда TOF копирует указанный диапазон секторов (по умолчанию от нулевого до последнего сектора этого диска) в один файл. Размер файла образа не может превышать 2 Гбайт. Если пользователь решил создать образ диска размером более 2 Гбайт, то лучше использовать команду ATOF, так как она умеет автоматически делить образы на отдельные файлы.

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

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

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

Рис. 2.9. Создание образа командой TOF

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

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

По завершении копирования можно отключить проблемный диск и заниматься уже не им, а файлом – его посекторной копией. Это защитит диск от дальнейших повреждений: если винчестер начал давать сбои, каждая лишняя минута работы способна добавить новые bad-блоки на пластины или окончательно испортить поврежденную головку. Свое общение с проблемным диском пользователю нужно начинать именно с копирования, а диагностику отложить.

Какой программой делать копию – вопрос открытый. Окончательного ответа на него нет. Программа MHDD и очень похожая на нее программа Victoria создают меньше проблем при чтении винчестеров с многочисленными физическими дефектами. Такими проблемами могут быть зависание самой программы либо всего компьютера при попытках чтения некоторых сбойных секторов. С другой стороны, программа R-Studio несколько удобнее, тем более что извлекать данные из образа все равно нужно с помощью этой программы. Вывод: можно пробовать использование нескольких программ.

Из книги Fedora 8 Руководство пользователя автора

4.4.2. Программа xsane Каких-либо действий по настройке сканера в Fedora 8 выполнять не нужно. Просто подключите сканер к компьютеру и запустите утилиту xsane (команда меню Приложения?Графика). Программа xsane сама определит сканер и после этого вы сможете начать сканирование, щелкнув

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

4.7.1. Программа tar У читателя, привыкшего к архиваторам типа arj, которые собирают файлы в единый архив и сразу "сжимают" их, может возникнуть вопрос "А зачем использовать две программы?” Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет

Из книги Windows Vista автора Вавилов Сергей

10.2. Программа rpm Название этой программы (или команды) является аббревиатурой от Redhat Package Manager. Такая расшифровка дается в большинстве книг и руководств по Linux и кажется мне более правильной и логичной, хотя в главе 6 "The Official Red Hat Linux Reference Guide" говорится: "The RPM Package Manager (RPM), is an open

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

12.2.3 Программа gv Программа gv (или ghostview) разработана Иоганнесом Плассом (Johannes Plass) и предназначена для просмотра файлов формата PostScript и PDF (рис. 12.2).После ее запуска без указания имени файла основное окно программы будет пустым. Чтобы открыть какой-то файл, надо щелкнуть по

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

13.3.2 Программа ftp Программа ftp - это пользовательский интерфейс к стандартному протоколу передачи файлов по Интернету - File Transfer Protocol. Программа позволяет передавать файлы на удаленный компьютер и получать файлы с удаленного компьютера. Однако, введя команду ftp, вы

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Программа Программа – это последовательность машинных инструкций (системы команд, понятных процессору), предназначенная для выполнения определенной задачи. Как правило, программа оформлена в виде одного или нескольких исполняемых файлов, которые после установки

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

2.6.2. Программа RPM Установка программного обеспечения в дистрибутивах Red Hat и Mandrake производится с помощью программы rpm. RPM (red hat package manager) - это менеджер пакетов Red Hat. Несмотря на то, что в названии присутствует «Red Hat», он полностью предназначен работать как открытая пакетная

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Программа Nero Express Лучшая программа для записи дисков Записывать диски средствами Windows неинтересно. Во-первых, скучно, а во-вторых, вам недоступны какие-либо настройки записи, вы даже не можете указать скорость, не говоря уже о выборе формата диска, методе записи. Вот

Из книги Язык Си - руководство для начинающих автора Прата Стивен

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

Из книги Анонимность и безопасность в Интернете. От «чайника» к пользователю автора Колисниченко Денис Николаевич

4.5.2. Программа 2 В соответствии с принятым в программе 1 представлением доски каждое решение имело видтак как ферзи расставлялись попросту в последовательных вертикалях. Никакая информация не была бы потеряна, если бы X-координаты были пропущены. Поэтому

Из книги автора

4.5.3. Программа 3 Наша третья программа для задачи о восьми ферзях опирается на следующие соображения. Каждый ферзь должен быть размещен на некотором поле, т.е. на некоторой вертикали, некоторой горизонтали, а также на пересечении каких-нибудь двух диагоналей. Для того,

Из книги автора

Исходная программа Исходная программа представляет собой совокупность следующих элементов: директив препроцессора, указаний компилятору, объявлений и определений. Директивы препроцессора специфицируют действия препроцессора по преобразованию текста программы

Из книги автора

9.3. Программа apt-get Предположим, у вас есть пакет package.deb. При его установке обнаружилось, что он требует наличия пакета lib.deb, который у вас не установлен. Что ж, вы находите в Интернете отсутствующий пакет, устанавливаете его способом, описанным в разд. 9.2 (то есть применяя

Из книги автора

20.3. Программа bum Ранее в Ubuntu имелась программа Службы (в программной группе Система | Администрирование), позволяющая включать/отключать системные сервисы. В современных версиях Ubuntu такой программы нет. Зато можно установить программу Boot-Up Manager, которая даже лучше, чем

Из книги автора

Программа Ниже приводится короткая программа, позволяющая узнавать номер кода символа даже в том случае, если на вашей машине не используется код ASCII. main() /* определяет номер кода символа */{ char ch; printf(" Введите, пожалуйста, символ. "); scanf(" %c", &ch); /* ввод

Из книги автора

П1.1. Программа AVZ Программа AVZ (Антивирус Зайцева) – очень полезная утилита, и не раз меня выручала еще со времен Windows XP. Тогда я использовал антивирус Касперского, который не умел работать в безопасном режиме. Получалось так – все, что пропустил основной антивирус, в

Авторское право и отказ от гарантий

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

Отказ от гарантий:
Используйте это программное обеспечение «как есть». MHDD — это очень мощная, и, в то же время, очень опасная программа. Никто не может нести ответственность за любой вред, причинённый программой MHDD.

О проекте MHDD

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

Сейчас MHDD — это значительно больше, чем диагностика. Вы можете делать всё что угодно при помощи MHDD: диагностировать накопители, выполнять чтение/запись произвольных секторов, управлять системой SMART, парольной системой, системой управления шумовыми характеристиками, а также изменять размер накопителя.

Если у вас есть возможность материально помочь проекту — вот номера кошельков автора MHDD в системе Webmoney: Z681153514525; R131877337643.

Где взять MHDD

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

Документация постоянно обновляется, поэтому доступна только по текущему адресу.

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

mhdd.exe Исполняемая программа mhdd.hlp Этот файл используется системой справки по SMART командам cfg/mhdd.cfg В этом файле MHDD хранит конфигурацию

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

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

Давайте представим, как работает операционная система 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 — значит, вам не нужны никакие драйверы.

Аппаратные требования и поддерживаемое аппаратное обеспечение

Платформа:

  • Процессор Intel Pentium или лучше
  • 4 мегабайта оперативной памяти
  • DR-DOS, MSDOS версии 6.22 и выше
  • Любое загрузочное устройство (USB, CDROM, FDD, HDD)
  • Клавиатура

IDE/SATA контроллеры:

  • Любой интегрированный в северный мост (адреса портов: 0x1Fx для канала primary, 0x17x для канала secondary)
  • Контроллеры PCI UDMA (определяются автоматически): HPT, Silicon Image, Promise (не все), ITE, ATI, возможно, другие. Даже некоторые RAID контроллеры поддерживаются (в этом случае MHDD работает с каждым физическим накопителем отдельно)
  • Контроллеры UDMA/RAID, интегрированные в материнскую плату в виде отдельной микросхемы

Накопители:

  • Любой IDE или Serial ATA объёмом не меньше 600 мегабайт. Режим LBA поддерживается полностью, однако, я убрал CHS-код из MHDD в версиях 3.x
  • Любой IDE или Serial-ATA объёмом не больше 8388607 терабайт. Режим LBA48 поддерживается полностью
  • Любой SCSI накопитель с размером сектора от 512 до 528 байт

Диагностируемый накопитель IDE должен быть переключен в режим MASTER. Все устройства SLAVE должны быть отключены.

Другие устройства

  • Любое устройство типа SCSI removable media, например, CDROM, лента. Максимальный поддерживаемый размер сектора составляет 4096 байт

Скачивание установочного пакета MHDD

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

Вы можете записать образ CD при помощи любого ПО, поддерживающего запись ISO-образов. Ваш CD будет загрузочным.

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

Некоторые люди считают, что MHDD — очень сложная программа. Они предполагали, что MHDD должна быть очень простой, но когда они, не прочитав документацию, запускали её в первый раз — приходило разочарование. MHDD — это очень сложная и опасная программа. Намного легче осваивают MHDD те, кто знаком с внутренним устройством накопителей. Если вы хотите получить соответствующие знания, вы можете начать знакомство с этого сайта: http://t13.org .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/NOPINGPONG Отключить некоторые звуки /DISABLEBIOS Отключить стирание (ERASE) через BIOS /DISABLESCSI Отключить модуль SCSI /ENABLEPRIMARY Подключить канал Primary IDE/SATA /RO Этот ключ служит для запуска MHDD на защищённых от записи носителях. Он отключает попытки создать временные файлы, а так же отключает протоколирование.

Часто задаваемые вопросы и ответы на них

Список часто задаваемых вопросов и ответы на них вы можете найти по этому адресу:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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