Борьба с бэдами

Я уверен, всем известно, что бэд-блоки (правильнее, бэд-сектора) - это секторы жесткого диска, хранение информации на которых невозможно. Будучи обнаруженными программами проверки дисков вроде NDD или Scandisk, эти секторы (а точнее, кластеры - группы секторов) помечаются в таблице размещения файлов (FAT) и уже не используются операционной системой. Диск с бэдами считается непригодным к использованию, хотя чаще всего от них можно легко и без последствий избавиться.

Прежде чем начать борьбу с бэдами, нужно определить, есть ли они:( Дело в том, что те бэды, которые мы видим как буквы "B" на карте диска при проверке его NDD или Scandisk'ом, есть всего лишь кластеры, помеченные в FAT значением 0FFF7h. То есть такие кластеры может "зарезервировать" под себя вирус или кто-нибудь может пошутить неудачно. Если вы не видели, как появились бэды на диске, скорее всего, они ненастоящие. Если вы не знакомы с программами типа DiskEdit, попробуйте обычный format.

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

  1. неисправен контроллер;
  2. неисправен шлейф;
  3. износилась механика диска (ошибки позиционирования);
  4. износилась поверхность;
  5. произошла разгерметизация.

Чтобы точно поставить диагноз, нужно посмотреть на результаты работы S.M.A.R.T. (как это делать - смотрите предыдущие статьи). Если эта технология вашим диском не поддерживается - увы...

Но ситуация не всегда так безнадежна. Бэды могли появиться локально и сразу группой, чаще всего в результате какого-либо сбоя. В таком случае почти наверняка выход есть, а если S.M.A.R.T. показывает норму, выход есть точно. Ведь могла произойти такая относительно безобидная штука, как запись неверных контрольных сумм поля данных сектора, в результате чего информация, хранящаяся в секторе, считается недостоверной. Очевидно, это легко "пофиксить". И даже в случае дефекта поверхности, возникшего от термошока или удара, бэды можно убрать, подставив вместо сбойных секторов резервные, которые имеются на каждой дорожке как раз для таких случаев.

Если вы решились попытаться провести лечение, не рассчитывайте, что на диске сохранится какая-либо информация:) Для работы используем HDDUtility, о которой я уже писал раньше. Напомню, что эта утилита написана для дисков Quantum, поэтому не удивляйтесь, если вашему Conner она не поможет. Нужно стараться покупать хорошие диски:( Впрочем, для Fujitsu, WD, IBM она тоже подходит.

Начать нужно с ReadTest/Soft Read. Не поленитесь проверить весь диск и следите за типом бэдов. Если все они отнесены к типу ECC, восстановление будет наиболее простым - эти секторы нужно просто записать. Если вы не знаете, что такое INT13h и как с ним работать, вам поможет утилитка, разработанная фирмой Quantum. Она называется ZeroFill и позволяет затереть весь диск нулями, восстановив контрольные суммы секторов. Того же эффекта можно добиться, проведя низкоуровневый формат диска (Low-Level Format той же HDDUtility). По утверждению автора утилиты, Дмитрия Пашкова, низкоуровневый формат безопасен. Кроме того, его стоит попробовать для восстановления любых типов бэдов. Насколько успешно проходит восстановление - смотрите на полоску внизу экрана, она должна оставаться "зеленой". После окончания форматирования нужно повторно провести тест (Soft Read).

Те секторы, которые не восстановились после форматирования, нужно просто убрать (заремаппить) с диска, занеся их в "дефект-лист", после чего вместо них будут подставлены нормальные секторы. Для этого после прохождения Soft Read-теста нужно сразу же перейти в Recovery/Reallocate Errors... Успешность удаления бэдов видна в области Reallocation State. Там должны быть только OK. Если вы видите что-нибудь вроде Command Aborted, ваш диск не работает стандартно с дефект-листом, и ремаппинг невозможен.

Для более подробной информации обращайтесь к документации, прилагаемой к программе. Скачать ее вы можете по адресу members.xoom.com/hdutility или сразу так - ksis.virtualave.net/hddut23r.rar. Очень надеюсь, что она вам поможет.

Особая благодарность автору утилиты за ответы на вопросы по данной проблеме.

Макс КУРМАЗ,
ask_max@inbox.ru

Версия для печатиВерсия для печати

Номер: 

10 за 2000 год

Рубрика: 

На заметку
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя savely
To Инкогнито: Конечно, лучше сбэкапить. Вообще, бэкапить надо всегда и все :-)))

А если реально - в том и прелесть Magic, что он сохраняет все данные при изменении размеров и конвертации разделов... Форматировать тоже не надо. Но он вроде не очень любит работать с тем разделом, с которого запущен (особенно конвертировать). Поэтому и советую запускать его с C:.

To Max: Так идея отрезания и состоит в том, что головки не будут соприкасаться с бэдами. В неразмеченной области (которую мы отрежем) им просто нечего делать...

Аватар пользователя Макс Курмаз
Тогда я согласен.
Аватар пользователя Regoter
Я бы эту проблему решал бы с помощью DiskEditor (я лично не очень люблю PQMagic), но судя по твоим разговорам ты сама(сам) это не проделаешь. Для тебя лучше воспользоваться PQMagic. Только нужно в нем отключить проверку на бэды, потому что если у тебя действительно столько бэдов, прога может зависнуть, не доделав свою работу. Но отключать проверку можно только тогда, если у тебя нет больше бэдов кроме тех, которые в конце, т. к. прога может записать информацию на бэды, которые находятся к примеру вначале диска D, и эта информация потеряется. Если не умеешь пользоваться PQMagic, то лучше спроси у друзей. Но если таких друзей нет, то объясняю. Перезагружаешься в DOS -> Запускаешь драйвер мыши -> Запускаешь PQMagic -> Кликаешь на диск D -> Отключаешь проверку бэдов -> Кликаешь на кнопку Resize, и мышкой передвигаешь правую границу раздела так, чтобы после диска оставались те 6-7мегов с бэдами -> кликай на APPLY. (Если у тебя мало памяти, прога может зависнут в процессе (желательно больше 32 и драйвер памяти).

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

Аватар пользователя savely
Абсолютно согласен с Regoter. И про отключение проверки, и про знающих людей... Могу предложить помощь за пиво :-))) при определенных условиях. За подробностями пиши s_sinyakin@tut.by
Аватар пользователя Инкогнито
2 Regoter & All

А как решить проблему с помощью DiskEdit

Аватар пользователя apple_rom
Тоже не люблю мэджика, уж лучше Paragon. А вот DiskEdit-то зачем? MBR менять? Лет пять назад и я такой ерундой страдал, но уже ж года три как есть вышеупомянутый раниш - http://www.users.intercom.com/~ranish/part/part.zip
Аватар пользователя Инкогнито
Paragon- что это такое?

как решить проблему с помощью DiskEdit? Вылезут ли эти сектора заново?

Что делает Ranish? Как ей пользоваться?

Аватар пользователя savely
To Инкогнито: Забудь про DiskEdit. Если ты не умеешь работать с Мэджиком, то DiskEdit тебе не нужен, даже вреден... Это топор, которым, при определенном навыке можно забивать то-о-о-оненькие гвозди, а можно и то-о-о-олстенное дерево завалить...

По остальным прогам вопрос - они инфу сраздела трут или нет? Просто после появления Partition Magic он меня полностью устроил и я бросил искать альтернативы...

Аватар пользователя savely
То Инкогнито: Что ж ты настырный такой? :-))) Неделю назад все уже сказали, а ты все выясняешь что-то...
Аватар пользователя Regoter
Для Инкогнито -> Мне так кажется, что из этих 6-7 мегов не все бэды. И скорее всего их там намного меньше чем 6-7Мв. Потому что если даже один сбойный сектор появился в кластере, то система метит весь кластер как BAD. С помощью DiskEditor или подобной проги можно проверить это пространство. Просто проверить читается ли информация с этих секторов или нет(нужно проверят физический диск). Если читается, то система здорово глюкнула, пометив их BADами. Но если пишет что-то вроде сектор не найден, то возможно уже ничего не поможет. Скорее всего у тебя бэдов на несколько десятков килобайт, а может и того меньше, которые рассыпаны на этих 6-7Мв. Самый простой способ проверки, но не самый быстрый, в DiskEditorе открыть весь диск физически и воспользоваться командой "НАЙТИ" указав какое-нибудь слово, которое нельзя найти на диске. И тогда прога будет сканировать весь диск, пока не найдет слово или пока не наткнется на BAD сектор, жми "ИГНОРИРОВАТЬ" и прога пойдет дальше сканить до следующего BADa. Если их много, то жми "ESC" и воспользуйся PQMagic как было предложено раньше. Отрубить это место можно и в DiskEditor. Для этого нужно определить координаты первого бэда, и изменить таблицу разделов: координаты последнего сектора нового раздела и количество секторов( нужно подсчитать) и т.д.. Но это очень кропотливая работа и неопытным не советую (тем более, если на диске имеется нужная информация).

Страницы