Сегодня 28 марта 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Накопители

Bad-блоки HDD (продолжение)

⇣ Содержание

В предыдущей статье мы выяснили причины появления бэд-блоков. Мы поняли, что явление это далеко не самое приятное. А с неприятностями обычно принято бороться. Поэтому сегодня, мы будем говорить о том, какими средствами и как это нужно делать, да и собственно нужно ли.


Ошибки файловой системы

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

Способ первый: логические размышления подсказывают - необходим инструмент умеющий создать на диске нормальную файловую систему. Такой инструмент доступен всем в составе операционной системы - утилита format. Нужно загрузиться в MS-DOS и выполнить полное (именно полное) форматирование диска (команда format x: /c, x - диск с неправильной FAT, c - ключ включающий проверку кластеров поме-ченных как поврежденные). Быстрое форматирование здесь не годиться, так как оно производит лишь очистку оглавления и сохраняет информацию о бэдах. Форматирование можно выполнить и из Windows, правда для меня методы его работы до сих пор остаются загадкой и результат порой получается непредсказуем (сталкивался с тем, что снимался статус дефектного даже с физически поврежденных секторов, что приводит к более сложным проблемам. Похоже, что "Окна" просто сбрасывают статус дефектности в FAT, не вдаваясь в подробности, хотя и не всегда).

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

Способ второй состоит в приобретении программы Power Quest Partition Magic, в которой есть функция Bad Sector Retest. Она проверит именно помеченные бэд сектора, и оставит нетронутой информацию на диске.


Более продвинутые пользователи могут воспользоваться Norton Disk Editor или любым другим редактором диска и вручную пометить/разотметить нужные сектора. Программу для этих целей несложно написать и самостоятельно. Но нет нужды. Как узнать что имеющийся дефектный блок именно этого вида? Никак. Можно только попробовать (при отсутствии уверенности настоятельно рекомендую пользоваться первыми двумя методами, так как двумя последними можно ввести в обращение сбойный или нестабильный блок, нажив тем самым себе большую проблему). Если это его тип - он исчезнет и больше никак проявляться не будет. Если же нет - пробовать другие способы.

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

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

И хотя мы немного больше разобрались с тем, чем обусловлена ошибка, легче не стало, так как мы выяснили, что ее нельзя исправить обычными средствами. Необычными средствами являются программы, обращающиеся к накопителю не через функции ОС и BIOS, а через порты ввода-вывода. Таких программ на самом деле море, в большинстве случаев осуществляют принудительную запись какого-то содержимого в сектор (обычно нулей), накопитель подсчитывает и записывает ECC. После этого нужно осуществить проверку прочитав сектор - ошибки нет - хорошо, сектор оказался именно таким, как мы ожидали и был успешно излечен. Нет - увы… Видимо, раз здесь не ошибка FAT и не излечился , он, видимо, имеет физическую природу.

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

Кроме производителей винчестеров выпуском сервисных программ занимаются сторонние компании и просто энтузиасты. Так бесплатно доступна очень полезная программа неписанная нашим программистом - MHDD (скачать ее можно здесь. На момент написания статьи была доступна версия 2.9), которая может помочь в данной ситуации. Схема действий следующая: программу записываем на системную дискету и загружаемся с нее. Изучаем состояние SMART с помощью внешнего SMART-монитора (бесплатным SMARTUDM например) и не полагаясь на свою память, сохраняем результаты в файл.






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


По завершении производим проверку поверхности диска -нажимаем F4 и выби-раем и в верхней строчке выбираем наш режим работы (скорее всего это будет LBA, но вам видней), и еще раз жмем F4 (можно ввести в консоли команду SCAN). Смотрим на предмет наличия наших бэдов.



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

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

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

Следующая страница →
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Экшен-платформер Nine Sols от создателей Devotion наконец получил дату выхода — это смесь Hollow Knight и Sekiro: Shadows Die Twice в стиле даопанка 10 мин.
Разработчики Homeworld 3 раскрыли, как улучшат игру после критики фанатов 2 ч.
Экс-глава EA Russia Тони Уоткинс сделает Astrum Entertainment «компанией №1» на российском рынке видеоигр 4 ч.
Магазин чат-ботов ChatGPT провалился, но им пользуются ученики школ и университетов 4 ч.
Diablo IV добавили в Game Pass, но для игры на ПК всё равно нужен Battle.net 4 ч.
Canonical увеличила срок поддержки LTS-релизов Ubuntu до 12 лет 5 ч.
Claude 3 Opus сбросила GPT-4 с первого места в рейтинге языковых моделей 5 ч.
Intel Gaudi2 остаётся единственным конкурентом NVIDIA H100 в бенчмарке MLPerf Inference 6 ч.
Яндекс представил третье поколение нейросетей YandexGPT 6 ч.
«Мы нанимаем сценаристов, а не заставляем ChatGPT писать диалоги за них»: глава Larian высказался о потенциале ИИ в разработке игр 6 ч.