Как работать с программой MHDD. Часть 2

1 · 2 · 3 · 4

Быстрее и безопаснее - cтатья о возможностях современных HDD

Жесткий диск — устройство в любом системном блоке самое неприметное.
Купили его, воткнули — ну как там?
Все нормально?
Не сильно греется?
А шум спать любимым родственникам не мешает?
Ну вот и славненько.
Ну и пусть себе работает.
А ведь девайс этот один из самых сложных и навороченных во всем компьютере!
И о полном букете его способностей большинство пользователей никогда и не узнает.
Точнее, не узнало бы, если бы не существовало такой программы, как MHDD.

Как все начиналось

Интерфейс ATA (AT Attachment, он же - IDE) начал разрабатываться в конце 80-х годов как средство подключения дисковых накопителей к шине ISA.

Со временем накопители совершенствовались, обрастая новыми возможностями.
Казалось, пройдет совсем немного времени — и этот стандарт уйдет в прошлое, как когда-то произошло с жесткими дисками MFM.
Но волей судьбы это так и не случилось — ATA оказался настолько удобным, что его продолжали подстраивать под стремительно убегающие вперед технологии.
Taк один за другим появились модификации ATA-2, 3, 4, затем ATA/ATAPI-5, и, наконец, 7.
И шина ISA давно уже умерла, но остались стандарты для работы с портами 1x0-1x7, которые используются и по сей день для управления самым многочисленным семейством жестких дисков — с интерфейсом IDE.

И древний винчестер начала 90-х, и суперсовременная Barracuda, используя одинаковые наборы регистров для обмена данными, полностью совместимы по управлению.
Правда, у современных винчестеров добавлена куча новых команд, таких, как самодиагностика (S.M.A.R.T.), возможность отрезать часть диска с конца (HPA), прямой доступ к памяти для ускорения обмена данными (DMA), возможность понижать уровень шума (AAM), возможность установки пароля на винчестер (Security Set) и многие другие — все они входят в стандарт ATA и нередко используются в фирменных утилитах для различных хардов.

Но вот беда — в погоне за быстрой прибылью, далеко не все фирмы удосужились выпустить утилиты, в состав которых входит реализация всех возможностей, на которые способен их жесткий диск.
Так жестоко, например, поступили фирмы Samsung, Fujitsu и Western Digital.
Только фирма IBM включила все ATA-функции в пакет Features Tool.
Вот и приходится рядовому пользователю извращаться, пытаясь активизировать ту или иную фичу своего винчестера с помощью «чужой» утилиты.
А из-за того, что такой софт часто пишется «из-под палки», в нем бывает куча неудобств, а иногда и совершенно бессмысленные ограничения — некоторые модели хардов просто отвергаются из-за маркетинговых соображений.
«Не купили хард нашей фирмы — нечего нашими программами пользоваться» — считают их разработчики.

Но теперь этот кошмар можно забыть, как страшный сон — программа MHDD специально создана для универсального использования ATA-команд на любых хардах, независимо от их производителя.
Так как эта программа работает с винчестером непосредственно через порты, в ней отсутствуют разные дебильные ограничения, типа работы «только с дискеты» или «только под чистым ДОС».
Программа способна работать и в DOS, и под Windows 7, и с дискеты.
Ее можно запускать в любой момент, и в любой момент завершать.
И вам больше не нужно скачивать из Сети мегатонны всякой сомнительной хренотени — все, что нужно вашему харду.
В комплект входит документация на русском языке и много других полезных рекомендаций.

Тестирование винчестеров

Тестирование хардов является основной идеологией программы, и занимает большую часть ее возможностей.
Прежде всего зададим себе вопрос: а что такое тестирование жесткого диска вообще?
Что полезно знать о нем в первую очередь?
Наверняка для многих это прежде всего - скорость чтения/записи, состояние поверхности, SMART-атрибуты, наличие встроенных функций, а если диск уже «заболел» — то и диагностика его неисправностей.
И все это умеет MHDD!

Выбрав нужный накопитель в меню программы, и нажав клавишу [F2] мы получим исчерпывающую информацию о накопителе, а именно:

— полное название модели;
— количество логических цилиндров/головок/секторов на дорожке;
— серийный номер;
— версию микропрограммы;
— количество адресов LBA;
— список всех поддерживаемых ATA-функций и предельного режима DMA;
— состояние SMART: включен или нет;
— наличие аппаратного пароля на винте;
— размер харда в мегабайтах;
— информацию о прохождении важнейших тестов — сброса и рекалибровки (рис.1).

MHDD
Рис 1. Инициализация винчестера по команде F2

Но это еще не все, что можно узнать о накопителе.
Посмотрите в самую верхнюю часть экрана — там вы увидите лампочки индикаторов состояния диска.
Их состояние показывает, чем занят накопитель в данный момент времени.
Вот что они обозначают:

BUSY — накопитель занят и на команды не реагирует;
WRFT — ошибка записи;
DREQ — накопитель жаждет обменяться данными с внешним миром;
ERR — в результате какой-либо операции возникла ошибка.
Когда загорается этот бит, обратите внимание на правую верхнюю часть экрана.
Там будет отображен тип последней ошибки: (действительно только при зажженной лампочке «ERR»);
AMNF — Adress Mark Not Found - Контроллер не смог обратиться к заданному сектору. Обычно бывает из-за бэд-блоков;
T0NF — Track 0 Not Found - невозможно «найти» 0-й трек;
ABRT — Abort, команда отвергнута;
IDNF — Sector ID Not found;
UNCR — Uncorrectable Error — винчестер не смог прочитать данные в секторе из-за ошибки, которую он не смог скорректировать ECC-кодом.
Обычно возникает из-за софт-бэдов.

Коды ошибок — это отдельные биты в специальном регистре, содержимое которого сообщает сам винчестер в ответ на ATA-команды, а программа лишь интерпретирует их в удобную для восприятия форму.
Пока винчестер бездействует, состояние индикаторов почти ни о чем не говорит, но стоит дать винту задание (например запустить скан поверхности клавишей [F4]), как индикаторы оживут и начнут сообщать о состоянии накопителя в реальном времени.

Мы не будем рассматривать сканирование поверхности подробно.
Обратим внимание лишь на индикатор скорости в правом верхнем углу: он показывает максимальную скорость считывания данных, на которую способен винчестер в данный момент.
В большинстве случаев этот результат совпадает со значением, выдаваемым другими программами для тестирования HDD, например SiSoft Sandra или HdTach для Windows.
А в правом нижнем углу отображается время, оставшееся до конца тестирования — в MHDD 2.81 это новинка, которой не было ни в одной из предыдущих версий.

С помощью MHDD можно оценить и надежность системы позиционирования накопителя.
Для этого имеется консольная команда «CX».
Она названа так в память о печально известных винчестерах Quantum серии CX — эти винчестеры массово умирали из-за бракованной партии микросхем Philips TDA5247HT, которая управляла движением головок.

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

Этой командой удобно тестировать б/у накопители, особенно Quantum-ы lct-серий, в которых применяется аналогичная микросхема.
Достаточно оставить винчестер на пару часов в режиме «CX», чтобы выявить все их глюки — в случае неудачного прохождения этого теста будет выдано сообщение «ERROR: Seek Test FAILED!».

Но и это еще не все!
В новой версии MHDD были добавлены совершенно уникальные функции — просмотр заводских дефект-листов на хардах IBM и FUJITSU.
Это позволяет оценить состояние харда после покупки — чем меньше заводских дефектов, тем он, естественно, лучше.
Для этого предназначены команды «IBME» и «FUJLST» — они выводят список дефектов в файлы.

И наконец — в MHDD есть возможность запустить автономные внутренние SMART-тесты, которые протестируют накопитель.
Это можно сделать командой «SMART TEST» (помощь по SMART интегрирована в программу).

Подробнее о технологии SMART и SMART-тестах можно почитать здесь .

MHDD
Рис 2. SMART-тесты

Управление уровнем шума

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

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

Как тут быть?
Именно эта проблема была решена разработчиками хардов совсем недавно - в спецификации ATA появилась функция «Automatic Acoustic Management» (AAM) — оперативная регулировка уровня шума, издаваемого накопителем в результате движения головок за счёт уменьшения скорости их перемещения.

Управлять AAM могут фирменные утилиты некоторых хардов, например IBM и Maxtor.
Но они делают это крайне неудобно — пользователь не имеет возможности быстро оценить текущий уровень шума.

В MHDD все это реализовано намного удобней: достаточно ввести «AAM» в консоль, и винчестер сам начнет трещать головками, демонстрируя свой уровень шума.
A изменить его можно клавишами «M» (минимальный уровень шума), «L» (средний) и «P» (максимальный).
Клавиша «D» выключает AAM совсем, при этом винчестер становится максимально быстрым, но в тоже время и максимально громким.
Переключать винчестер можно прямо из Windows 9x в любое время, в отличие от других «фирменных» утилит (рис.3).

MHDD
Рис 3. Automatic Acoustic Management

Опции безопасности

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

Наиболее распространенный способ ограничения доступа к конфиденциальной информации — создание шифрованных разделов на винчестере, архивирование с паролем, запароливание всей файловой системы на логическом уровне (специальными программами в boot-секторе HDD), а иногда и физическая смена жесткого диска целиком (например — использование мобил-рэка).

Но у такой защиты есть множество недостатков.
Информация все равно остается на носителе, и хотя она в явном виде не доступна (программы защиты часто ограничиваются шифровкой лишь загрузочной записи, оставляя неизменной даже FAT), ее можно легко извлечь с такого диска, натравив на него дисковый редактор, или, (что проще) - одну из программ для спасения информации, например всем известную «Easy Recovery».

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

В идеале система безопасности должна соответствовать 3-м основным требованиям:
1. Быть независимой от ОС, файловой системы, компьютера и их глюков.
2. Быть надежной и трудноломаемой.
3. Не отнимать ресурсы системы.
И так и осталось бы это мечтой, если бы никто не догадался поручить это контроллеру жесткого диска!

Это было предложено разработчиками стандарта ATA/ATAPI-3 еще в 1996 году, однако винчестеры, реально поддерживающие security-функции, появились сравнительно недавно.
Называется эта фишка «Security Set», а в просторечии — ATA-пароль.
Она позволяет защитить все содержимое винчестера не только от чтения, но и от записи, и даже от низкоуровневого форматирования!

Этого удалось добиться, встроив программу защиты непосредственно в винчестер.
С внешним миром она общается через обычный IDE-интерфейс — нужна только утилита, способная это правильно делать.
BIOS-ы некоторых материнских плат умеют ставить пароль на современные винчестеры, а на многих ноутбуках (например, фирмы DELL), это уже давно стало нормой.

Но теперь нам не надо быть обладателем супер-крутой платы или ноутбука, чтобы защитить свою инфу — это можно делать на любом компьютере с помощью MHDD!
Причем, не только из BIOS, но и из DOS и Windows в любое удобное время.
Попробуем разобраться, как это работает.

Запускаем MHDD, и нажав комбинацию клавиш [SHIFT]+[F3], выбираем винчестер, доступ к которому мы хотим закрыть.
Нажимаем [F2].
Обратите внимание на строку «Security: High, Off» — она означает, что пароль на винчестер не установлен (рис.4).

MHDD

Установка пароля на винчестер

Теперь набираем в консоли «PWD».
Программа попросит ввести пароль «Type password max 32sym-».
Внимательно введите пароль из любых печатных символов, допустимо вводить цифры, пробелы и знаки препинания.

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

После ввода нажмите [ENTER].
Пароль через интерфейс уйдет в винчестер.

Нажав [F2], вы увидите, что сообщение сменилась на «Security: High, ON», а наверху, огненными буквами высветилось страшное слово: «PWD».
Однако, пароль вступит в силу не сразу, а только после выключения питания.

При последующем включении компьютера произойдет перезапуск внутренней микропрограммы винчестера, и он заблокируется.
Такой накопитель будет корректно опознаваться BIOS, но при попытке загрузиться с него, записать или прочитать информацию, возникнет очень крутой облом: винчестер будет отвергать любые действия, связанные с доступом к его информационной зоне.
И не поможет здесь ни дисковый редактор, ни низкоуровневое форматирование, ни подключение к другому компьютеру, ни даже перестановка контроллера от другого винчестера!

Пароль хранится на блинах, в области инженерных цилиндров, доступных только в технологическом режиме.
И где конкретно он находится, знают только производители и ремонтники хардов — обычному пользователю снять пароль скорей всего, не удастся.
Винчестер с паролем можно оставлять в компьютере подключенным, при загрузке система его не увидит (но он будет присутствовать в списке устройств).
Это очень удобно, если на компьютере имеется несколько винчестеров.
А если винчестер один, то MHDD можно загружать с дискеты — таким образом вы превратите ее в электронный ключ к жесткому диску.

С установкой разобрались, а как теперь его снять?
Для этого в MHDD есть две команды: «UNLOCK» и «DISPWD».

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

Рассмотрим пример (рис. 5).

MHDD
Рис 5. Снятие пароля с винчестера

Выбрав нужный нам винчестер через [SHIFT]+[F3] и нажав [F2], вводим в консоль «UNLOCK».
На просьбу ввести пароль — вводим его.
Программа ответит «Done», даже если пароль был введен неверно.
Затем набираем «DISPWD» и снова вводим пароль на запрос.
Нажимаем [ENTER].

Если в обоих случаях пароль был введен правильно, винчестер будет немедленно разблокирован, в чем можно убедиться, нажав [F2] — огненная надпись «PWD» должна исчезнуть.

Если пароль был неверным, появится надпись «Fail».
После пяти неправильных попыток винчестер перестает реагировать на команды, выдавая «Fail» в любом случае — нужно выключить и включить питание, чтобы возобновить работу.
Поэтому будьте очень внимательны при выборе пароля — он является аппаратным, и при его утере вы потеряете хард как физическое устройство!

Насколько надежна такая защита?
От простого пользователя — 100%.
Пароль нельзя обойти без специальных технологических программ, которые, естественно, не распространяются.
Его нельзя «сбросить», как это часто делают с забытым паролем в BIOS материнских плат.
Но от профессионала ATA-пароль не спасет — его могут удалить те, кто имеет доступ к служебной зоне харда, например ремонтники, или владельцы аппаратно-программного комплекса PC3000.

Существуют и другие программы для работы с ATA-функциями жестких дисков, например ATA Security Tool, которая обладает большими возможностями.
В комплекте есть отличная документация на русском языке, которую очень полезно почитать всем, кто заинтересовался работой с ATA-паролями HDD.

Опции ремонта

Так как про скрытие бэд-блоков уже написана статья «Нечисть на харде — от BADы подальше» , то мы не будем повторяться.
В той статье была описана работа с версией 2743.
Но из-за того, что автор программы постоянно разрабатывает новые методы решения проблем с HDD для рядовых пользователей, новые версии MHDD появляются со скоростью пулемета.
И в каждой — новые возможности, зачастую не имеющие аналогов в других программах.

Так вышло и в этот раз - в менюшке сканирования поверхности, вызываемой через [F4], появилась новая опция «ERASE WAITs».
Она предназначена для быстрого удаления софт-бэдов без потери информации.
Как мы уже писали, софт бэды — это неправильно записанные секторы, у которых не совпадает контрольная сумма поля данных с реальным его содержимым.
Особенно часто такое бывает на винчестерах IBM DTLA.

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

Долгое время для этого использовали полную очистку поверхности от информации путем «низкоуровневого» форматирования носителя — принудительной записи нулей во все секторы.
Но во-первых, это приводило к полному уничтожению информации, а во-вторых — занимало очень много времени.
А что делать, если софт-бэды образовались на каком-нибудь важном текстовом файле?
Из-за одного-единственного дефектного сектора, скопировать этот файл становилось невозможным — ОС не позволяла.

Теперь это стало возможным благодаря опции «ERASE WAITs», которая исправляет такие файлы, делая их способными читаться без ошибок.

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

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

MHDD
Рис. 6. Опции сканирования поверхности и ремонта

Заключение

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

Автор: Сергей Казанский


1 · 2 · 3 · 4