Плохой сектор жесткого диска. Подготовка винчестера на заводе. Физические и логические дефекты

Для примера возьмём реальный жёсткий диск имеющий сбойные сектора

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

Данный винчестер WDC WD5000AAKS-00A7B2 (объём 500 ГБ) реально неисправен,

Операционная система на нём постоянно зависает и периодически при загрузке запускается проверка жёсткого диска на ошибки. Последней каплей для хозяина винчестера стало то, что не получалось скопировать важные данные на другой диск и даже переустановка операционной системы закончилась очередным зависанием на распаковке файлов Windows, замена установочного диска с операционкой ничего не дала, зависание повторилось на другом этапе установки.

Вот тогда и встал вопрос о том, что делать с этим жёстким диском, ведь на одном из разделов находились важные данные и их нужно было скопировать.

Запуск Victoria

Запускаем программу Victoria от имени администратора . Соглашаемся со всеми предупреждениями о работе в 64-битной системе.

Выбираем начальную вкладку Standard. Если у нас несколько жёстких дисков, в правой части окна выделяем левой мышью нужный жёсткий диск, в нашем случае WDC WD5000AAKS-00A7B2

и переходим на вкладку SMART,

жмем кнопку Get SMART, справа от кнопки засветится сообщение GOOD и откроется S.M.A.R.T. выбранного нами жёсткого диска.

5 Reallocated Sector Count - (remap), обозначающий число переназначенных секторов это значит запасные сектора на резервных дорожках заканчиваются и скоро сбойные сектора переназначать будет нечем.

Переходите на вкладку Tests.

Тест поверхности жёсткого диска в программе Victoria!

В правой части окна программы отметьте пункт Ignor и пункт read , затем нажмите Start . Запустится простой тест поверхности жёсткого диска без исправления ошибок. Этот тест не принесёт никаких плохих или хороших воздействий на Ваш винчестер, но когда тест закончится, мы узнаем в каком состоянии находится наш жёсткий диск.

Начинается сканирование поверхности жёсткого диска и через некоторое время обнаруживаются сбойные сектора. Через 40 минут Victoria выдаёт нам такой результат:

Очень много хороших секторов с хорошей задержкой чтения не более 5 ms - 3815267

Также имеются сектора с нехорошей задержкой чтения 200 ms

Секторов с неудовлетворительной задержкой чтения более 600 ms (кандидаты в бэд-блоки) нет совсем, но...

Что совсем плохо, присутствуют полноценные сбойные сектора (бэд-блоки), информацию из которых прочитать совсем не удалось - 13!

13 сбойных секторов (бэд-блоков), все они начинаются в области 6630400 , а заканчиваются на 980000000 , то есть рассыпаны по всему жёсткому диску. Номера бэд-блоков нужно записать. Друзья, вполне возможно все наши проблемы с жёстким диском могут быть из-за этих 13 бэдов и от них нужно избавиться, но сначала сделаем посекторный образ больного винта.

Жёсткий диск пострадавшего WDC WD5000AAKS-00A7B2 (объём 500 ГБ) был разделён на два раздела: диск D: с операционной системой объём 120 ГБ и диск E: с данными объём 345 ГБ.

Перед работой с программой Victoria обезопасим себя и сделаем полный образ раздела диск E: объём 345 ГБ и данные будем вытаскивать именно с образа. Образ сделаем в другой программе DMDE и расположим его на другом физическом диске SAMSUNG HD403LJ (объём 400 ГБ) я покажу Вам как это сделать.

Управление дисками моего компьютера

Щёлкните левой мышью для увеличения скришнота

Важные данные находятся на Новом томе (E:) объём 347 ГБ жёсткого диска WDC WD5000AAKS (общий объём 500 ГБ), значит создавать будем образ раздела (E:)

Посекторный образ раздела (E:) создадим на жёстком диске SAMSUNG HD403LJ (объём 400 ГБ), на нём всего один раздел без данных Новый том (F:)

Третий физический диск в системе, это твердотельный накопитель SSD (объём 120 ГБ) диск (C:), на нём находится наша работающая операционная система Windows 8.1, в которой мы сейчас и находимся.

Создание посекторного образа всего жёсткого диска или нужного раздела в программе DMDE

Также DMDE является очень хорошим инструментом для создания посекторных копий неисправного жёсткого диска.

Идём на сайт программы DMDE http://dmde.ru/download.html и скачиваем программу, жмём GUI для Windows.

DMDE скачивается в архиве, разархивируем его и запускаем файл dmde.exe .

Затем выбираем язык Русский.

Принимаем условия Лицензионного соглашения. В начальном окне программы нам нужно для создания образа выбрать или Физическое устройство (то есть полностью жёсткий диск) или раздел с данными.

Нужен нам только том (E:), поэтому отмечаем левой мышью наш жёсткий диск WDC WD5000AAKS, затем отмечаем пункт Логические диски

и раздел (E:), затем жмём ОК.

Меню. Создать образ/клон...

Место для записи, жмём Диск.

Новый том (F:) и ОК. Нужно чтобы раздел, на котором будет создан посекторный образ неисправного жёсткого диска (или раздела с нечитаемыми данными) был по объёму не меньше этого диска.

На новом томе (F:) удалятся все данные, соглашаемся Да.

Начинается создание посекторной копии раздела (E:) больного жёсткого диска WDC WD5000AAKS на новом томе (F:) другого здорового жёсткого диска диска SAMSUNG HD403LJ, которое продолжается 6 часов (с особо "бэдастых" винтов образ снимается несколько суток) и наглухо зависает на 83 процентах, прождав пару часов я нажал на кнопку Прервать !

Друзья, если прервать создание образа посекторного раздела под самый конец (всё-таки 83%) то нас ждёт два варианта, как говаривал Суворов - "либо грудь в крестах, либо голова в кустах".

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

Но в некоторых случаях не всё так будет радужно и при попытке войти на раздел с посекторной копией нас будет ждать вот эта ошибка: Нет доступа к F:\. Файл или папка повреждены. Чтение невозможно.

Нет доступа к F:\. Файловая система не распознана. Убедитесь, что все требуемые системные драйвера загружены и том не повреждён.


Но и в этом случае сдаваться мы не будем и поступим так.

Что делать, если создание посекторного образа пойдёт с ошибками

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

Или в процессе создания посекторной копии появится вот такая ошибка "Запрос не был выполнен из-за ошибки ввода/вывода на устройстве " (смотрите скришнот ниже) обозначающая, что DMDE не смогла прочитать информацию в сбойном секторе (номер сектор указан в ошибке) в этом случае нажмите

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

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

"Игнорировать всё" и подобные ошибки будут пропущены, а можно нажать кнопку

"Параметры" и соответствующе настроить программу DMDE для такого тяжёлого случая. Нажмите в этом окне кнопку Параметры.

"Обратный ход" , иногда это приносит результат.

И опять нажмите "Параметры".

В этом окне отметьте пункт " - Всегда" . При выборе опции операция будет продолжена даже

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

Число повторов авто при ошибке CRC - 0

Заполнять плохие секторы (hex)

Затем ОК и ОК , начинается создание посекторного образа.

Щёлкните левой мышью для увеличения изображения

Также работоспособным показал себя такой вариант настроек.

Пропускать ошибки ввода-вывода - Всегда

Не ждать, если устройство не готово - Всегда

Число повторов при ошибке CRC - 0

Число авто повторов, если сектор не найден - 0

Вообще я Вам посоветую изучить мануал к программе DMDE http://dmde.ru/manual.html или http://dmde.ru/docs/DMDE-manual-ru.pdf , так же можете дождаться нашей статьи о создании посекторного образа неисправного жёсткого диска различными программами, в ней мы рассмотрим даже создание загрузочной флешки с программой DMDE.

  • Если DMDE Вам не поможет, тогда можно попробовать другие программы, например . Конечно существуют ещё способы с помощью которых можно сделать посекторный образ сбойного винта, например загрузиться с какой-нибудь операционной системы, основанной на Linux, к примеру Ubuntu, но сам процесс описывать здесь не буду и лучше напишу отдельную статью. Также под Линуксом можно запустить утилиту safecopy .
  • Что делать, если всё же посекторную копию жёсткого диска Вам сделать не удастся, выбирать Вам. Можете обратиться в хороший и зарекомендовавший себя сервис по восстановлению данных и посекторную копию с Вашего жёсткого диска снимут на специальном дорогостоящем оборудовании специалисты, например с помощью того же комплекса PC−3000. Если Вам не жалко Ваши данные, то можете рискнуть и запустить в программе Victoria алгоритмы избавляющие поверхность Вашего жёсткого диска от сбойных секторов (бэд-блоков), как это сделать написано далее, жёсткий диск после этой операции может вернуться к жизни.
  • Важно: Казанский (разработчик программы Виктория) обещает, что самый новаторский алгоритм скрытия бэд-блоков BB = Advanced REMAP НЕ деструктивен для данных, но в некоторых случаях для Ваших файлов это может быть деструктивно, так как даже самый продвинутый алгоритм Виктории Advanced REMAP скрытие дефектов (ремап), это по любому изменение трансляции винта, а значит потеря пользовательских данных (подробности далее. Хочу сказать, что иногда бывало и так, что вылечит Victoria жёсткий диск от бэдов и Вам даже удастся скопировать инфу с такого харда, но к сожалению не вся информация получается читаемая.

Итак, в нашем случае сделать посекторную копию больного жёсткого диска, а именно нового тома (E:) программе DMDE сделать удалось, правда в некоторых местах DMDE немного зависала, но всё закончилось успешно. Посекторная копия нового тома (E:) представляет из себя точную копию и расположена на томе (F:). Все имеющиеся данные успешно читаются и копируются.

Основная задача решена и пользовательские данные спасены, теперь приступаем к процедуре лечения жёсткого диска.

Как избавится от сбойных секторов (бэд-блоков) с помощью программы Victoria

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

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

Remap

В главном окне Виктории отмечаем пункт Remap , обозначающий алгоритм переназначения бэд-блоков секторами с резервных дорожек в процессе сканирования. Тест в режиме чтения Read , то есть от начала к концу и жмём на кнопку Start .

Пока идёт сканирование поговорим вот о чём.

1. Что происходит при данном алгоритме Remap? Производится (несколько раз) попытка принудительной записи информации в сбойный сектор жёсткого диска , если попытка удачна, значит сектор становится здоровым и удаляется из списка бэд-блоков (ремап не происходит). Если попытка записи неудачна, значит больной сектор переназначается здоровым сектором со специально предназначенной для таких случаев резервной дорожки винчестера.

2. Remap это переназначение (замена) больного сектора, присвоение его номера LBA другому физически здоровому сектору из резервной дорожки . Информация из сектора (на момент переназначения) висит в ОЗУ винта, и как только сектор переназначен - записывается назад.

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

Результат. Как я и говорил в работающей Windows трудно что-либо исправить и Victoria не может осуществить Ремап. Через 20 минут тот же самый результат, 13 бэд-блоков и нам с Вами придётся делать загрузочную флешку с Викторией и работать в ДОСе.

Как в программе Victoria сканировать определённую область на жёстком диске

Если Вам известны точные адреса сбойных секторов, вы можете задать в программе Victoria точные параметры сканирования. Например, мы знаем, что наши бэд-блоки начинаются с сектора 770 000 000, тогда в пункте Start LBA: (осторожно, в некоторых случаях ваши данные на жёстком диске удалятся).

  • Чаще всего попадаются софтовые (программные) бэды, которые убираются быстрее всего обнулением - алгоритмом Erase, да и при неудачной записи в сектор нулей вполне может произойти Remap, так как микропрограмма винчестера может посчитать такой сектор сбойным. Если Erase не поможет, тогда можно выбрать Remap, но как мы знаем, шансы, что Remap будет произведён в работающей Windows невелики.
  • Софтовые (программные) бэды в некоторых случаях можно убрать даже простым форматированием средствами самой Windows. Всю разницу между существующими бэд-блоками: физическими и программными, читайте в нашей статье . В двух словах объясню, что физические бэды (физиологически разрушившийся сектор) восстановить невозможно (возможен только ремап, переназначение), а логические (программные, ошибки логики сектора) восстановить можно.
  • Друзья, мы можем , но тогда наша статья будет ещё длиннее, это мы тоже сделаем в следующей статье.

Мне не хочется ставить эксперимент над нашим жёстким диском WDC WD5000AAKS, так как я планирую в следующей статье вылечить его от бэд-блоков в ДОС режиме с помощью загрузочной флешки с программой Виктория и всё таки вернуть хозяину вылеченный от бэдов жёсткий диск с неповреждёнными данными.

Я просто покажу Вам на другом винчестере как запустить этот тест в работающей Windows.

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

Тест в режиме чтения Read , то есть от начала к концу и жмём Start .

Часто при "обнулении" в работающей Windows будут выходить вот такие ошибки:

Block (номер сбойного сектора) try Erase 256 sectors . Переписать блок секторов не удалось.

Алгоритм Write

Режим Write не ищет никаких сбойных секторов, а просто сразу затирает всю информацию на жёстком диске путём заполнения всех секторов нулями, это и есть на жаргоне ремонтников "Запись по всей поляне", данный алгоритм способен вылечить жёсткий диск от бэдов и просто плохих секторов с большой задержкой чтения, но п осле такого теста восстановить данные на жёстком диске будет невозможно, так что скопируйте предварительно все важные файлы на переносной жёсткий диск.

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

И так вы обнаружили что у вас постоянно при загрузке появляется проверка диска, или жесткий диск стал сильно притормаживать. Вы про сканировали какой то утилитой в режиме чтения (read) или какой либо программой из этой статьи . Тем самым вы убедились в том что у вас есть медленные сектора которые отвечает дольше чем 500 мс, или BAD сектора, то это статья для Вас.

Как исправить битые сектора

Если же у Вас периодически диск пропадает или не видеться вовсе, то это уже проблема скорей всего с контроллером, кабелем(шлейфом) или питанием, а у нас же пойдет речь о БЭД секторах и очень медленно читаемых ячейках, в общем о программных ошибках жесткого диска.

Итак вы обнаружили (программа проверки HDD) что у вас есть медленные сектора на жестом диске (как правило красные или коричневые). Решение применить низкоуровневое форматирование (Erase), делаем это программой MHDD и только, забудьте программы работающие из под windows они вам не помогут типа HDDscan и Victoria.

Внимание!!! Все здесь ниже описанные операции могут привести к частичному или полному удалению информации на вашем жестком диске (HDD).

Итак грузимся с загрузочного диска где есть эта программа MHDD это сборники STEA Live, Hiren boot cd или делаете сами загрузочный диск или флешку.

Этап 1. Избавляемся от медленных (красных) секторов

Запускаем MHDD, набираем команду Erase, список всех команд можно посмотреть по команде F1, программа попросит указать диапазон сканирования, ничего не меняем нажимаем Enter по умолчанию, ждем. Если красные сектора остались то придется запустить команду Erase waits

Этап 2. Избавляемся от BAD секторов

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

Также можно чистить HDD от битых секторов в ручную, при том по не весь жесткий диск, а частично по диапазону адресов.

Выполняем команду SCAN , как только появляется BAD сектор запоминаем его номер, останавливаем процесс ESC, запускаем команду Erase и указываем диапазон в данном случае если один битый сектор то его его номер и следующий то есть прибавляем единицу, дальше снова запускаем команду Scan и смотрим при появление новых битых секторов повторяем процедуру.

На видео хорошо показан весь этот процесс:

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

P.S.: Прикладываю ссылку на видео где показана работа программы MHDD для общего ознакомления



Поделись с друзьями: Похожие статьи

комментариев 18 для записи Как восстановить поврежденные битые(BAD) сектора HDD

    Ну ты даёшь подсказчик. загрузился с MHDD написал как у тебя стоит в первом пункте Erase и стёрлась вся винда не помогло даже востановление через архив щас по новой винду ставлю.

    • Уважаемый yura200 , если вы внимательно прочитали бы статью то там написано что Erase — это низкоуровневое форматирование, ну надеюсь слово форматирование , вам понятно что делает?)

    Так нафига писать первый пункт пишите erase хорошо что после установки винды смог откатится щас всё путём. Самое интересное это то что я хотел начать это дело с диска D а там фотки видяшки семейные вот бы горя то хапнул, но хорошо что MHDD не увидел диск D и форматнулся только C диск. Пушу тут чтоб другие весь винт не подтёрли. И где в каком месте в тексте у вас написано что Erase это форматирование? Я когда использовал Mhdd использовал erase при затирке бед блоков. Исправьте текст.

    • yura200 , я очень сожалею что вы испытали такие сложности, но все что вы делаете это ваше личное желание. В тексте третий абзац:

      Итак вы обнаружили (программа проверки HDD) что у вас есть медленные сектора на жестом диске (как правило красные или коричневые). Решение применить низкоуровневое форматирование (Erase)

      P.S.: И для интереса можете посмотреть перевод, он тоже говорит о многом erase — стирать, вычеркивать (из памяти).

    Добрый день.

    Не подскажите,как заставить работать программу на ноутбуке? Ни MHDD ни Виктория не видят мой жесткий диск.

    • Данила , Вы уверены что у вас HDD в ноутбуке? а не SSD, по тому что со вторыми дисками, программы MHDD и Виктория не работают.

    Уважаемые! Если вы увидите у себя на диске при тесте оранжевые или красные, а то и Х в квадратике, то и не мучьте его, ему конец. Это людей только пытаются как то поддержать при инсульте и то видите какие они потом становятся, а железкам, после того как вы скинули фотки одна дорога на заслуженный отдых. И не слушайте и не читайте бредни о восстановлении.

    Так и есть, на ноуте ASUS X552EA программа MHDD не видит HDD WD на 500 ГБ (не SSD, и не гибридный, обычный).

    Игрался с BIOS - и так, и эдак… увы, с загрузочной фшешки программа MHDD открывается, но диска не видит, как не старался.

    Необходимо выставить режим работы HDD SATA Standart IDE ВМЕСТО SATA AHCI

    Такая проблема хочу проверить и исправить бэд сектора в dos(до этого викторией проверил в winows) Но не могу переключить с AHCI на IDE в биосе нет ничего похожего. Ноутбук hp(писали что они убрали эту функцию) Чем поможете?

    Ставьте этот жесткий диск в системник и там запускайте и если нужно настроивайте биос.

    Автору респект и уважуха! У пользователя нет средств на новый хард, а системник жизненно-необходим…, дак вот нашёл по указанной выше траектории то что кроме первых 42-х гигов крестиков, имеется ещё две третьих рабочего пространства.., и человек признателен!

    Большое спасибо за статью!

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

    Сейчас, после обработки диска ERASE’ом просканировала еще раз. Результат — ни одного БЭДа!

    Вопрос если бэды в первых 4 гигах и последних 4 гигах, причем их 2047, то есть ли смыл напрягаться для восстановления?

    • Андрей , если только вам нужно вытащить оставшиеся данные с жесткого диска, но я бы не стал использовать такой диск в дальнейшем.

    А 653 bads это совсем плохо? Erase не поможет?

    • Макс , да это совсем плохо

    Здравствуйте, bortvlad. А стоит ли заморачиваться с лечением бэдов? Windows итак мониторит и правит ячейки, насколько может. И в бэды не запишет инфу. Потеря скорости ничтожна. А замена ячеек с резервной области изменяет искомую таблицу, что, на мой взгляд, только ускорит смерть HDD. Если уж совсем туго- низкоуровневое форматирование и использовать диск для архивации фильмов, игр….Что скажете об этом софте: Low Lewel Format Tool?

От состояния жесткого диска зависят важные вещи - работа операционной системы и сохранность пользовательских файлов. Такие проблемы, как ошибки файловой системы и битые сектора (bad blocks), может привести к потере личной информации, сбоях при загрузке ОС и полному отказу накопителя.

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

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

Вы можете использовать сканеры для встроенного и внешнего HDD, а также flash-накопителя.

Если после проверки обнаружилось наличие ошибок и битых секторов, и вы хотите их устранить, то на помощь опять же придет специальное ПО.

Способ 1: Использование сторонних программ

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

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

Способ 2: Использование встроенной утилиты

Альтернативный способ устранения ошибок заключается в использовании встроенной в Windows программы chkdsk. Она умеет сканировать все подключенные к компьютеру накопители и исправлять найденные неполадки. Если вы собираетесь исправлять тот раздел, куда установлена ОС, то chkdsk начнет свою работу только при последующем запуске компьютера, либо после ручной перезагрузки.

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

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

1. Немного истории

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

Самые первые винты имели дефект-лист в виде бумажной наклейки, в которую на заводе вписывали адреса нестабильных участков. Эти устройства, представляющие собой слегка измененную копию обычного флоппи-дисковода, могли работать только под своими физическими параметрами: число дорожек, секторов и головок, указанное в их паспорте, точно совпадало с их реальным количеством. Приобретая такой девайс, пользователь читал наклейку и сам заносил адреса убитых участков в FAT. После этого операционная система переставала замечать эти дефекты, точно так же, как она не замечает бэд-блоки на дискетах, если они были убраны scandisk"ом. Вероятно, в те далекие времена и появился термин «бэд-блок»: блоком называли кластер — минимальную единицу логического дискового пространства. На физическом уровне кластер состоит из нескольких секторов, и при повреждении одного сектора ОС объявляет негодным весь кластер. Никаких других методов скрытия дефектов в то время не существовало. А когда появились способы скрывать отдельные секторы, люди не стали выдумывать новые понятия, и до сих пор успешно продолжают пользоваться словом «блок».

Прошло совсем немного времени, прежде чем изготовители додумались до очень интересной вещи: если пользователь все равно помечает bad-блоки, как ненужные, рассудили они, то почему бы не пометить их прямо на заводе? Но как это сделать, если на винте нет никакой файловой системы, и неизвестно, какая будет? Вот тогда и придумали хитрую штуку, называемую «транслятор» : на блины стали записывать специальную таблицу, в которой отмечалось, какие секторы следует спрятать от пользователя, а какие — оставить ему. Транслятор стал своеобразным промежуточным звеном, соединяющим физическую систему «диски-головки» с интерфейсом накопителя. Предполагалось, что при включении винт сначала прочитает свои внутренние таблицы, скрывая отмеченные в них адреса дефектов, а уже затем допустит к себе BIOS, ОС и прикладные программы. А чтобы пользователь случайно не затер транслятор во время работы, он был помещен в специальную область диска, недоступную обычным программам. Только контроллер винта мог получить доступ к ней. Это событие произвело настоящий переворот в винчестеростроении, и ознаменовало появление нового поколения накопителей — со служебной зоной. Для того, чтобы все винты одной модели, но с разным количеством дефектов, имели одинаковую емкость, на каждом из них стали оставлять запасные дорожки — резерв, специально предусмотренный для выравнивания емкости однотипных накопителей до стандартной заявленной величины. Его стали располагать в конце диска, возле его центра, и он тоже был недоступен пользователю. Такие винчестеры при выходе с завода не имели не одного видимого bad-сектора. Если в процессе эксплуатации появлялись новые дефекты, пользователь мог сделать низкоуровневое форматирование универсальной утилитой из BIOS материнской платы, и попытаться их скрыть. Иногда, как и на дискетах, это удавалось. Но если «нечисть» была физической, то это не помогало: добавить новые дефекты в таблицу и переписать транслятор без специальных программ было невозможно. Поэтому bad-блоки на многих старых винтах (до 1995 года), приходилось скрывать все тем же, устаревшим способом — через FAT. И лишь фирмы Seagate, Maxtor и Western Digital выпустили утилиты для скрытия дефектов с замещением их из резерва (они и по сей день валяются на некоторых ftp и называются sgatfmt4.exe, mformat2.exe и wddiag.exe соответственно).

Прошло время, и винты еще больше изменились. Стремясь увеличить плотность записи, разработчики стали применять различные нестандартные ухищрения: на пластины стали наносить сервометки , предназначенные для более точного попадания головок на дорожки. Появилась технология зонно-секционной записи (ZBR), смысл которой заключался в разном количестве секторов на внешних и внутренних дорожках. Изменился привод головок — вместо шагового двигателя стали применять позиционер в виде подвижной катушки. Да и сами головки и диски изменились настолько, что каждая фирма разработала свою структуру формата нижнего уровня, заточенную только под их технологии. Это сделало невозможным применение универсальных утилит низкоуровневого форматирования из-за того, что транслятор таких винтов научился скрывать физический формат накопителей, переводя его в виртуальный. Написанное на корпусе винта число цилиндров, секторов и головок, перестало соответствовать своим истинным значениям, и попытки отформатировать такой винт старыми утилитами, как правило, заканчивались неудачно: его контроллер отвергал стандартную ATA-команду 50h, или просто имитировал форматирование, заполняя винт нулями. Это было специально оставлено для совместимости со старыми программами. По этой же причине процедура Low-Level Format была исключена из BIOS современных материнских плат. А чтобы сделать таким винтам настоящее низкоуровневое форматирование, нужно было обойти транслятор, получив прямой доступ к физическим дорожкам и головкам. Для этого стали использовать технологическую утилиту, запускающую специальный микрокод, записанный в ПЗУ накопителя. Команда вызова этого микрокода — уникальна для каждой модели винта, и относится к технологическим командам , которые фирмой не разглашаются. Часто такое форматирование нельзя было сделать через стандартный IDE-интерфейс: многие модели винтов выпуска 90-х годов — Conner, Teac и др., а также все современные Seagate, требуют подключения отдельного разъема к терминалу через COM-порт. Что касается технологических утилит, то они никогда широко не распространялись и обычному пользователю были недоступны. Для широкого применения были написаны программы-дурилки, осуществляющие псевдо-форматирование через интерфейс: заполнение диска нулями для очистки его от информации. Это видно даже из названий этих утилит, которые можно найти на сайтах производителей хардов: wdclear, fjerase, zerofill и т.д. Естественно, никаких технологических команд в этих программах нет, и поэтому их можно применять к любым винчестерам. Такие утилиты часто оказываются полезны, помогая избавиться от некоторых видов BAD"ов, о чем мы поговорим чуть позже.

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

Попробуем разобраться, так ли это на самом деле. А заодно рассмотрим, что же такое настоящее низкоуровневое форматирование современных винчестеров, можно ли его делать самому, и что самое главное — нужно ли нам оно?

2. Подготовка винчестера на заводе

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

Современные винчестеры имеют два основных дефект-листа: один заполняется на заводе при изготовлении накопителя и называется P-list (-первичный), а второй называется G-list (от слова — растущий), и пополняется в процессе эксплуатации винта, при появлении новых дефектов. Кроме того, некоторые винты (в частности — Quantum Fireball серий ST и TM), имеют еще и лист серво-дефектов (сервометки, наносимые на пластины винчестеров, тоже иногда имеют ошибки), а многие современные модели содержат еще и список временных (pending) дефектов. В него контроллер заносит «подозрительные» с его точки зрения секторы, например те, что прочитались не с первого раза, или с ошибками.

Получив дефект-лист, приступают к скрытию дефектов. Существует несколько способов их скрытия, каждый из которых имеет свои особенности. Теоретически можно просто переназначить адреса испорченных секторов в резерв и брать их оттуда, но это вызовет потерю производительности винта, так как он, каждый раз обнаруживая сектор, помеченный как негодный, будет вынужден перемещать головки в резервную область, которая может находиться далеко от места дефекта. Если переназначенных секторов будет много — производительность накопителя очень сильно упадет, так как большую часть времени он будет затрачивать на бесполезное дёрганье головками. Более того, быстродействие винтов с разным количеством дефектов будет сильно различаться, что конечно же, при массовом производстве недопустимо. Такой метод скрытия дефектов получил название «метод замещения» или ремап (от английского: remap — перестройка карты секторов).

Из-за многочисленных недостатков, присущих ремапу, при промышленном изготовлении винтов такой метод никогда не применяют, а используют другой алгоритм: после выявления всех дефектов, адреса всех исправных секторов переписываются заново, так, чтобы их номера шли по порядку. Плохие сектора просто игнорируются и в дальнейшей работе не участвуют. Резервная область также остается непрерывной и ее часть присоединяется к концу рабочей области — для выравнивания объема. Такой способ скрытия бэдов сложнее в реализации, чем ремап, но результат стоит затраченных на него усилий — при любом количестве неисправных секторов, замедления работы накопителя не происходит. Этот, второй основной тип скрытия дефектов получил название «метод пропуска сектора» . (Существуют и другие алгоритмы заводского скрытия дефектов, например путем исключения целой дорожки, или при помощи запасного сектора на каждой дорожке, но они имеют недостатки и поэтому в современных накопителях практически не используются).

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

3. Новые технологии

Теперь понятно, почему фирменные утилиты не делают никаких операций, связанных с прямым доступом к служебной области. Ведь скрытие дефектов форматированием — это практически полный ремонтный цикл, основанный на внешних параметрах и связанный с четким пониманием каждого шага. И достаточно сделать что-то неправильно, чтобы угробить накопитель. Приведем простой пример: пользователь решил сделать «настоящее» низкоуровневое форматирование путем запуска подпрограммы ПЗУ в технологическом режиме. Процесс обычно длится 10-60 минут, но тут случается перебой с питанием или банальное зависание — и винт остается без транслятора, т.к. просто не успевает его заново создать. Это означает, что к дальнейшей работе такой девайс будет непригоден — его просто не увидит ни ОС, ни BIOS. Страшно даже представить, сколько накопителей может быть убито таким образом, из простого любопытства или по ошибке. Особенно, если эти утилиты попадут в руки чайников, запускающих на своих компах все подряд и нажимающих RESET вместо. Конечно, диск портится не безвозвратно, и повторным запуском форматирования можно вернуть его к жизни. Но мышление у большинства пользователей устроено так, что столкнувшись с проблемами (не определяющийся в BIOS труп вместо винта), многие впадают в панику, обвиняя во всем производителей. А им лишний геморрой, естественно не нужен — гораздо важнее заставить винт отработать гарантийный срок. Поэтому несколько лет назад в накопители стали закладывать возможность самостоятельно «ремонтировать» сбойные участки — делать ремап. Как было сказано раньше, ремап не нашел применения при заводской подготовке накопителей, но оказался очень удачным решением для скрытия дефектов в бытовых условиях. Преимущества ремапа перед внутренним форматированием — отсутствие перевода винта в технологический режим, быстрота проведения и безопасность для накопителя. Кроме того, во многих случаях ремап можно делать без сноса файловой системы, и без связанного с этим уничтожения данных. Эта технология получила название automatic defect reassignment (автоматическое переназначение дефектов), а сам процесс — reassign. Таким образом remap и reassign — это по большому счету одно и тоже, хотя термин reassign обычно применяют к отдельному сектору, а remap — ко всему диску.

Работает ремап следующим образом: если при попытке обращения к сектору происходит ошибка, «умный» контроллер понимает, что данный сектор неисправен, и «на лету» помечает его как BAD. Его адрес тут же заносится в таблицу дефектов (G-list). У многих винтов это происходит настолько быстро, что пользователь даже не замечает обнаружение дефекта и его скрытие. Во время работы винт постоянно сравнивает текущие адреса секторов с адресами из таблицы и не обращается к дефектным секторам. Вместо этого он переводит головки в резервную область и читает сектор оттуда. К сожалению, из-за времени, затрачиваемого на дальнее позиционирование, такие секторы будут выглядеть, как небольшие провалы на графике чтения. Тоже самое будет и при записи. Поэтому инженеры фирмы Quantum пошли еще дальше и почти устранили основной недостаток ремапа, воплотив свои идеи во многих моделях серии Fireball: у этих накопителей имеется по одному запасному сектору на каждой дорожке, ремап происходит в этот сектор, и задержки практически отсутствуют.

Если ошибка возникает во время обычной работы ОС, автоматический ремап происходит крайне редко. Это связано с тем, что, на большинстве хардов, reassign срабатывает только при записи. А многие ОС перед записью проверяет сектор на целостность, и обнаруживая ошибку, отказывается в него писать. Поэтому, в большинстве случаев для производства ремапа винт надо об этом «попросить» — произвести принудительную низкоуровневую перезапись сектора в обход стандартных функций ОС и BIOS. Это делается программой, способной обращаться к винту напрямую через порты IDE-контроллера. Если во время такой записи возникнет ошибка, контроллер автоматически заменит этот сектор из резерва, и BAD исчезнет.

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

Наиболее распространенным мифом среди пользователей является утверждение, что для каждого винта нужна своя, «особая» программа скрытия дефектов, а также то, что ремап — это низкоуровневое форматирование. На самом деле это не так. Ремап — это всего лишь разновидность записи информации стандартными средствами, и в большинстве случаев любые утилиты для ремапа могут применяться к любым винтам. Ремап делают не внешние программы, а контроллер винта. Только он принимает решение о переназначении дефектных секторов. Испортить накопитель «чужие» программы тоже не могут, так как технологические команды в них не используются, а в обычном режиме винт никогда не позволит сделать с собой ничего, кроме стандартных операций чтения-записи. Единственное различие между фирменными утилитами заключается в количестве попыток записи/чтения/верификации для разных винтов. Для того, чтобы контроллер «поверил», что в секторе имеется подлежащий скрытию BAD, некоторым хардам достаточно одного цикла, а другим — нескольких.

4. Снова о S.M.A.R.T.

Почти все винчестеры, выпущенные после 95-го года, имеют систему оперативного наблюдения за своим состоянием — S.M.A.R.T. (Self Monitoring And Reporting Technology). Эта технология позволяет в любое время оценить такие важные параметры накопителя, как количество отработанных часов, число возникших в процессе чтения/записи ошибок и многое другое. Первые винчестеры, оснащенные этой системой (например WD AC21200) имели очень несовершенный SMART из четырех-шести атрибутов. Но вскоре был разработан стандарт SMART-II, и с момента его появления в большинстве накопителей появилась такая особенность, как внутренняя диагностика и самоконтроль. Эта функция основана на проведении серии автономных внутренних тестов, которые можно запустить стандартными ATA-командами, и предназначена для углубленного контроля за состоянием механики накопителя, поверхности дисков и многих других параметров. После выполнения тестов, накопитель в обязательном порядке обновляет показания во всех SMART-атрибутах, в соответствии со своим текущим состоянием. Время тестирования может варьироваться от нескольких секунд (Quantum) до 54 минут (Fujitsu MPG). Активизировать тесты SMART можно, например, программой MHDD (консольная команда «smart test»). После запуска тестов возможны «странные» явления, очень похожие на те, что возникают при работе дефрагментатора: непрерывное горение индикатора HDD и звук интенсивного движения головок. Это нормальное явление: винт сканирует поверхность для поиска дефектов. Нужно просто подождать некоторое время, пока самотестирование закончится, и винт успокоится.

Совсем недавно появилась спецификация SMART-III, в которой имеется не только функция обнаружения дефектов поверхности, но и возможность их восстановления «на лету» и многие другие новшества. Одной из его разновидностей стала система Data Lifeguard, применяемая в новых накопителях Western Digital. Ее суть заключается в следующем: если к винту не происходит никаких обращений, он начинает самостоятельно сканировать поверхность, выявляя нестабильные секторы, и при их обнаружении переносит данные в резервную область. После чего делает ему reassign. Таким образом данные оказываются спасены еще до того, как на этом месте возникнет настоящий BAD. В отличие от SMART-мониторинга, Data Lifeguard не может быть отключен внешними командами и работает постоянно. Поэтому «видимые» BAD-блоки на современных винчестерах Western Digital практически никогда не появляются.

Для просмотра smart-статуса жесткого диска используют программы, называемые smart-мониторами. Один из них входит в состав комплекса HddUtil для DOS и называется smartudm. Скачать его можно здесь: www.sysinfolab.com/files/smartudm.zip . Эта программа работает с любыми жесткими дисками и контроллерами. Кроме того, в комплекте с этой прогой идет подробная документация с описанием всех атрибутов. Существуют SMART-мониторы и для Windows 9x, например, очень популярны SiGuardian (http://www.siguardian.ru/) и SmartVision (www.acelab.ru/products/pc/utility.smart203.zip), но они могут не работать на некоторых системах. Объясняется это тем, что программы работают с винтом напрямую, через порты, а bus mastering-драйвера некоторых чипсетов мешают этому. Обладателям Windows XP стоит обратить внимание на монитор SmartWiew www.upsystems.com.ua/ — прога корректно работает в этой системе даже на чипсетах VIA.

Между атрибутами SMART и состоянием поверхности существует некоторая взаимосвязь. Рассмотрим те из них, которые имеют прямое отношение к bad-блокам:

Reallocated sector count и Reallocated event count : число переназначенных секторов. Эти атрибуты показывают количество секторов, переназначенных ремапом в Grown дефект-лист. У новых винтов они обязательно должны быть равны нулю! Если их значение отличается от нуля, то это означает, что винт уже был в употреблении, на нем появлялись бэды, и ему был сделан ремап. А у винтов Fujitsu эти атрибуты могут самопроизвольно увеличиваться из-за некачественного питания. Будьте внимательны при покупке б/у!

Raw read error rate : количество ошибок чтения. У многих хардов (например у Seagate и Fujitsu) они всегда выше нуля, но если значение Value находится в пределах нормы (зеленая зона), опасаться нечего. Это «мягкие» ошибки, успешно скорректированные электроникой накопителя и не приводящие к искажению данных. Опасно, когда этот параметр резко снижается за короткий срок, переходя в желтую зону. Это говорит о серьезных проблемах в накопителе, о возможном появлении бэдов в ближайшее время, и о том, что пора делать backup важных данных.

Current Pending Secto r: этот атрибут отражает содержимое «временного» дефект-листа, присутствующего на всех современных накопителях, т.е. текущее количество нестабильных секторов. Эти секторы винт не смог прочесть с первого раза. Поле raw value этого атрибута показывает общее количество секторов, которые накопитель в данный момент считает претендентами на remap. Если в дальнейшем какой-то из этих секторов будет прочитан (или переписан) успешно, то он исключается из списка претендентов. Постоянное значение этого атрибута выше нуля говорит о неполадках в накопителе.

Uncorrectable Sector : показывает количество секторов, ошибки в которых не удалось скорректировать ECC-кодом. Если его значение выше нуля, это означает, что винту пора делать ремап: не исключено, что во время записи данных ОС нарвется на этот сектор и в результате какая-нибудь важная инфа или системный файл окажутся испорчены. Однако, у некоторых винтов, например у Fujitsu MPG, этот атрибут почему-то не сбрасывается и после ремапа, поэтому доверять его показаниям необязательно.

5. Виды дефектов и причины их появления

Настало время разобраться, а отчего, собственно, возникает такая неприятность, как бэды? В UPGRADE #49 мы рассмотрели лишь внешние причины, способствующие их возникновению. А теперь пришло время взглянуть на проблему с другой точки зрения — со стороны самого винчестера. Для этого рассмотрим структуру сектора, в том виде, каким его видит электроника винта «изнутри»:

Рис. 1. Упрощенная структура сектора жесткого диска.

Как видно из рисунка 1, все намного сложнее, чем могло показаться на первый взгляд, даже с помощью дискового редактора. Сектор состоит из заголовка-идентификатора и области данных. Начало сектора помечается специальным байтом — адресным маркером (1). Он служит для сообщения контроллеру о том, что сектор находится под головкой. Затем следуют ячейки, в которых содержится уникальный адрес сектора в формате CHS (2) и его контрольная сумма — для проверки целостности записанного адреса (3). 512 байт данных пользователя помещаются в отдельном поле (4), к которому при записи добавляется несколько десятков байт избыточной информации, предназначенной для коррекции ошибок чтения с помощью ECC-кода (5). Рядом с данными размещается 4 байта циклической контрольной суммы (CRC) данных, которая служит для проверки целостности данных пользователя, и сообщения системе коррекции ошибок при ее нарушении (6). Для более надежной работы сектора при колебаниях скорости вращения имеются байты-пробелы (7). У некоторых винчестеров имеется дополнительный байт после AM — в нем сектор помечается как BAD.

Пока структура формата не нарушена, винчестер работает исправно, четко выполняя свои обязанности — хранение информации. Но стоит вмешаться злым силам — и в зависимости от вида разрушений, они проявляются как BAD"ы разной степени тяжести.

Дефекты можно разделить на две большие группы: физические и логические. Рассмотрим каждый их вид подробно.

Физические дефекты

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

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

Однако в процессе эксплуатации винта, некоторые сервометки могут оказаться разрушены. Если дохлых сервометок станет слишком много, в этом месте начнут происходить сбои при обращении к информационной дорожке: головка, вместо того, чтобы занять нужное ей положение и прочитать данные, начнет шарахаться из стороны в сторону. Это будет выглядеть как жирный и особо наглый BAD, или даже как группа BAD"ов. Их присутствие часто сопровождается стуком головок, зависанием накопителя и невозможностью исправить его обычными утилитами. Устранение таких дефектов возможно только специальными программами, путем отключения дефектных дорожек, а иногда и всей дисковой поверхности. Для этих целей в некоторых накопителях имеется серводефект-лист, хранящий информацию о плохих сервометках. В отличие от P- и G-листа, серводефект-лист используется не транслятором, а всей микропрограммой винта. К секторам, имеющим дефектные сервометки, блокируется доступ даже по физическим параметрам, что позволяет избежать стуков и срывов при обращении к ним. Самостоятельно винт восстановить сервоформат не может, это делается только на заводе.

Аппаратные BAD"ы . Возникают из-за неисправности механики или электроники накопителя. К таким неполадкам относятся: обрыв головок, смещение дисков или погнутый вал в результате удара, запыление гермозоны, а также различные глюки в работе электроники. Ошибки такого типа обычно имеют катастрофический характер и не подлежат исправлению программным путем.

Логические дефекты

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

Исправимые логические дефекты (софт-бэды) : появляются, если контрольная сумма сектора не совпадает с контрольной суммой записанных в него данных. Например из-за помех или отключения питания во время записи, когда винт уже записал в сектор данные, а контрольную сумму записать не успел (рис 1). При последующем чтении такого «недописанного» сектора произойдет сбой: винт сначала прочитает поле данных, потом вычислит их контрольную сумму и сравнит полученное с записанным. Если они не совпадут, контроллер накопителя решит, что произошла ошибка и сделает несколько попыток перечитать сектор. Если и это не поможет (а оно не поможет, так как контрольная сумма заведомо неверна), то он, используя избыточность кода, попытается скорректировать ошибку, и если это не получится — винт выдаст ошибку внешнему устройству. Со стороны операционной системы это будет выглядеть как BAD. Некоторые винты имели повышенную склонность к образованию софт-бэдов из-за ошибок в микропрограмме — при определенных условиях контрольные суммы вычислялись неправильно; у других это происходило из-за дефектов механики. Например, у IBM DTLA периодически нарушался контакт между платой и гермоблоком, что приводило к пропаданию питания гермоблока в самое неподходящее время, в том числе и при записи.

Операционная система или BIOS не могут исправить логический дефект самостоятельно, так как прежде чем писать в сектор, они проверяют его на целостность, нарываются на ошибку и отказываются писать. При этом контроллер винта эту ошибку скорректировать тоже не может: он тщетно пытается прочитать этот сектор со второй, с третьей попытки, и когда это не получается — он всеми силами пытается себе помочь, на ходу подстраивая канал чтения и сервосистему. При этом и раздается тот самый душераздирающий скрежет, так хорошо знакомый владельцам бэдастых «дятлов». Этот скрип производят не «головки по поверхности», как многие привыкли думать, а всего лишь катушка позиционера, из-за специфической формы тока, протекающего через нее, и он абсолютно безопасен. Адрес непрочитанного сектора попадает во временный дефект-лист, изменяя значение атрибута Current Pending Sector в SMART, и сохраняется в нем. Ремапа при чтении не происходит.

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

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

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

Если в процессе эксплуатации винта адаптивы окажутся разрушены (это может случиться в результате ошибок в самом винте, статического электричества или из-за некачественного питания), то последствия могут быть непредсказуемы: от банальной кучи бэдов до полной неработоспособности девайса, с отказом выходить на готовность по интерфейсу. «Адаптивные» бэды отличаются от обычных тем, что они «плавающие»: сегодня они есть, а завтра могут исчезнуть и появиться совсем в другом месте. Ремапить такой винт бесполезно — дефекты-призраки будут появляться снова и снова. И при этом дисковая поверхность может быть в безупречном состоянии! Лечатся адаптивные бэды прогоном selfscan"а — внутренней программы тестирования, аналогичной той, что применяется на заводе при изготовлении винтов. При этом создаются новые адаптивы, и винт возвращается к нормальному состоянию. Это делается в условиях фирменных сервис-центров.

Намечающиеся дефекты

Это участки поверхности, на которых еще не сформировался явно выраженный дефект, но уже заметны проблемы со скоростью чтения. Это происходит от того, что сектор не читается контроллером с первого раза, и винт вынужден делать несколько оборотов диска, пытаясь прочитать его без ошибок. Если прочитать данные все-таки удается, то винт ничего не сообщит операционной системе, и ошибка останется незамеченной до тех пор, пока на этом месте не возникнет настоящий BAD-блок. Как правило, тут же выясняется, что именно на этом месте хранился очень важный файл, в единственном экземпляре, и спасти его уже нельзя. Поэтому диски нужно периодически тестировать. Это можно делать программой Scandisk или Norton Disk Doctor в режиме тестирования поверхности, но лучше — специальной утилитой, работающей независимо от файловой системы и умеющей выявлять намечающиеся BAD"ы, замеряя время чтения каждого сектора.

О практике работы с секторами рассказано .

Запускаем нашу программу и видим следующее окно:

Выбираем в меню "regeneration" (восстановление) пункт "start process under windows" (запустить процесс из под windows). Чтобы приступить к сканированию сбойных секторов или бэд блоков нам надо сначала "объяснить" программе, что конкретно мы хотим делать.

В следующем окне нам надо выбрать винчестер для сканирования. В нашем случае он - один, выделяем его и нажимаем надпись "start process".


Продолжаем. В следующем окне нас попросят указать вариант сканирования диска. Советую сразу выбрать первый вариант "scan and repair" (сканировать и восстанавливать). Просто вводим с клавиатуры цифру «1», как показано на скриншоте.



И в последнем окне перед самим сканированием сбойных секторов нас "спрашивают" с какого сектора на начать сканирование? Советую оставить цифру «0». Это обеспечит сканирование диска полностью.



Нажимаем клавишу "Enter" и запускаем сканирование на бэд блоки. Мы рассмотрим весь процесс на примере диска, который содержит сбойные сектора. Обратите внимание на скриншот ниже, на нем мы видим прогресс сканирования (белая полоса) и на ней - три, найденные программой, сбойных сектора.



Разберем этот скриншот подробнее: справа вверху мы видим прошедшее с момента запуска сканирования бэд блоков время и время, оставшееся до завершения процесса. При обнаружении сбойных секторов на диске, программа помечает их английской буквой «B» и тут же пытается "вылечить". Если это ей удается, то на месте буквы «В» появляется буква «R», которая говорит об успешном "восстановлении" бэд блока. В левом нижнем углу мы видим статистику по просканированным мегабайтам, а также количество найденных «В» и "вылеченных" «R» сбойных секторов.

По завершению сканирования мы увидим вот такое окно:



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

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



Именно об этом и "говорят" нам следующие надписи на скриншоте выше: «4 new bad sectors appear» и «18 bad sectors appear» это - вновь появившиеся на жестком диске сбойные области, обнаруженные при повторном сканировании. Такой диск еще может весьма успешно использоваться некоторое время в качестве дополнительного и на нем можно хранить различную (не очень нужную) информацию и временные файлы. Но вот как надежный носитель информации или - системный диск он не подходит нам однозначно!

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

В дополнение к сказанному, я бы хотел отметить еще одну очень полезную функцию программы «HDD Regenerator». Она может записывать свой загрузочный образ на компакт диск.

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

Давайте разберем эту возможность. В самом начале после запуска программы в меню "regeneration" выбираем пункт "create bootable CD/DVD" (создать загрузочный CD или DVD диск).

В следующем окне выбираем наше записывающее устройство, установленное в системе.



Нажимаем кнопку «OK», вставляем чистый диск в устройство и переходим в последнее окно непосредственно перед записью диска. Здесь нам предлагают выбрать скорость записи. Выбираем и нажимаем кнопку "Burn CD" (записать CD).



После окончания записи берем наш (теперь уже загрузочный диск) с программой «HDD Regrenerator», вставляем его в компьютер, на котором мы хотим провести проверку на сбойные сектора. Выставляем на нем загрузку с CD и видим меню, в котором программа показывает нам найденные ей жесткие диски компьютера.



Как видите, у нас их - два. Выбираем (к примеру) второй (вводим с клавиатуры цифру "2") и нажимаем "enter". Далее видим следующее окно.



В нем есть несколько вариантов сканирования винчестера на сбойные сектора:

  1. Сканировать, но не исправлять найденные бэд блоки
  2. Сканировать с исправлением таких секторов
  3. Просмотреть информацию о самой программе

Вводим с клавиатуры цифру "2" (выбираем второй вариант). Видим вот такое окно.



Здесь указываем, что сканировать будем сразу с восстановлением бэд секторов. Нажимаем цифру "1", потом - "enter" и дальше запустится уже знакомый нам процесс тестирования.

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

Были в моей практике такие случаи. Жесткий диск SATA был подключен через переходник «molex to sata»:



Программа диагностики находила на нем массу бэд блоков, но как только мы поставили соответствующий (у которого присутствовали разъемы питания Sata), проблема исчезла. Так что крепко запомните, - любые переходники это - вынужденное зло и если без них можно обойтись, - избавляйтесь от них немедленно!

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