Про множенні помилок

А. Захарченко

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

Репутація у Norton Disk Doctor (NDD) давно була поганою.
Ще за часів DOS, виявивши нетипову головний завантажувальний запис (MBR),
він починав мигати червоними екранами і наполягати на "відновлення". Попадалися
на цей прийом могли втратити всю інформацію на вінчестері. Замість інтелектуального
вирішення цієї проблеми в налаштування NDD була введена можливість відключення
тесту критичних областей жорсткого диска і на цьому "класики програмування"
заспокоїлися.

Win9x вимагає значно більш частого обслуговування диска
ніж MS DOS. Крім загублених кластерів і обривків тимчасових файлів докучають
ще помилки в довгих іменах. Хоча у форматі імен використання спецсимволів
(>:? І т.д.) не допускається, але іноді Windows примудряється їх прийняти
(Гірше того – увіткнути в ім'я MS DOS) і тоді файл неможливо ні перейменувати
ні видалити. Scandisk від Microsoft не справляється з багатьма проблемами в іменах,
на відміну від Доктора, що почиває тепер на лаврах Symantec.

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

Все почалося з того, що MBR і таблиця частин (Partition
Table) 6-гігабайтного диска виявилися затерті сміттям. Це подія не викликала
особливих хвилювань оскільки Microsoft давно навчила свою fdisk справлятися з
такими ситуаціями. Команда fdisk / mbr повернула життя вінчестеру, а тести Scandisk
не виявили жодних проблем.

Перший дзвоник пролунав із запуском NDD з комплекту NU 2000.
Виставивши вікно, що повідомляє про помилку в завантажувача DOS (DOS Boot Record), він
пару хвилин шарудів диском, а потім повідомив, що не може внести виправлення
і припинив роботу. Згадавши минуле, доктору негайно заборонили тести завантажувальних
областей. Але не тут-то було. При наступному старті NDD заборону проігнорував
і повідомив, що помилка у завантажувачі виправлена і для подальшої роботи потрібно
перезавантажити PC. Фінал – Invalid system disk or disk I / O error –
і мертвий вінчестер.

Завантаження з CD або дискети доступу до вінчестера не дала.
Довелося використовувати Norton Disk Editor (NDE) в режимі фізичних дисків.
Виявилося, що завантажувальна запис FAT32 змінена під FAT16 для диска ємністю
близько 250 МБайт. Гаразд, в системній області диска зберігатися резервна копія
DOS завантажувача. Але NDD теж знав про це – і перетворив також і другу
копію. Пошук самих FAT дав ще більш дивні результати: виявилося
4-е підпису FAT: дві 32-хразрядних і дві 16-і, причому останню нелегка занесла
в першу 32-х розрядну FAT.

До команди format залишалося півкроку, але ще жила надія,
що можливо збереглися 2-а копія FAT і кореневий каталог (root). За допомогою
NDE обидві копії FAT синхронізували, але спроба використовувати розширений режим
відновлення (Advanced Recovery Mode) для відновлення завантажувача DOS
виявилася безрезультатною: він уперто перетворювався b 16-бітний. Довелося переносити
його з іншої машини і підбирати параметри вручну. Благо NDE має режим з
показом назв параметрів.

DOS запустилася, але перевірка диска показала, що практично
відсутня вільне місце: замість очікуваних 1,5 ГБайт залишалося близько 70
МБайт. Scandisk виявив помилки в елементах підкаталогів і нічого виправити
не зміг. З тремтінням у колінах запустили варіант NDD для DOS – як не дивно
помилки зникли і відновився правильний обсяг вільного місця.

Тим не менш Windows відмовилася запускатися навіть в безпечному
режимі і запропонувала себе перевстановити. Оскільки аналіз Registry за допомогою
Regedit помилок не показав, довелося підкоритися. І тут коло замкнулося –
Setup відмовився розпізнавати інсталяційний розділ як первинний розділ DOS.
Замість 0Bh (FAT32, первинний) значенням параметра код розділу з таблиці розділів
диска виявився 0Ch (NDE визначає його як FAT32x – розширений чи що?),
явно занесений туди при першому відновлення MBR за допомогою fdisk. Але для
fdisk, ні для DOS, ні для Windows це проблем не створювало. А ось Доктор явно
не виносить ніяких відступів від стандарту і проводить негайну ампутацію.

Happy-end: Після перевстановлення Windows знадобилося
перевстановити окремі додатки, трепетно відносяться до авторського права
(MATLAB, PROMT, дрібні утилітки). Решта продовжили роботу без проблем
(Corel, Delphi, Builder, Visual C + + і т.п.). Серед даних виявилися два
постраждалих файлових імені. Загалом пощастило.

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


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

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

Ваш отзыв

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

*

*