Устранение плохих секторов
О плохом блоке (бэд-блоке) нельзя сказать ничего хорошего. Хотя бы потому, что определение «плохой» есть в самом его названии. Если к тому же учесть, что каждый плохой блок уносит некоторый объем диска, то становится понятно: он — зло, с которым нужно бороться всеми доступными способами. Как уже упоминалось, плохой блок — сбойный участок на поверхности диска, который мог появиться в результате удара головки о диск, скачка напряжения, неисправной электроники жесткого диска и т. д. Причин может быть много, однако результат один - появление участка, который теряет свои магнитные свойства и не может быть использован для записи информации. Как следствие - уменьшается общий объем диска, а в худшем случае повреждение распространяется. Однако, как ни странно, плохие блоки не только появляются на дисках, но и изначально на них присутствуют. Каким бы совершенным ни был технологический процесс изготовления магнитных пластин, какая бы стерильность при этом ни поддерживалась, все равно этого недостаточно, чтобы сделать поверхность диска читабельной полностью. А поскольку этого добиться не удается, производители используют разные хитрости, чтобы скрыть производственные дефекты. Все имеющиеся плохие блоки скрываются в ходе первого заводского тестирования жесткого диска. Чтобы иметь возможность делать это, производители выделяют недоступный для прямого использования участок диска небольшого объема - так называемую системную область. Параллельно с этим создаются специальные таблицы дефектов, в которые заносятся адреса подозрительных и сбойных секторов. Количество таблиц может быть разным. Как минимум существуют такие.
1) Таблица P-List (Primary List). Служит для хранения адресов сбойных участков, которые были выявлены в результате тестирования на заводе-изготовителе жесткого диска.
2) Копия таблицы P-List. Поскольку участок, предназначенный для хранения таблиц дефектов и переадресации сбойных секторов на секторы из его окружения, является такой же магнитной поверхностью, на которой могут возникнуть дефекты, то с целью обезопасить себя от разных неожиданностей контроллер жесткого диска создает копию таблицы дефектов P-List.
3) Таблица G-list (Growth list). Предназначена для хранения адресов сбойных секторов, которые возникают в процессе работы жесткого диска после выхода с завода.
4) Таблица сервометок. Как вы уже знаете, сервометки используются для позиционирования головок над участками диска. Учитывая объемы современных жестких дисков и требования к ним - скорость доступа и считывания/записи информации, при сегодняшних технологиях обойтись без сервометок не получается никак. Однако, как и поверхность диска, сервометки по разным причинам могут выйти из строя. Все непригодные сервометки заносятся в таблицу сервометок.
5) Временная таблица дефектов. Каждый раз, когда головки выполняют возложенную на них работу, они могут встретить подозрительный сектор. Это совсем не означает, что он сбойный и физически непригоден. Возможно, в результате скачка электроэнергии увеличилась скорость доступа к нему или уменьшилась скорость чтения/записи. Однако, чтобы обезопасить себя от возможных неисправностей, контроллер диска заносит адреса таких секторов во временную таблицу дефектов, так сказать, для дальнейшего разбирательства. Система таблиц работает следующим образом. Если в процессе первонаачального заводского тестирования обнаруживается сбойный сектор, который не поддается восстановлению, то его физический адрес заносится в P-List и делается автоматическая переадресация. При этом сбойный сектор заменяется исправным сектором из запасной области, естественно, физическое замещение секторов невозможно, поэтому заменяются лишь их адреса. Такой процесс называется переназнагением секторов. Попадая на сбойный переназначенный сектор, головка автоматически передвигается на запасной сектор и выполняет необходимую работу — читает или записывает информацию. Аналогично заполняется таблица дефектов сервометок. После того как жесткий диск покидает завод, начинаются его «будни». В ходе его работы при появлении сбойных секторов заполняется таблица G-List, при этом также выполняется переназначение секторов. Кроме того, заполняются таблица дефектов сервометок и временная таблица. Последняя играет довольно важную роль. Обнаруживая подозрительный сектор, контроллер заносит информацию о нем во временную таблицу дефектов и начинает наблюдать за ним и обрабатывать накопленную информацию. При достижении некоторой границы проявлений «странности» сектора, например невозможности проводить операции чтения или записи, такой сектор помечается как сбойный и информация о нем помещается в таблицу G-List. После этого делается переадресация, что создает впечатление отсутствия плохих блоков. Если же сектор «исправляется», то он автоматически исключается из временной таблицы дефектов. Поскольку таблицы дефектов не безразмерны, то есть для переназначения отводится ограниченный объем диска, желательно держать процесс под контролем. Если пустить все на самотек, то очень скоро этот объем диска исчерпается и плохие блоки распространятся по всей поверхности диска, чего допустить нельзя. Именно поэтому существует несколько порой нетривиальных методов избавления от плохих блоков. Каким же образом можно устранять сбойные секторы и влиять на процесс переназначения адресов? ВНИМАНИЕ: Использовать низкоуровневые утилиты стоит лишь в том случае, когда отсутствуют физические повреждения диска, такие как неисправность контроллера, головок и т. п. В противном случае вы можете только усугубить ситуацию и не получите свои данные, даже если отнесете винчестер в сервисный центр. Для начала необходимо отключить технологию S.M.A.R.T.,чтобы избежать её вмешательства в процесс автоматического переназначен ния адресов. Для этого нужно войти в BIOS и изменить соответствующие настройки. Кроме того, не забудьте изменить последовательность устройств для загрузки системы: загрузка должна начинаться с DVD-привода. Далее, если это возможно, необходимо сохранить имеющиеся на неисправном жестком диске данные. Если этого не сделать, то в процессе устранения неисправности все данные, скорее всего, пропадут, если только этот процесс не выполняется в сервисном центре. ВНИМАНИЕ: Сохранение данных нежелательно выполнять, если предполагается серьезн повреждение поверхности пластин, поскольку каждое лишнее вращение диск лишь усугубляет ситуацию. После того как сохранение данных завершено, можно приступить непосредственно к «излечению больного». Сразу стоит сказать, что результат такого «лечения» зависит от степени запущенности жёсткого диска: если на нем повреждены большие участки поверхности, то, скорее всего, исправить его полностью не удастся. Мало того, рано или поздно он все равно выйдет из строя — это неизбежно. Если же жесткий диск имеет логическую неисправность, так назы¬ваемые сбойные секторы программного типа (софт-бэды) и немного «настоящих» плохих секторов, то результатом «лечения» будет абсолютно «здоровый пациент». На вопрос: какую из программ лучше всего использовать для устра¬нения неисправностей — абсолютно однозначного ответа нет. Как и в случае с диагностическими утилитами, существуют универсальные и специализированные утилиты. Каждый производитель для своего жесткого диска предлагает «родное» программное обеспечение, хотя, конечно, низкоуровневое вмешательство они не поощряют. По понятным причинам лучше всего использовать именно «родное» обеспечение, нежели программы неизвестного писателя-программиста. Особенностью утилит от производителя является то, что взаимодействие с контроллером жесткого диска производится путем использования процессора контроллера, а не прерываний BIOS, имеющих более высокий уровень. Существуют и универсальные утилиты, которые могут дать фору многим специализированным. В качестве примера можно назвать утилиту MHDD, разработанную российскими умельцами-программистами. Очень часто бывает, что именно она является тем спасательным кругом, который решает все проблемы. Как бы там ни было, такого рода программы умеют делать следующее:
1) очищать главную загрузочную запись жесткого диска (MBR); 2) корректно разбивать жесткий диск на логические диски; 3) выбирать нужный режим UltraATA; 4) сканировать поверхность диска на наличие софт-бэдов и плохих блоков; 5) убирать софт-бэды и помечать плохие блоки; 6) заполнять диск нулевыми данными, проверять поверхность диска в выбранном диапазоне адресов; 7) выполнять переадресацию; 8) выполнять низкоуровневое форматирование. Самое примечательное то, что выполнять эти действия можно отдельно от других. Это означает, что сначала можно выполнить сканирование поверхности на наличие повреждений и убрать сбойные секторы программного характера, затем попробовать сделать низкоуровневое форматирование, не затрагивая при этом таблицы дефектов. Если не помогло и это, то иного выхода нет, как попробовать выполнить переназначение адресов. Одни производители предлагают утилиты в виде отдельных исполняемых модулей. Другие (например, IBM или WD) распространяют один полнофункциональный комплекс, где указанные программы запускаются из единой оболочки. В любом случае такие утилиты в полном составе имеются у каждого разработчика винчестеров и доступны для бесплатной загрузки. Неплохая программа работы с жёстким диском — это MHDD. Большим плюсом этой программы является не только наличие русскоязычной документации, но и множество информации на форумах Интернета, где можно получить детальную инструкцию. Программа требует операционной системы DOS, поэтому необходимо иметь загрузочный диск с этой системой либо загрузочный диск с операционной системой Windows 9х. Если в вашем компьютере установлены несколько жестких дисков, все их, кроме неисправного, следует отключить. Это позволит обезопасить себя от последствий случайных неверных действий, которые могут нуть исправные диски. После того как будет загружена операционная система DOS, можно запустить программу. Это можно сделать с помощью файлового м джера, если таковой имеется на системном диске, либо вручную, на в командной строке mhdd. ехе и нажав клавишу Enter. В результате экране появится окно программы. Прежде всего необходимо выполнить инициализацию жесткого диска, для чего нажать клавишу F2. В результате окно программы заполн ся информацией о жестком диске. Затем следует отформатировать жесткий диск, используя команду aerase. Для этого нужно ввести ее в командной строке и нажать клавшу Enter. Программа еще раз выполнит инициализацию жесткого диска и спросит, уверены ли вы в своих действиях. В случае подтверждения программа спросит вас, какой участок нужно форматировать. Здесь отдельно стоит сказать, что программа позволяет форматировать участок диска, начиная и заканчивая конкретным логическим адресом. Поэтому если знать точно, где находится область со сбойными секторами, то можно сэкономить много времени. Если же количество таких секторов неизвестно, то в качестве параметров можно ввести значения 0 и конечный адрес, который, кстати, показывает сама программа. Указав нужные данные и еще раз подтвердив свои намерения, остается только ждать, когда программа завершит форматирование выбранного диска в указанном диапазоне адресов. Время, затраченное на форматирование диска, зависит от его объема и состояния поверхности, поэтому не остается ничего другого, как ждать. После того как этот процесс будет завершен, окно заполнится разной системной информацией, среди которой наиболее интересен отчет о секторах и времени доступа к ним: большое время доступа к сектору свидетельствует о наличии системы переадресации или возможном скоромсбое сектора. Следующий шаг — сканирование диска и исправление сбойных секторов. На этом этапе программа пытается исправить все сбойные секторы, обнаруженные в процессе сканирования, независимо от того, каков характер неполадки — программный или физический. Для того чтобы запустить процесс настройки параметров сканирования, нажмите клавишу F4. Появится окно, в котором можно настроить параметры сканирования. Рекомендуется сначала выбрать режим сканирования без автоматической переадресации в случае обнаружения плохих секторов. Это позволит, во-первых, сначала удалить сбойные секторы программного типа, а во-вторых — самому решать, нужно выполнять переадресацию или нет. Для того чтобы отключить переадресацию секторов, необходимо присвоить параметру Remap значение OFF. Для этого подведите указатель к нужной позиции и нажмите клавишу Enter или пробел. Чтобы начать процесс сканирования, нажмите клавишу F4 В холе сканирования в окне будет отображаться состояние секторов, которые в данный момент проверяет программа. В правой части окна обозначения расшифровываются, что позволяет проанализировать ситуацию и принять соответствующее решение. По окончании сканирования можно сравнить информацию о количестве плохих блоков до и после него. Если количество блоков не уменьшилось или уменьшилось незначительно, значит, существуют множественные физические повреждения, которые можно попытаться исправить переадресацией секторов. Чтобы запустить процесс переадресации, нажмите клавишу F4 и в параметрах сканирования установите параметру Remap значение ON. После этого опять запустите сканирование, нажав клавишу F4. Наблюдая за процессом сканирования, вы можете увидеть надпись 0К на секторе, проверенном программой. Это сигнал о том, что найден плохой блок и заменен сектором из резервного участка. Если такие надписи появляются часто, это означает, что таблица дефектов быстро заполняется, а резерв свободных секторов в системной области быстро исчерпывается. Пожалуй, это все, что можно сделать с жестким диском в домашних условиях. Если после всех этих действий жесткий диск так и не избавился от плохих секторов, значит, устранить неисправность в домашних условиях не удастся. Остается только вариант с сервисным центром, однако и это может не помочь.
|