|
||
|
||
Об умножении ошибок |
||
Утилиты
Питера Нортона - гений и злодейство в
одном флаконе: скольким пользователям
помогла, например, программа для DOS - UnErase,
столько же и невинно пострадали,
согласившись на исправление ошибок
утилитой Norton Disk Doctor... Александр Захарченко До чего же я люблю Питера НортонаКакую замечательную программу он создал для DOS—UnErase. Вам, живущим в эпоху Обратимой Мусорной Корзины, избавившей меня от массы нудной, но иногда весьма прибыльной работы, этого не понять. За время своей компьютерной жизни я восстановил с помощью этой утилиты (из комплектов NU 5, 6, 8 версий) тысячи и тысячи ошибочно удаленных файлов. Есть неверующие скептики, утверждающие, что UnErase восстанавливает какой-то мусор в утраченных файлах или не находит их вовсе. И они правы. Корректное восстановление в полуавтоматическом режиме гарантируется только на дисках, не содержащих ошибок и фрагментированных файлов (NDD и SpeedDisk). Осознание этого (поблагодарим Фигурнова и TechHelp за разъяснение структуры FAT и устыдимся задним числом своего нежелания делиться с кем-либо этим «секретом») позволяло мне ликвидировать на обслуживаемых компах последствия самых неожиданных катастроф без значительного ущерба. Однажды на старенькой AT-шке, работающей под MS-DOS и Norton Commander'om, мой коллега обнаружил, что он бегает по кругу. Открывает каталог, находит нужный ему подкаталог, открывает его и снова оказывается в корневом. В какой-то момент это ему надоело, и он воспользовался первым же советом из-за плеча: удали его... известно куда. Туда же отправился почти весь диск. Хотя он был маленьким, но содержал документацию за несколько лет работы. Перенабрать ее руками было нереально—ушли люди, пропала часть бумаг. Если бы не редкое применение SpeedDisk, то остался бы только «опыт, сын ошибок трудных». А так ушло несколько часов на проставление первой буквы в названиях каталогов и файлов. Естественно, восстанавливались только документы, ведь, как всегда (!), для софта были архивы. Такая «заморочка» может встретиться и под Windows с FAT или FAT32. Причина в том, что в поле «начальный кластер» элемента оглавления для «странного» подкаталога (по окошечному—папки, folder) оказывается 0, что означает ссылку на корневой каталог (root). Так происходит зацикливание. Я с этой проблемой сталкивался раза три за всю эпоху MS-DOS. Для решения всегда использовал Norton Disk Editor (NDE). Если вспоминается содержимое каталога, то, выполнив сканирование диска, можно определить его начальный кластер и подставить в нужное поле. Ну, а коли память подвела, то заменяем первую букву названия на E5h, т.е. помечаем его удаленным (erased, а не remote). Эх, до чего же я не люблю Питера НортонаКакую, гм..., хреновую программу он создал—Norton Disk Doctor (NDD). Сколько пользователей потеряли свои данные, согласившись на исправление ошибок, «обнаруженных» в самых сокровенных местах диска. Наткнувшись на недоступную для своего понимания главную загрузочную запись (MBR), Doctor начинал мигать красными экранами и настаивать на «восстановлении». И не дай вам боже согласиться (а что еще можно сделать, глядя на устрашающий английский текст—только нажать Yes). Перегрузились—и прощай, мой диск, прощай! Проблему эту разработчики так и не решили, ограничившись добавлением в настройки NDD запрета тестирования критических областей жесткого диска. Win9x требует значительно более частого обслуживания диска, чем MS DOS. Помимо потерянных кластеров и обрывков временных файлов досаждают еще ошибки в длинных именах. Хотя в формате имен спецсимволы (>, :, ? и т.д.) не допускаются, но иногда Windows умудряется их принять и даже воткнуть в имя MS DOS, и тогда файл невозможно ни переименовать, ни удалить. Попробуйте еще распаковать архив, в котором оказался такой файл. Спасают только старые архиваторы, не понимающие длинных имен и произвольно рихтующие неправильные имена MS DOS. Scandisk от Microsoft не справляется со многими проблемами такого типа в именах, в отличии от Доктора, почивающего теперь на лаврах Symantec. Один из законов поведения ошибок утверждает, что две ошибки в одной программе взаимно компенсируются. Однако, когда сталкиваются просчеты из разных программ, то их убойная сила приводит прямо-таки ко вселенским катастрофам. Все началось с того, что MBR и таблица частей (Partition Table) шестигигабайтного диска (FAT32, один раздел) оказались затерты мусором—эксперименты с недоделанными программами даром не проходят. Это не вызвало особых волнений, поскольку Microsoft давно научила свою fdisk справляться с такими ситуациями. Команда fdisk/mbr вернула жизнь винчестеру, а тесты Scandisk не обнаружили никаких проблем. Первый звонок прозвучал с запуском NDD из комплекта NU 2000. Выставив окно, сообщающее об ошибке в загрузчике DOS (DOS Boot Record), он пару минут шуршал диском, а затем сообщил, что не может внести исправления и прекратил работу. Вспомнив прошлое, Доктора немедленно отлучили от тестирования загрузочных областей. Но не тут-то было. В следующий раз NDD запрет проигнорировал и порадовал известием о том, что ошибка в загрузчике исправлена, а для дальнейшей работы нужно перезагрузить PC. Финал—Invalid system disk or disk I/O error—и мертвый винчестер. Загрузка с CD или дискеты доступ к винчестеру не дала. Пришлось использовать NDE в режиме физических дисков. Оказалось, что загрузочная запись FAT32 изменена под FAT16 для диска емкостью около 250 МБайт. Ладно, в системной области диска храниться резервная копия DOS загрузчика. Но NDD тоже знал об этом (!!!), преобразовав и вторую копию (наверное, поэтому понадобилось несколько запусков). Поиск самих FAT дал еще более удивительные результаты: обнаружилось четыре подписи FAT: две 32-разрядных и две 16-и, причем последняя очутилась посреди первой FAT32. До команды format оставалось полшага, но еще жила надежда, что сохранились 2-я копия FAT и корневой каталог (root). С помощью NDE обе копии FAT синхронизировали, но использовать расширенный режим восстановления (Advanced Recovery Mode) для восстановления загрузчика DOS не удалось: загрузчик упорно восстанавливался под FAT16. Пришлось переносить его с другой машины и подбирать параметры вручную. Благо NDE имеет режим с показом названий параметров. DOS запустилась, но проверка диска показала, что практически отсутствует свободное место: вместо ожидаемых 1,5 ГБайт оставалось около 70 МБайт. Scandisk оповестил об ошибках в элементах подкаталогов и ничего сделать не смог. С дрожью в коленях я использовал версию NDD для DOS—и тут, как ни странно, ошибки исчезли, и восстановился почти правильный объем свободного места. Тем не менее, Windows отказалась запускаться даже в безопасном режиме и предложила себя переустановить. Поскольку анализ Registry с помощью Regedit ошибок не показал, и никаких вразумительных сообщений, кроме «ошибка инициализации kernel32» не выдавалось, пришлось подчиниться. И тут круг замкнулся—Setup отказался распознавать установочный раздел как первичный раздел DOS. Вместо 0Bh (FAT32, первичный) значением параметра код раздела из таблицы разделов диска оказался 0Ch (NDE определяет его как FAT32x—расширенный, что ли?), явно занесенный туда при первом восстановлении MBR с помощью fdisk. Но для fdisk (ни для DOS, ни для Windows) это проблем не создало. А вот Доктор до сих пор не выносит никаких отступлений от стандарта и проводит немедленную ампутацию. Итог, даже по прошествии немалого времени, меня удивляет. После переустановки системы потребовалось переустановить отдельные приложения, щепетильно относящиеся к авторскому праву (MATLAB, PROMT, мелкие утилитки—ой, все это исключительно в образовательных целях). Остальные продолжили работу без проблем (специальная благодарность Corel, Inprise-Borland, Microsoft). Среди данных обнаружилось два пострадавших файловых имени. В общем, повезло. От любви до ненависти...Н-н-да, прямо гений и злодейство в одном флаконе. Одним ломаем—другим чиним. Но все же поблагодарим Питера Нортона за это. Уже после написания первого варианта этой статьи (октябрь 2000) заинтересовала меня реклама одной программулины, претендующей называться анализатором дисков. Авторы ее обещают снятие образа поврежденного диска и на его основе разработку восстановляющих программ (за отдельную плату). Притащил ее домой и, не особо вникая в read.me, запустил. Посмотреть на интерфейс или хотя бы краткий help командной строки. Запустил со съемного диска, коим у меня служит ZIP100 (ну, не пользуюсь я дискетами). Не знаю чей образ эта прога сразу же (!) начала снимать, но безо всякого уведомления дискета ZIP100 превратилась в 1,44, и отформатировать ее назад удалось только под Windows, установив специальный софт от Iomega. Источник - SoftТерра, http://www.softerra.ru
|
||
|
||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |