Появление в речи слова «плохой» уже само собой характеризует
сложившуюся ситуацию. В нашем случае проблема возникла с жестким диском –
святая святых компьютера, поскольку он является хранилищем важной
информации. Раз так, нужно попытаться спасти ситуацию.
Как ни странно, сбойные секторы не только могут появиться и
появляются на диске, но и изначально на них присутствуют. Как бы ни был
совершенен технологический процесс изготовления магнитных пластин, какая
бы стерильность при этом не соблюдалась, все равно этого недостаточно,
чтобы сделать полностью читабельной поверхность диска, и это – факт.
Поскольку такового добиться не удается, то производители используют
разные хитрости, чтобы скрыть эти производственные дефекты.
Таблицы дефектов
Все сбойные секторы выявляются в ходе первого заводского
тестирования жесткого диска. Чтобы иметь возможность такое делать,
производители выделяют некоторый незарегистрированный, то есть
недоступный для прямого использования участок диска небольшого объема.
Кроме этого, используются специальные так называемые таблицы дефектов, в
которые заносятся адреса подозрительных и сбойных секторов. Информация в
этих таблицах обновляется в режиме реального времени и используется
специализированными утилитами для автоматического или ручного устранения
сбойных секторов.
Количество таких таблиц может быть разным. Однако изначально присутствует несколько таблиц.
Таблица P-List (Primary List). Она служит для
сохранения адресов тех сбойных участков, которые были выявлены в
результате тестирования на заводе-изготовителе жесткого диска.
Таблица G-list (Growth list). Она предназначена
для хранения адресов сбойных секторов, которые возникают в процессе
работы жесткого диска после продажи с завода-изготовителя.
Таблица сервометок. Сервометки используются для
позиционирования головок над нужными участками диска. Учитывая объемы
современных жестких дисков и требования к ним (скорость доступа и
считывания/записи информации), при сегодняшних технологиях обойтись без
сервометок невозможно. Однако, как и поверхность диска, сервометки могут
по разным причинам выходить из строя. Чтобы иметь возможность
фиксировать непригодные сервометки, используется таблица сервометок.
Временная таблица дефектов. Как обычно, всегда и
во всем присутствует что-нибудь временное, промежуточное. Так же обстоит
дело с жестким диском, конкретно – с процессом чтения/записи
информации. Каждый раз, когда головки выполняют возложенную на них
работу, они могут встретить при этом подозрительный сектор. Это совсем
не означает, что он сбойный и физически непригоден. Возможно, в
результате скачка электроэнергии к нему увеличилась скорость доступа или
уменьшилась скорость чтения/записи. Однако чтобы обезопасить себя от
возможных неисправностей, контроллер диска заносит адреса таких секторов
во временную таблицу дефектов.
Копия таблицы P-List. Поскольку тот участок,
который предназначен для хранения таблиц дефектов и переадресации
сбойных секторов на секторы из его окружения – такая же магнитная
поверхность, подверженная неисправностям, чтобы обезопасить себя от
глупых неожиданностей, контроллер жесткого диска создает копию таблицы
дефектов P-List.
Такая система работает следующим образом. Если при первоначальном
заводском тестировании обнаруживается сбойный сектор, который не
поддается восстановлению, то его физический адрес заносится в P-List и
делается автоматическая переадресация. При этом сбойный сектор
заменяется исправным из запасной области. Естественно, физическое
замещение секторов невозможно, поэтому заменяются лишь их адреса. Такой
процесс называется ремапом, или переадресацией. При
этом, попадая на сбойный переназначенный сектор, головка автоматически
передвигается на запасной сектор и выполняет необходимую работу – читает
или записывает информацию. Аналогичным образом заполняется таблица
дефектов сервометок.
После того как жесткий диск выпущен в продажу, начинаются его
«будни». При его работе сбойные секторы теперь уже заносятся в таблицу
G-List, совершая при этом аналогичную переадресацию. Заполняются также
таблица дефектов сервометок и временная таблица. Последняя играет важную
роль. Обнаруживая подозрительный сектор, контроллер заносит информацию о
нем во временную таблицу дефектов и начинает вести над ним наблюдение.
Обрабатывая накопленную информацию, при достижении некоторой границы
«странности» сектора (не читает или не записывает) такой сектор
помечается как сбойный, и информация о нем помещается в таблицу G-List.
После этого делается переадресация, что создает впечатление отсутствия
сбойных секторов. Если же сектор «исправляется», то он автоматически
исключается из временной таблицы дефектов.
Поскольку таблицы дефектов небезразмерны (под переадресацию
отводится ограниченный объем диска), то и делать их безрассудно нельзя.
Если пустить все на самотек, то очень скоро этот объем исчерпается и
сбойные секторы распространятся по всей площади диска, чего допустить
нельзя. Именно поэтому существует несколько порой нетривиальных методов
избавления от сбойных секторов. О них вы сможете прочитать далее.
Диагностика
Прежде чем начать устранять неисправность, рекомендуется
диагностировать жесткий диск. Для этого достаточно воспользоваться одной
из специализированных утилит. Чтобы увидеть истинную картину состояния
винчестера, необходимо использовать утилиты, которые работают напрямую с
технологией S.M.A.R.T. (подробнее о ней см. гл. 15).
В табл. 20.1 перечислены основные критические и некритические атрибуты S.M.A.R.T. и дано их краткое описание.
Таблица 20.1. Атрибуты S.M.A.R.T.
Это только часть атрибутов, за которыми ведется наблюдение. Однако и
их достаточно, чтобы определить «диагноз больного» и принять
соответствующие меры.
Принцип работы технологии S.M.A.R.T. очень прост: каждый раз, когда
пользователь включает компьютер, программа самодиагностики в это время
делает свое дело, не напрягая при этом пользователя. Каждый занят своим
делом, в результате – у пользователя удовольствие от работы и журнал
наблюдения S.M.A.R.T.
Технология S.M.A.R.T. может работать как в фоновом, так и в
монопольном режиме. Всего стандартизировано три типа самотестирования
S.M.A.R.T.
Фоновый тест (OffJline collection). Выполняется в фоновом
режиме без участия пользователя. При таком тестировании пользователь не
ощущает никакой потери производительности. Изредка наблюдается
самопроизвольное чтение диска, которое можно увидеть по загоревшемуся
индикатору обращения к винчестеру. В любом случае такой тест занимает
очень мало времени, от силы несколько секунд.
Сокращенный тест (Short SelfJtest). Выполняется как в
фоновом, так и в монопольном режиме. Как правило, продолжительность
теста очень мала, поэтому пользователь его не замечает, разве что сам
инициирует его выполнение.
Расширенный тест (Extended SelfJtest). Выполняется как в
фоновом, так и в монопольном режиме. Такой тест, как правило, запускает
сам пользователь с помощью разных низкоуровневых утилит. В зависимости
от объема и состояния жесткого диска он может выполняться от нескольких
минут до нескольких часов.
Как видите, S.M.A.R.T. – очень полезная технология, которая, скорее
всего, рано или поздно вам пригодится. Хотя она же может стать и тем
подводным камнем, который не позволит вам сделать что-либо с жестким
диском, если заполнит таблицу дефектов сбойными секторами на свое
усмотрение.
Именно поэтому большинство производителей по умолчанию отключают
эту технологию и предоставляют пользователю выбирать самостоятельно:
разрешить технологии S.M.A.R.T. делать переадресацию автоматически или
нет.
Как бы там ни было, если вы хотите, чтобы всем занималась
S.M.A.R.T., для этого вам придется задействовать соответствующий пункт
меню в BIOS Setup.
Что касается программ диагностики, которые работают напрямую с
данными S.M.A.R.T., то их существует достаточно много. Единственный их
недостаток – они не могут работать в большей части операционных систем,
включая и Windows XP. Поэтому, чтобы иметь возможность прочитать данные
S.M.A.R.T., необходимо загрузиться в DOS-режиме.
К сожалению, в Windows XP такое сделать нельзя, поэтому вам нужно
будет раздобыть системную дискету или загрузочный диск с Windows 98.
Ниже описан случай использования программы SMARTUDM. Она очень
проста и позволяет не только прочитать данные S.M.A.R.T., но и узнать
дополнительную информацию об установленных жестких дисках.
После запуска программа анализирует установленные контроллеры и в
случае обнаружения более одного подключенного жесткого диска предлагает
выбрать один из них, показывая при этом их названия и объем (1). Чтобы
выбрать нужный, подведите к нему курсор с помощью клавиш управления
курсором (↑, ↓) и нажмите клавишу Enter.
1. Выбираем жесткий диск, который необходимо анализировать
Сразу же после этого программа выводит много интересной информации о выбранном винчестере (2).
2. Информация о жестком диске и его параметрах
HDD Model – фирма-производитель и модель, которые программа прочитала с контроллера жесткого диска.
HDD Size – объем жесткого диска, прочитанный из контроллера.
Location – шина контроллера, к которому подключен жесткий диск (Primary, Secondary), и тип подключения (Master или Slave).
Serial Number – серийный номер жесткого диска.
Controller Revision – номер версии жесткого диска.
Buffer Size – объем буфера контроллера[16].
Compatibility – соответствие жесткого диска стандарту ATA/ATAPI.
PIO Mode Support – поддерживаемые жестким диском режимы передачи данных.
SW DMA Mode Support – поддерживаемый жестким диском DMA-режим длиной в одно слово.
MW DMA Mode Support – способ передачи данных между внутренними
устройствами без участия процессора под управлением DMA-контроллера. В
отличие от предыдущего режима, в этом длина пакета может составлять
несколько слов.
UDMA Mode Support – поддерживаемый жестким диском UltraDMA-режим.
Current AAM Value – текущее значение технологии снижения шума.
S.M.A.R.T. – поддержка жестким диском технологии S.M.A.R.T. и ее текущий статус.
S.M.A.R.T. Self-test – поддержка жестким диском функции внутренней самодиагностики накопителя и ее текущий статус.
S.M.A.R.T. Error Logging – функция ведения журнала ошибок или иных
событий, появляющихся в течение работы накопителя, и ее текущий статус.
Прочитав показанную информацию, нажмите любую клавишу, и вы сможете
увидеть еще одну порцию информации. На этот раз это таблица с
ненормализованными данными S.M.A.R.T. (3).
3. Ненормализованные данные S.M.A.R.T.
Критические атрибуты в этой таблице помечены звездочкой. Кроме
того, если обнаружено превышение допустимого значения критического
атрибута, то напротив него в колонке T.E.C. появится надпись Yes. Кроме
того, в нижней части таблицы появится надпись T.E.C. detected with
life-critical attribute! (Достигнуто пороговое значение критически
важного атрибута).
ID – идентификационный номер атрибута.
Threshold – пороговое значение атрибута. Снижение значения
критически важного атрибута ниже порогового означает скорый выход
жесткого диска из строя (см. гл. 15).
Value – текущее значение атрибута (см. гл. 15).
Indicator – псевдографический индикатор состояния атрибута.
Индикатор имеет три зоны – зеленую, желтую и красную. Если атрибут
находится в зеленой зоне, то никаких проблем нет, в желтой – начинаются
проблемы, в красной – готовьтесь к худшему.
1/Month – динамика изменения атрибута (условные единицы в месяц).
T.E.C. (Threshold Exceeded Condition) – расчетная дата достижения
атрибутом порогового значения. При первом запуске программы дата
принимает значение Unknown, что остается до изменения атрибута.
Теперь, если нажать любую клавишу, на экране отобразится таблица
нормализованных данных S.M.A.R.T. (4) и некоторая другая информация.
4. Нормализованные данные S.M.A.R.T.
Worst – наихудшее значение атрибута за все время эксплуатации жесткого диска.
Raw – нормализованное значение атрибута.
Type – тип атрибута:
· PR – Performance-related отражает скоростные характеристики накопителя;
· ER – Error rate – учитывает количество ошибок;
· EC – Events count – отражает количество каких-либо событий;
· SP – Self-preserve – изменяется автоматически вне зависимости от активности/неактивности S.M.A.R.T.
После этого программа может сохранить данные в файл для дальнейшего
более подробного изучения. Чтобы это сделать, нажмите клавишу R. В
результа226 те в каталоге, из которого была запущена программа, будет
создан файл с названием SMARTUDM.RPT.
Кроме универсальных программ, существуют «родные» утилиты,
поставляемые производителями жестких дисков. Такие утилиты обладают
более мощным механизмом диагностики и могут также тестировать некоторые
показатели. Их все объединяет одно свойство: для их функционирования
нужна операционная система MS-DOS, то есть вам необходимо будет иметь
системную дискету или загрузочный диск с Windows 9x.
Как правило, «родные» утилиты диагностики могут выполнить следующее.
Проанализировать работоспособность главных узлов жесткого диска и выявить возможные неисправности в их работе.
Получить доступ к данным в системной области жесткого диска (серийный номер, объем накопителя, рабочие установки и т. д.).
Проверить правильность подключения шлейфа данных, работу кэш-буфера, поддержку системой жестких дисков большого объема и т. п.
Провести различные тесты, базирующиеся на данных технологии
S.M.A.R.T., проверить несколько сот мегабайт поверхности дисков и т. д.
Провести тесты, эмулирующие работу жесткого диска с нагрузкой разной степени.
Проверить поверхности дисков.
Результат прохождения тестов – сообщение о прохождении теста или сообщение об ошибке и ее расшифровка.
Примерами таких утилит могут быть следующие.
SDIAG, FJDT – для жестких дисков Fujitsu.
Drive Fitness Test – для жестких дисков IBM.
PowerMax – для жестких дисков Maxtor.
Data Protection System – для жестких дисков Quantum.
SHDIAG – для жестких дисков Samsung.
SeaTools – для жестких дисков Seagate.
Data Lifeguard – для жестких дисков Western Digital.
Таким образом, следя за состоянием жесткого диска с помощью
диагностических утилит, вы сможете вовремя заметить изменения состояния
поверхности диска, что позволит сразу же на это отреагировать.
Устранение
Первым делом, если возможно, необходимо сохранить имеющиеся на
неисправном жестком диске данные. Это делается при подключении жесткого
диска в качестве вторичного (Master Slave или Secondary Slave), то есть
не загрузочного. После этого, загрузив операционную систему, скопируйте
все необходимые данные на загрузочный винчестер или, если в компьютере
установлен пишущий привод, запишите их на CD/DVD-R/RW.
Если этого не сделать, то при исправлении повреждения все данные,
как правило, пропадают, если только процесс не проходит в сервисном
центре.
После того как сохранение данных завершено, можно приступить
непосредственно к «излечению больного». Сразу стоит сказать, что
результат такого «лечения» зависит от степени «запущенности» жесткого
диска: если на нем повреждены большие участки поверхности, то, скорее
всего, такой жесткий диск вылечить полностью не удастся. Мало того, в
процессе дальнейшего использования все равно рано или поздно он
полностью выйдет из строя – это неизбежно.
Если же у жесткого диска логическая неисправность – так называемые
программные сбойные секторы и немного настоящих сбойных секторов, – то
результатом лечения будет абсолютно «здоровый пациент».
Какую программу лучше всего использовать для устранения неисправностей? Однозначного ответа нет.
Существуют утилиты универсальные и специализированные. Каждый
производитель для своего жесткого диска предлагает «родное» программное
обеспечение. По понятным причинам лучше, конечно же, использовать именно
его, нежели программы неизвестного писателя-программиста.
Особенность утилит от производителя в том, что они взаимодействуют с
контроллером жесткого диска через процессор контроллера, а не через
прерывания BIOS, которые имеют более высокий уровень. Именно поэтому
использование стандартных системных программ типа fdisk и format не
помогает ничем, поскольку они работают именно через прерывания BIOS.
Однако существуют и универсальные приложения, которые могут дать
фору многим специализированным. Пример – утилита MHDD, разработанная
российскими умельцами-программистами. Очень часто бывает, что именно она
является тем спасительным золотым ключиком, который решает все
проблемы.
Такого рода программы умеют делать следующее.
Очищать главную загрузочную запись жесткого диска (MBR).
Корректно разбивать жесткий диск на логические диски.
Выбирать нужный режим UltraATA.
Сканировать поверхность диска на присутствие программных и «обычных» сбойных секторов.
Убирать программные сбойные секторы и помечать «обычные» сбойные секторы.
Заполнять диск нулевыми данными, проверять поверхность диска в выбранном диапазоне адресов.
Выполнять переадресацию.
Выполнять низкоуровневое форматирование.
Самое примечательное, что выполнять то или иное действие можно
независимо от других. Это означает, что сначала можно сканировать
поверхность на обнаружение повреждений и убрать программные сбойные
секторы, затем попробовать сделать низкоуровневое форматирование, не
затрагивая при этом таблицы дефектов. Если не помогло и это, то остается
только попробовать сделать переадресацию.
Одни производители предлагают утилиты в виде отдельных исполняемых
модулей. Другие (например, IBM или WD) распространяют один
полнофункциональный комплекс, где указанные программы запускаются из
единой оболочки. В любом случае такие утилиты в полном составе есть у
каждого разработчика винчестеров и доступны для бесплатной загрузки.
Как уже упоминалось выше, неплохой программой для работы с жестким
диском является MHDD. Ее очень большой плюс – не только наличие русской
документации, но и большое количество информации о ней в форумах
Интернета, где можно получить детальную инструкцию для выбранного
накопителя и нужных целей.
Чтобы программа могла нормально работать, необходимо запускать ее в
режиме DOS. Для этого нужно приготовить системную дискету или
загрузочный диск с операционной системой класса Windows 95/98/Me.
Следующий шаг – выполнение предварительных рекомендаций программы.
Так, приложение рекомендует отключить все устройства хранения данных,
кроме жесткого диска, который содержит неисправность. Мало того, его
желательно подключить к первичному каналу контроллера в режиме Master.
Чтобы выставить режим Master, возьмите жесткий диск в руки и
поверните его интерфейсными контактами к себе. Далее найдите контактную
группу из нескольких групп контактов, которые отвечают за режим работы
жесткого диска. Как правило, в этой группе содержится 8–9 контактов,
расположенных в два ряда.
После этого воспользуйтесь инструкцией на корпусе жесткого диска,
где есть подсказка по выбору режима, в котором должен работать жесткий
диск. Установите с помощью перемычек указанную комбинацию, затем
установите винчестер в системный блок и подключите к нему питание и
шлейф данных.
Далее включите компьютер и войдите в BIOS Setup, чтобы указать, что загрузку нужно производить с дискеты.
Сразу же после этого вставьте приготовленную вами системную дискету
в дисковод и ждите, когда произойдет загрузка операционной систем
MS-DOS.
Далее, запустив файловый менеджер, который вы до этого записали на
дискету, найдите исполняемый файл программы, который называется
mhdd.exe, и запустите его, нажав клавишу Enter. В результате появится
окно программы, показанное на 5.
5. Внешний вид программы MHDD
После этого необходимо проинициализировать жесткий диск. Если вы не
послушались совета программы и не отключили рабочий винчестер, то
необходимо будет явно выбрать нужный жесткий диск. Чтобы это сделать,
нажмите сочетание клавиш Shift+F3 и в появившемся списке выберите
жесткий диск. Для этого определите номер порта, к которому этот диск
подключен (6).
6. Номер контроллера с нужным диском
После того как контроллер указан, нажмите клавишу F2, чтобы
проинициализировать жесткий диск. В результате в окне программы появится
информация о нем.
Далее алгоритм работы следующий.
1. Удалите с винчестера все данные, делая низкоуровневое
форматирование поверхности с помощью команды erase или aerase (более
медленный вариант).
Это довольно длительная процедура, и она может занять много
времени: все зависит от объема жесткого диска и от количества
поврежденных секторов.
2. Сканируйте диск с помощью команды scan с выключенной
переадресацией, чтобы выявить сбойные секторы, и сравните текущее
количество сбойных секторов с полученными ранее результатами в программе
SMARTUDM.
3. Если их количество заметно уменьшилось или исчезли все, то на
этом работу с программой можно закончить. Если же сбойные секторы
остались, значит, они носят чисто физический характер и нужно
сканировать диск с включенной переадресацией.
Как видите, все достаточно просто. Итак, начнем.
Прежде всего используем команду aerase. Для этого вводим ее в
командной строке и нажимаем клавишу Enter. После этого программа заново
проинициализирует жесткий диск и спросит, уверены ли вы в своих
действиях. При подтверждении утилита спросит, какой участок нужно
форматировать.
Примечание
Программа позволяет форматировать участок диска, начиная и
заканчивая конкретным логическим адресом. Поэтому если знать точно, где
находится область со сбойными секторами, то можно сэкономить время. Если
же такие адреса неизвестны, то в качестве параметров можно ввести
значение 0 и конечный адрес, который, кстати, показывает сама программа.
Указав нужные данные и еще раз подтвердив свои намерения, остается
только ждать, когда приложение завершит форматирование выбранного диска в
указанном диапазоне адресов (7).
7. Идет низкоуровневое форматирование
Итак, следующий шаг, согласно нашему алгоритму, – сканирование
поверхности диска. Чтобы запустить настройку параметров сканирования,
нажмите клавишу F4. Появится окно с параметрами сканирования (8).
8. Настраиваем параметры сканирования
В данный момент нас интересует параметр Remap, для которого должно
быть установлено значение OFF. Чтобы изменить его, подведите курсор к
нужной позиции и нажмите клавишу Enter. После того как все параметры
выбраны, начните сканирование, для чего нажмите клавишу F4.
В ходе сканирования программа будет отображать текущее состояние
секторов (9). По расшифровке изображения справа можно увидеть секторы,
имеющие большие временные характеристики, или сбойные секторы и их
размещение.
9. Идет процесс сканирования
После сканирования вы можете сверить информацию о количестве
сбойных секторов до сканирования и после. Если количество блоков не
уменьшилось или уменьшилось незначительно, значит, налицо множественное
физическое повреждение, которое можно попытаться исправить лишь
переадресацией.
Чтобы запустить переадресацию, нажмите клавишу F4 и в параметрах сканирования установите для параметра Remap значение ON (10).
10. Задействуем режим переназначения
После этого опять запустите сканирование, нажав клавишу F4.
Наблюдая за процессом сканирования, вы можете увидеть надпись OK на
секторе, проверенном программой. Это означает одно – найден сбойный
сектор, и он заменен сектором из резервного участка. Если вы видите эту
надпись достаточно часто, то можете начинать кусать себе локти,
поскольку таблица дефектов быстро заполняется, и может случиться так,
что весь резерв быстро исчерпается.
Пожалуй, это все, что можно сделать с жестким диском в домашних
условиях. Если после всех проведенных действий ваш жесткий диск так и
остался «больным», это означает одно – вылечить его в домашних условиях
уже не удастся. Придется задействовать вариант с сервисным центром,
однако и это может не помочь.
Единственное, что утешает – быстрое снижение цен на жесткие диски.
Поэтому иногда бывает проще купить любой б/у жесткий диск и не тратить
нервы, которые, как известно, не восстанавливаются.