Как я поднимал NT
HashFlare
 
Главная HI-TECH Форум Поиск Книги Авторам Новости партнёров Реклама
Новостей на сайте: 10263
Программы  
  Система
  Безопасность
  Интернет и сети
  Текст
  Графика и дизайн
  Мультимедиа
  Программирование
  Бизнес
  Образование
  Дом, семья, хобби
  Игры и развлечения
 
Рассылка
 
HashFlare
 
Рейтинг программ...    
    Ф2Мастер Банк (138324)
    Коллекция руссификаторов O-S (34797)
    Товар версия 1.10 (25303)
    Коллекция софта № 13 (24875)
    NetGraf 1.0 (24001)
    New_Profile v3.4 (400) (23929)
    Revolter Commander 3.9 beta 8 (16384)
    Коллекция софта № 14 (15743)
    Net Transport 2.22 (15398)
    Intel Sound MAX 4.0 Ac' 97 5.12.01 (15213)
 

[!] Знаете ли Вы, что каждый может добавить программу в наш каталог абсолютно бесплатно?


Windows NT/2000 Статьи
Как я поднимал NT

На днях у меня грохнулась NT. В этот день ничто не предвещало больших неприятностей, просто решил посмотреть кое-какой софт, скачанный по локалке: ActivePerl от ActiveState и GNU-Win32 от CygnusSolutions. Архив Cygnus оказался битым: при распаковке появлялась заставка "Windows Setup", после чего распаковка прекращалась. Я скачал другой архив Win32 (имевший ту же длину) и поставил его. Уже не помню зачем мне нужно было перегрузить NT...

Загрузка дошла до синего экрана, я опять увидел, что у меня NT Workstation Build 1381 Service Pack 5 и 128 метров мозгов. И тут мне что-то говорят о том, что невозможно найти winsrv.dll (для справки: эта DLL использовалась в предыдущих версиях NT, сейчас ее заменяет win32k.sys). Вот те раз! Ну, думаю, ерунда какая-то, перезагрузился еще раз - то же самое. Last Known Good Configuration тоже не помогает. Попробовал ERD - он отказался восстановить улей SOFTWARE. Переустанавливать NT очень уж не хочется...

Попытка загрузиться
У меня есть маленький винчестер, на котором я храню backup и на всякий случай дистрибутив NT с несколькими сервис-паками. Я подключил этот винчестер, загрузился под Windows 98 и поставил еще одну копию NT. Загрузившись под ней, я поставил пятый сервис-пак и драйвера к видеокарточке (не работать же на мониторе с частотой 60Hz!). После этого приступил в выяснению причин отказа загружаться.

Первым делом я проверил, что файл winsrv.dll действительно находится в %systemroot%system32 и совпадает с файлом из новой инсталляции NT. Значит, дело не в нем. Возможно, проблемы с registry: я как раз ставил всякий софт, который мог написать туда кучу всякой своей ерунды. Если проблема в реестре, то скорее всего улей SYSTEM отпадает: все-таки сбой не похож на железный, да и Blue Screen Of Death не было. В итоге, я запустил regedt32 и попробовал загрузить улей SOFTWARE из упавшей инсталляции NT. Он не загружался (regedt32 не считал его файлом улья). Оставалось два варианта: либо попытаться восстановить улей SOFTWARE используя резервную копию реестра из папки %systemroot% epair или заменить его содержимым файла software.sav из папки %systemroot%system32config, который как известно хранит копию улья, сделанную в конце текстовой фазы установки NT. Я выбрал первый вариант.

Я сохранил на всякий случай старый файл software. Затем при помощи утилиты expand я распаковал резервную копию улья software._, которая была сделана достаточно давно, когда я последний раз обновлял ERD, в файл %systemroot%system32configsoftware и перезагрузился под первоначальной инсталляцией NT. Она загрузилась!

Вся жизнь - борьба, покой нам только снится
После загрузки я обнаружил, что repair disk я обновлял действительно давно: у меня тогда еще стояли "родные" драйвера к моей мышке LogitechMouseManWheel (они были ужасно глючные и я их снес, оставив обычные драйвера от Logitech PS/2 Mouse; после этого колесико продолжало работать, но кнопка под большим пальцем работала только как Middle Button, а не как SHIFT как прежде). Помня о том, что в SOFTWARE хранится информация об установленных программах, я начал проверять, какие из программ я установил после backup.

Ими в частности оказались:
  • Mathematica 3.0
  • Microsoft Visual Studio
  • @Guard

    Эти и некоторые другие программы теперь работали криво (@Guard постоянно говорил, что криво поставлен, Mathematica глючила со шрифтами, а Visual C++ не запускала отладчик при ошибке приложений). Это все в добавление к тому, что иконки соответствующие файлам этих приложений были undefined.

    Я решил использовать самый простой выход из этой ситуации: поставить глючивший софт "поверх" существующих копий. Начать я решил с @Guard.

    Установка @Guard не запускалась, VisualStudio - тоже. Я проверил еще несколько setup"ов - ни один не работает. Попробовал Office 2000 Install-On-Demand - работает. Что-то подсказало мне проверить другие 16-битные приложения... Ни одно 16-битное приложение не работало. Значит, есть проблемы еще и с NTVDM.

    Раз я изменил улей SOFTWARE, то, может быть, NTVDM не работает из-за настроек в реестре? Находясь в первоначальной инсталляции NT, я при помощи regedt32 загрузил улей SOFTWARE новой установки NT создав ключ HKLMSOFT, после этого при помощи regedit экспортировал (Export?Registry?File...) ключи HKLMSOFTWAREMicrosoft и HKLMSOFTMicrosoft в текстовые файлы .reg (Main.reg и New.reg). Затем я заменил подстроку SOFTMicrosoft на SOFTWAREMicrosoft в файле New.reg и, запустив утилиту WinDiff из пакета Microsoft Visual Studio, начал сравнивать содержимое ульев. Никаких подозрительных различий я не нашел.

    Тогда может быть различия в файлах? При помощи той же WinDiff я сравнил папки system обоих инсталляций и обнаружил, что различаются файлы mscdexnt.exe и mouse.drv из папки %systemroot%system32: у них был такой же размер и дата, как у файлов из свежей инсталляции, но WinDiff нашел различия у них внутри. Я скопировал эти файлы из новой инсталляции и запустил command.com - работает! Запустил установку @Guard - работает!

    Теперь осталось переставить уже установленный софт, но я не смог найти диска с Mathematica и сервис-паков для Visual Studio, так что проблемы с этими программами пришлось решать вручную.

    Mathematica показывала математические символы неправильным шрифтом. Понятно, что дело в установке шрифтов: для установки шрифта совершенно недостаточно просто скопировать его в папку %systemroot%fonts, при установке шрифт прописывается в реестре. Для того, чтобы восстановить информацию о существующих шрифтах я скопировал все шрифты из папки fonts во временную папку и попытался удалить шрифты из папки fonts. Все шрифты за исключением нескольких удалились (те, которые не удалились очевидно были корректно зарегистрированы и использовались в это время). После этого я установил шрифты из временной папки обратно при помощи Install New Font... из аплета Fonts. Запустив Mathematica я убедился в том, что шрифты показывались нормально.

    Оставалась неприятность с Visual Studio. Дело в том, что Visual Studio устанавливает свой отладчик (debugger) для обработки ошибок приложений. После восстановления улья SOFTWARE, зарегистрированным отладчиком стал Dr. Watson (drwtsn32) - стандартный обработчик ошибок приложений в Windows NT). В Help по этой программе я нашел ключ в реестре, в котором содержится информация о зарегистрированном отладчике: HKLMSOFTWAREMicrosoftWindows NTCurrent VersionAeDebug. В этом ключе параметр Debugger хранит командную строку для запуска отладчика, я просто заменил подстроку drwtsn32 на msdev. Параметр Auto определяет, должен ли отладчик запускаться автоматически (1) или сначала должен показать диалоговое окошко, спрашивая у пользователя нужно ли завершить задачу или запустить отладчик (0).

    При помощи таких-вот несложных действий я восстановил свою установку NT.

    Какие же выводы можно сделать из всего этого?
  • Не нужно паниковать. Есть много способов вернуть NT способность загружаться.
  • Чаще обновляйте диск аварийного восстановления.
  • Желательно иметь возможность поставить еще одну копию NT. Для этого лучше всего иметь загрузочные дискеты и CD-ROM с NT. Если у Вас стояла Windows 2000, то лучше всего иметь под рукой Service Pack 4 и выше, так как Windows 2000 изменяет NTFS с версии 4 на версию 5, для работы с которой под NT 4 необходим этот сервис-пак.

    Автор: Konstantin Romanov
    Источник: http://www.oszone.net/


  • Ссылки по теме:
    WINNTик и ШпуNTик или Ставим В2К после В2К3
    Файл Config.sys
    Безопасность Windows NT 4.0
    Доступ к журналу событий из командной строки
    Удаленный доступ на базе Windows 2000 IAS



     
    Статьи    
      Windows 10
      Windows 8
      Windows 7
      Windows Vista
      Windows XP/2003
      Windows NT/2000
      Безопасность
      Windows 9x/ME
      Hardware
      Software
      Интернет
      BIOS
      Сеть
      Разное
     
    Рекомендуем
     
     
    Рейтинг статей...    
        Предел входящих подключений в Windows (128694)
        Как установить Windows XP на ноутбук или как добавить SATA-драйвер в дистрибутив Windows XP (69601)
        Из дома в офис - быстро, надежно и безопасно (55398)
        Всё, что надо начинающему хакеру (50432)
        Восстановление реестра Windows XP (23290)
        Второй сервис-пак для Windows XP: личный опыт (23157)
        Вызываем синий экран смерти Windows (18437)
        Настройка удаленного подключения между Windows 7 и Linux с помощью TightVNC (17440)
        Информация о proxy серверах (17289)
        Как устроена защита Windows Vista (17134)
     
     
    Programmed by Ventura
     

     

    Яндекс цитирования