Проклятье одного HDD

Совсем недавно собрав от скуки смертной и от избытка запчастей 486sx-33, начал на нём проводить разного рода эксперименты. То dos странный установлю, то потом разделы на диске начинаю перебивать. Работал 486sx-33 до последнего времени без проблем, пока у него не случилось что-то с жёстким диском. И не сказать, что уж очень старый был, без bad блоков. Правда размер у читателя может вызвать смех, он всего 509 мб. Но стоит тогда заметить, что проблемы, которые будут описаны ниже, могут рано или поздно коснуться и вашего супер нового жёсткого диска.

Так что же случилось? В один прекрасный день, я решил установить поверх PC-DOS 7.0, красивую оболочку WINDOWS 95 OSR2. Которая, как оказалось, когда работала, частенько выдавала ошибку защиты. Не мудрено ведь процессор был 486sx-33 и даже с 20 мб оперативной памяти окошки чувствовали себя неуютно. И решил я тогда без задней мысли запустить defrag.exe. Это было одно из ухищрений, чтобы ускорить работу. Но потом я остановил оптимизацию. Вышел. А позже когда пришёл назад, вместо загрузки виднелась всего лишь табличка БИОСа. И ничего не работало. Ерунда с кем не бывает? После чего загрузившись с системной дискеты набрал в командной строке дискеты FDISK /MBR, а затем SYS C:. Но вместо этого получил ответ об ошибке записи на жёсткий диск. Меня это насторожило. Тогда недолго думая, я решил уничтожить PC-DOS и установить MS-DOS 6.22. Вновь запустил FDISK, удалил разделы, перезагрузил компьютер. Когда же попытался создать новые выяснилось, что HDD проверяется на целостность по несколько часов. Конечно, это удивило. Умные люди сказали, что это программные bad.
Под bad-блоком понимается обычно конкретный участок диска, нормальная работа с которым не гарантируется или невозможна вовсе. Там могут оказаться данные пользователя или служебная информация, в этом случае последствия могут быть очень печальными. Появление “плохих” секторов может быть обусловлено разными причинами, в одном случае такие секторы можно восстановить, в другом нельзя, в одном нужно использовать одни методы лечения и переназначения в другом другие.
Читатель может возмутиться: “А в новых HDD или винтов со SMART бэдов нет!” Увы, но это участь не только старых жёстких дисков, как у меня на 509 мб. Но и новых очень дорогих. Технология изготовления пластин была несовершенная тогда, и несовершенна сейчас. Не существует методов создания идеальной поверхности, не содержащей ни одного плохого блока, вопреки встречающемуся мнению, что с завода винчестер поставляется без них. С ростом объема дисков росло количество сбойных секторов при выходе с завода, и, понятно, что только до определенного момента процедура их регистрации в FAT могла выполнятся в ручную, нужно было найти способ маркировать бэды, даже не смотря на то, что не известно, какая файловая система будет использоваться. Изобретение транслятора позволило решить эти проблемы. На винчестере выделялась специальная защищенная область, куда записывался транслятор, в котором устанавливалось соответствие каждого логического блока непрерывной цепочки и реального физического адреса. Если вдруг на поверхности обнаруживался сбойный блок, то он просто пропускался, а данному логическому блоку присваивался адрес следующего физического доступного блока. Транслятор считывался с диска при включении. Создание его выполнялось (и выполняется) на заводе, и именно по этому, а не от того, что производителем применяется какая-то супер технология, новые диски как бы не содержат “плохих” блоков. Физические параметры оказались скрыты (и они слишком рознились, так как у фирм оказались развязаны руки в производстве своих собственных форматов низкого уровня, и пользователя это не заботило), дефекты помечались на заводе, универсальность увеличилась.
А ведь знакомые подсказывали верно, говоря о программных bad. Ведь можно исключить ошибки FAT, так как раздел не создавался, можно исключить и скорую кончину поверхности пластин HDD, ведь они до этого момента были в замечательном состоянии. Остаются программные или вернее говорить логические bad. Происхождением в основном они обязаны ошибкам записи на диск. Чтение произвести с такого сектора не удается, так как обычно в нем ЕСС код не соответствует данным, а запись обычно невозможна, так как перед записью осуществляется предварительная проверка подлежащего записи пространства, и поскольку с ней уже обнаружены проблемы, запись в данную область отклоняется. Т.е. получается блок невозможно использовать, хотя физически поверхность, им занимаемая в полном порядке. Дефекты подобного рода могут быть иногда вызваны ошибками в микропрограмме винчестера, могут быть спровоцированы программным обеспечением или техническими причинами (например перебоем питания. Но если удается привести в соответствие содержимое сектора и его ECC-код, то такие блоки бесследно проходят. Почесав затылок, я решил испробовать один верный способ уничтожения всего на HDD. Помниться ещё при помощи FDISK с MS-DOS 5.0 умудрился таки похоронить раздел с LINUX и в довесок QNX, причем на современном компьютере с нормальным большим жёстким диском. Как? Очень просто. Нужно загрузиться с загрузочной дискетки, запустить FISK, нажать 3, нажать 4 (удалить разделы не являющиеся разделами DOS) и похоронить всё от WINDOWS XP до LINUX. То же только в уменьшенном масштабе я попытался провести на своём 486sx-33. Но какова была моя радость, когда FDISK с первого захода создал разделы. Вот и окончилась моя эпопея. Но вместо радости ждало очередное разочарование. Во время форматирования раздела диска, неожиданно выскочила надпись NOT READY. Затем FORMAT.COM просветил меня, что на диске испорчена дорожка “0”. Хотя в разделе D: она почему-то тоже испортилась. Паранойя! Со злости я начал рыться в своей сотни дисков в поисках, на мой взгляд спасительной утилиты – MHDD
http://www.fdd5-25.net/sys/mhdd.rar. После загрузки MHDD нужно нажать shift+f3: программа проскандирует IDE каналы, затем следует выбрать нужный и нажать f2. После этого получите информацию о жёстком диске. Программа видит любые рабочие HDD. Ей все равно разбиты ли они, или не определены БИОСом, или что материнская плата не поддерживает HDD такого объема.
После всех злоключений нажмите f4 и поменяйте HCS на LBA. Затем f4 еще раз. По экрану побегут прямоугольники — информация о них справа. Чем более мутный прямоугольник для серых, тем больше времени потребовалось на их чтение, цветные
говорят о том, что время отведенное на чтение вышло, чем ниже цвет по меню, тем
больше времени потребовалось на чтение. Вопросительный знак “?” говорит о том, что максимальное время на чтение вышло, “х” показывает место сбойного кластера. Если есть признаки или наличие bad, то следует воспользоваться нулевым форматирование (заполнение жёсткого диска нулями).
Для этого наберите “erase” или “aerase” (она работает дольше, поэтому лучше напишите первое). Со временем вы сможете форматировать или проверять отдельные части диска, а пока поставьте минимальное и максимальное значения цилиндров или кластеров, он вам сам подскажет, что написать. Внимание!!! Перед форматированием убедитесь, что на диске нет нужных для вас данных или они скопированы, диск будет отформатирован полностью, не смотря на то разбит он или нет, а то даже ребята из КГБ не восстановят. После начала форматирования побегут цифры — отформатированные кластеры. Если у вас большой диск, то можете смело идти на работу или учебу (мой диск 20Гб он форматировал часов 5 — 6). Если bad остались опять нажмите “f4” и включите опцию remap: on при этом данные потеряны не будут, кроме той, что находились в самих бэдах. если это не помогло, то попробуйте отформатировать путем “aerase”. Она обнуляет диск по-другому, но работает медленнее.
Самое забавное, что меня никто не предупредил, что любимая MHDD, так отлично работавшая на моём Pentium, выдаст run time error на 486sx, хотя и запускается и даже пытается работать в среде MS-DOS 6.22. Жёсткий диск не восстанавливался, настроение становилось хуже. Накатывали уже и совсем мрачные мысли:

Отказал ряд аппаратных средств
Жёсткий диск умер – из-за отказа дисковых контроллеров, соединительных кабелей, оперативной памяти или центрального процессора компьютера. Вздор!!! Сам собирал 486-й. А ведь мог же?

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

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

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

Хотя мне и было уже совсем грустно, я не терял надежды завести и заставить работать свой диск. По совету своего знакомого диск подвергся обнулению при помощи утилиты FomSoft
http://www.fdd5-25.net/sys/fomsofte.zip — это специализированный дисковый и файловый редактор. Он предназначен для применения в качестве инструментального средства по восстановлению данных на винчестерах. Включив программу, я направился на работу, оставив в её распоряжении всё дисковое пространство. По окончанию форматирования диск оказался опустошенным на все 100%. Радостно перебрав загрузочные дискеты, я начал загрузку MS-DOS 5.0. К моей радости FDISK быстро без запинок создал нужные мне разделы. И я приступил к форматированию диска “C:”, но как только утилита перевалила за 17% не весть откуда попёрли десятки bad, которые она пыталась восстановить. Задача? Посыпался? Только я так подумал, как надпись “NOT READY” выскочила на экране. Я не мог поверить своим глазам. Только что всё было более или менее хорошо и здесь такие дела.
Тогда же была использована тяжёлая артиллерия
http://www.fdd5-25.net/sys/dm.zip — DISK MANAGER. Утилита 1987 года выпуска. Старая как, конституция Речи Пасполитой. Но! Работоспособная и готовая к действиям. В связи с тем, что у меня в БИОСе нет утилит низкоуровневого форматирования, пришлось воспользоваться именно DISK MANAGER. Покряхтев жёстким диском несколько часов — всё было кончено. Утилита DISK MANAGER очистила полностью винчестер. Ни байта, не даже бита данных. Я вновь повторил операцию с загрузкой DOS. И вновь, увы, ничего!
Проклятая надпись: “Not ready” появилась в консоли. Контроллер жёсткого диска – оказался полным трупом. И никакая программа, кроме моего паяльника не смогла бы ему помочь. Что же? Остаётся ехать за новым 500 мб жестким диском, за который в очередной раз придётся отдать целых 5USD? Кому-то этот материал может показаться бесполезным. Я так не считаю. На примере старой модели HDD я описал программы, которые возможно всё же помогут восстановить ваш – современный жёсткий диск.
Наверное, нет смысла спорить с тем, что винчестер — это самый ненадежный компонент вашего компьютера, механика остается механикой и вечно служить не может. Как мы выяснили наибольшую неприятность для еще трудоспособного диска, представляют так называемые bad-блоки (кластер, состоящий из нескольких секторов), а так же разного рода сбои в самой электроники. Так что не забывайте главного. Всегда делайте резервные копии!
Прошло немного времени, и я решился сделать последний рывок, попытку, воскресить мёртвый жёсткий диск. Специально для этого была запущена утилита DISKEDIT (c)SYMANTEC и каким-то странным образом в CYLINDR 0 TRACK 1, TRACK 2 была записана информация. Недолго думая, при помощи DISK MANAGER я обнулил выбранные дорожки. И чудо свершилось! Диск ожил! Остаётся лишь гадать. Почему после стольких форматирований диска и его полной очистки, что-то осталось? Может это ещё одна тема для публикации?

 

(r) www.fdd5-25.net Форма обратной связи.