Техніка без "небезпеки" або як я піднімав "померлі" диски

Пан J.

Якщо ваша зарплата обчислюється чотиризначними цифрами, то швидше за все – ви профі, і не відчуваєте особливих сумнівів з приводу вийшов з ладу жорсткого диска. Хіба що там були унікальні файли. Ремонту такі пристрої не піддаються – це майже аксіома. Найраціональніше рішення – викинути (іноді – засунути під прес) і купити новий.

Непрофесіонали відрізняються від профі тим що здатні своїми руками угробити цілком працездатний пристрій.

Звичайно починається з збоїв. Кілька поганих ділянок на жорсткому диску викликають паніку: "Диск почав сипатися!" З цього має слідувати: "Дефекти будуть розвиватися і збільшуватися". А вже наше суворе виховання призводить до логічного висновку: "Треба його чайнику спихнути". Після чого диск починає останню подорож – по руках цих самих чайників. У підсумку ринок виявляється захаращений битим залізом. Десять років тому розмір жорсткого диска не доходив до гігабайта, а про диск з граничним для 386-машини розміром в 540 мБ багато хто тільки мріяли … Приблизно в той час я почав займатися ремонтом жорстких дисків. Почалося з книги Уїнна Роша, де я розкопав простий і ефективний спосіб низькорівневого форматування MFM-диска з допомогою команди debug : G = c800: 5 (іноді – 6,8 – як пощастить). Куплені за мільйон купонів кожен болгарські повномірні десятки я використовував для архівів – мабуть, краще в той час застосування для цих монстрів важко було знайти.

Коли вони остаточно постаріли і перейшли в розряд антикваріату, я почав експерименти на них з настільки ж антикварними ОС – ДОС3, 2 etc. і до своєї безмірної радості виявив, що ДОС-2 був настільки наївний, що оголошував збійних весь циліндр, варто було йому виявити на ньому хоча б один зіпсований сектор …

Але краще всього допоміг мені вивчити структуру жорсткого диска як не дивно – вірус OneHalf, зашифрований частина диска моєї XT. Оскільки про втрату даних не могло бути й мови – В зашифровану область потрапили файли, які вся кафедра набирала руками протягом року, готуючи до видання новий підручник, – то переді мною постала альтернатива – розшифрувати або бути з ганьбою вигнаним. На щастя, завкафедрою був у закордонному відрядженні, а один з друзів дав мені дуже небезпечний за його словами, але настільки ж ефективний інструмент – програму de.exe з комплекту Нортоновских утиліт. Оскільки розшифровщик Данилова не працював на ХТ (а в моїх умовах, як з'ясувалося пізніше – він не допоміг би навіть якщо б міг працювати), то я написав просту програму – 22 рядки на Паскалі, яка тільки й могла робити що пройтися зазначеним двобайтових кодом по файлу, зробивши з його даними додавання за модулем два з вказаним кодом і записавши результат в іншій файл.

Моє завдання полягало лише в тому щоб правильно визначити необхідний код – яким вірус зашифрував дані на певному циліндрі. (Як відомо – друга обробка даних цієї операцією призводить до їх розшифровці, що і застосовує OneHalf для своєї маскування) Проблема полягала в тому що в результаті неправильного лікування диск виявився розбитий на ділянки, кожен з яких був зашифрований своїм кодом – проте я швидко зметикував що визначити код можна виявивши ділянку належить текстового файлу – а вони як відомо рясніють пробілами з кодом 20H (32D). Тобто – виявивши послідовність яких в 16-ричном вигляді мала вигляд наприклад: 34 6f 34 6f 34 6f 34 6f …. – Я міг сміливо припускати що це – результат шифрування послідовності прогалин кодом 14 4F. Так як вірус шифрував щоразу певну кількість фізичних циліндрів, то потрібно було просто скрупульозно пройтися по них, розшифрувавши кожну ділянку окремо і посадивши його назад уже в розшифрованому вигляді. Через два тижні з моменту виявлення вірусу вся робота була виконана, а втрати звелися до двох-трьох EXE-файлів, в яких, як відомо, важко виявити рядок прогалин. При цьому диск-едітор використовувався для запису певної кількості фізичних секторів жорсткого диска у файл на дискеті, – і назад – вже з іншого дискети, з розшифрованого файлу – на своє місце на диску.

Під завісу я набрався такого нахабства що вирішив залишити тіло вірусу на жорсткому диску у тому ж місці, де його виявив, справедливо розсудивши що якщо знову його подловлю, то вже не побачу його при перегляді фізичного диска диск-едітор, якщо тільки не завантажуючи машину з чистою дискети. Звичайно, для страховки пару рядків дампа вірусу я затер своїми, а бут-сектор був давно вилікуваний (мені пощастило виявити копію вихідного, створену раніше інший програмою). Після цього настала пора небезпечних експериментів з редагуванням de.exe структури жорсткого диска – Для безпеки я почав з дискет.

Ще не одному знайомому я вилікував жорсткий диск від якого-небудь важковиліковною вірусу. (Один з моїх друзів цілий рік вантажився з чистою системної дискети, – у нього на жорсткому диску сидів вірус ЗАРАЗ, дуже тонко підміняли IO.SYS) І тільки коли мені набридло лікувати дискети зіпсовані DIR-ами і іншими дурницями, яка наводнює машини в навчальних класах, я взявся за більш серйозні речі – першим успішним експериментом було переформатування вручну під ДОС придбаного з нагоди 340-метрового WD з збереженням самої цікавої інформації на тому ж диску, які раніше працювали під WIN-95. Я розбив його на два розділи і видалив руками все каталоги з довгими і неправильними з точки зору ДОС іменами файлів. Потім зробив так щоб диск міг вантажитися з кожного з розділів – щоправда, для цього треба було запустити всі той же диск-едітор і руками дещо підправити. (Один з таких дисків у мене міг грузиться по черзі або в ДОС 6.22 або – у ДЗГ 2.1 – правда в силу особливостей останнього при такому завантаженні розділ 6.22 просто не було видно) І нарешті, я зробив найцікавіший варіант завантаження – три розділу, на одному – ДОС, на іншому – WINDOWS-95 (98 etc.), третій – під що-небудь ще, а для двох перших він поки служив архівним. Цей диск був вже з нових – розмір його перевищував межа ДЗГ та WIN98 весь час норовила зробити йому 32-хбітную FAT, на що я не погоджувався, так як диск-едітор для такої конструкції недостатньо пристосований. Лише після цього я був досить досвідчений для того щоб лікувати диски з запорченнимі фізичними секторами, що припадають на область FAT, витягувати інформацію з диска з запорченной нульової доріжкою і тому подібне.

Відповідний випадок не змусив себе довго чекати. Небагате банківська установа переходило по команді з управління на нову поштову програму інтернетівського типу і якраз напередодні випробувань програми помер диск на моїй сісадміновской машині. Я швидко поставив резервний диск вдвічі меншого розміру, встановивши в авральному порядку на ньому WIN95 з MS-Office-97, OutLook etc. і відразу після випробувань взявся за лікування диска. Картина була гнітючою – не читалася область FAT і ще кілька десятків відсотків загальної площі диска. Для першого разу я ще зробив трохи помилок, основною з яких була все та ж чайніковская – я спробував відформатувати його на низькому рівні скориставшись програмою форматування, вбудованої в біос машини (у мене не найгірший P-200 MMX). Нічого! – Тобто диск справно форматувався, але після цього вся інформація на ньому нікуди не поділася – вона залишалася в тих же секторах і збійні сектора як і раніше залишалися недоступними. Складалося враження що програма низькорівневого форматування просто не запускалася. За додатковою інформацією я звернувся в Інтернет на домашню сторінку даного диска, адреса був написаний прямо на ньому. І виявив що він має ще й власний біос з вбудованою програмою форматування. Не буду уточнювати яка з фірм додумалася до цього першої – їх досить багато, скажу тільки що в назві диску присутнє слово "Medalist". На жаль, мені не вдалося на сайті фірми роздобути пароль для входу в цю програму форматування. (А по зрілому міркуванні – це навряд чи й допомогло б, оскільки швидше за все на диску відмовили дві поверхні з п'яти). В усякому разі, перший варіант ремонту прожив недовго, місяців зо два – так як я скористався можливістю альтернативного розбиття диска на трохи менший формат, в даному випадку – максимальний, підтримуваний ДОС, тобто 2 ГБ. Ніякого ефекту це не дало, я лише втратив пару сотень мегабайт площі, а коли знову знайшов тимчасовий диск, – переробив свого багатостраждального "медалістів" на його максимальний розмір – все тим же диск-едітор, вручну знаходячи найбільш цілі області для побудови системної зони і прописуючи вручну ж беди – просто як області зайняті нечитабельним файлами середнім розміром 10 МБ. Таким чином мені вдалося змусити його працювати без щоденного виходу на SCANDISK, більше того – при аварійному вимкненні машини scandisk просто не реагує на ці беди. Головне – не давати йому робити перевірку якості поверхні, інакше беди дійсно почнуть множитися. Програма ця не володіє надмірно розвиненим, м'яко кажучи, інтерфейсом і відключити деякі опції – треба ще постаратися, проте якщо ви впораєтеся з цим, то вона не принесе вам більше клопоту. (Як не дивно, найбільші неприємності в цьому плані доставляють саме програми, які за задумом їх творців покликані лікувати жорсткі диски, і відсутність зручного інтерфейсу плюс надмірна самовпевненість авторів і користувачів – тому провиною).

Зрештою місяців через три-чотири після аварії я отримав диск з реальним розміром 1,5 ГБ (плюс 1 ГБ бедов). У такому стані диск знаходиться вже півроку, він як і раніше працює на моїй сісадміновской машині, з нього я входжу в Інтернет і адмініструється NetWare. Ніяких проблем з цим диском я більше не мав і сподіваюся – мати не буду, так як намагаюся уникати навіть натяку на використання програм провідних будь-яке періодичне обслуговування дисків – починаючи з SCANDISK, NDD і закінчуючи Norton AntiVirus `ом і AVP всіма шанованих Нортона та Касперського. Я не посмію заявити що ці програми псують диски – але вони точно написані не для поганих дисків. А будь-який хороший диск проживе тим довше чим менше ви будете його смикати. Право, не варто довіряти долю настільки ніжного пристрою навіть найбільш професійною програмою якщо вона норовить безперервно нишпорити по диску в пошуках вірусів, – часто лікування наслідків зараження обходиться дешевше ніж антивірусна профілактика, аналогічно слід уникати надмірної оптимізації диска програмами типу SPEEDISK. У число нерекомендуемих режимів слід також включити і режим "сплячого" диска, – для електроніки завжди був найбільш небезпечним момент включення-виключення. Якщо ви налаштуєте свій диск "засипати" через кожні три хвилини відсутності звернень до нього – можете починати відкладати гроші на новий. Що стосується програм низькорівневого форматування – то навряд чи фірми-виробники жорстких дисків допустять щоб їх устаткування можна було полагодити таким простим способом, швидше за все – вони і не повинні працювати. Тому – уникайте переробляти структуру диска без крайньої на те необхідності. Вигідніше залишити його як є, і придбати ще один хороший диск, ніж спробувавши переробити – угробити хороший пристрій. Зрештою, деякі з типів дисків вже можна вносити до Червоної книги, – і в основному – в результаті неправильних дій користувачів. У деяких випадках винні виробники дисків – наприклад, ви спробували всього лише перебити розділи. Ви не професіонал, і навіть застосування диск-едітора представляє для вас серйозну проблему, все що ви вмієте – запустити FDISK і слідуючи її вимогам, видалити всі розділи перш ніж встановити нові. Ось тут-то вас і підстерігає головна небезпека – як правило, після видалення розділів диск вмирає раз і назавжди. Так він зроблений – якщо біоса машини нема за що зачепитися при початковому тестуванні диска, то відновити його працездатність можна тільки в заводських умовах. Залишається або довіритися професіоналові, який переб'ет ваш диск вручну, або попросити фірму Microsoft переписати FDISK.

Не меншу небезпеку для цілісності диска представляють нові програми та операційні системи – мені доводилося оживляти диски, на яких хтось намагався запустити Лінукс чи просто лазив по Інтернету, не особливо замислюючись про наслідки. Кращою рекомендацією тут може бути тільки одна – загальна площа диска повинна бути на порядок вище тієї, яка потрібна для установки операційної системи. Тобто якщо ви ставите WIN95 – то 400-700 МБ буде в самий раз, а краще – більше, інакше ваш диск довго не протягне, ще більш жорсткі вимоги висувають сучасні версії WIN98, WIN2000, NT і LINUX. Найбільші ж проблеми з фізичною цілісністю жорсткого диска виникають при використанні його в умовах багатоопераційних середовищ – мається на увазі одночасна робота наприклад в NetWare і Windows, коли кожна система по-своєму звертається до диска (і по-своєму помиляється). Особливу увагу при роботі в таких умовах слід приділяти правильному налаштуванні параметрів середовища і вибору найбільш надійних мережевих драйверів. Якщо вам так вже не терпиться використовувати програми, які взаємовиключають одне одного, то хоча б спробуйте налаштувати різні варіанти завантаження машини. На закінчення – два слова про мистецтво прописувати беди вручну. Найбільш зручною для цієї мети представляється стратегія використання заздалегідь підготовленого набору файлів з вирівняною на розмір кластера довжиною. Однією з програм, здатних створювати такі файли є додається утиліта BALON.COM – створивши з її допомогою (і краще – на живому диску) кілька файлів різного розміру, ви просто починаєте копіювати їх на спустошений тільки що відформатований вручну диск (як це зробити якщо програма FORMAT зробити цього просто не може – тема для окремої статті). Оскільки ваш диск має нечитабельні зони, то ясно що для виявлення їх ви повинні просто використовувати кожен скопійований на диск файл як джерело для створення нового файлу, – перевірку запису необхідно відключити, зрозуміло. Якщо область, займана даними файлом – читабельна, то він без проблем скопіюється в новий файл, займає вже нову область, якщо – ні, то вам доведеться на якийсь час перенести його в каталог, створений заздалегідь в чистій зоні. І так – до кінця диска, поки він не буде забитий хорошими і поганими файлами до межі. Потім залишається лише витерти хороші, а області належать поганим прописати в FAT вручну як бедовие. Якщо диск дуже великого розміру, то варто спробувати провести кілька етапів такого лікування, витираючи в цьому випадку погані файли і заповнюючи їх зони на порядок меншого розміру файлами. Розумним представляється варіант коли мінімальний розмір здорової зони потрапила між двома поганими перевищує 1% від загальної площі диска. Іноді найбільш дрібними зонами доводиться жертвувати задля підвищення швидкості роботи з тим що залишилося.

У цілому – орієнтуватися в стратегії краще стосовно до умов, вибираючи оптимальний варіант. Таку роботу набагато легше проробляти кожного разу уручну, ніж писати програму – оскільки передбачити всі можливі варіанти неполадок просто не можна. ОСНОВНИМ правилом при такому лікуванні повинно бути: виключити можливість звернення файлової системи до поганих ділянках диска . Радикальним засобом є виключення однієї великої бед-зони з обігу шляхом ручної розбивки розділів (в деяких випадках, якщо пощастить) Звичайно, диск можна просто викинути і купити новий – але де гарантія що з ним не станеться аналогічна трагедія? А спробувавши, хоча б і безуспішно, вилікувати ваш диск, ви принаймні наблизитеся на крок до розуміння причин аварії, що саме по собі дозволить уникнути нових.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*