Как-то раз один компьютерщик помогал одному хорошему человеку избавиться от
троянов на компьютере. Клиент обратился с жалобой на то, что машина самопроизвольно
перегружается раз в несколько минут, а при загрузке сообщает, что система восстановлена
после критической ошибки. В общем, работать никак невозможно, а проверить машину антивирусом
не удается, поскольку система перегружается, прежде чем сканер успевает что-то найти.
Через некоторе время компьюерщику удалось избавиться от заразы на компе, причем без
всякого антивируса. Правда сканер все-таки использовался, но лишь на последнем этапе - чтобы
найти файлы, содержащие тела вирусов и очистить их от трояна, а вот предварительный этап
делался почти вручную.
И вот, когда финальная проверка показала, что машина чиста, компьютерщик обнаружил, что
с нее невозможно выйти в интернет. Причем проблема проявляется как-то странно: команда
ping на конкретный ip-адрес выполняется успешно, но ни одна из служб,
работающих поверх TCP/IP, не функционирует: ни telnet, ни nslookup, ни
tracert - ничего. Мало того, ip-адрес по DHCP тоже не получается,
хотя вручную его установить реально.
Был сделан вывод: поддержка протокола TCP/IP на машине работает некорректно.
Вероятно, причина в вирусном коде в одном из системным файлов, который был некорректно
вычищен антивирусом. А может файл просто был поврежден при очередной некорректной перезагрузке.
Так или иначе, требовалось переустановить компоненты Windows, отвечающие за работу
TCP/IP. Но вот беда: Windows не дает удалить этот протокол и установить его
заново: кнопка “Удалить” для протокола TCP/IP попросту не активна. Неужели
прийдётся переустанавливать Windows?
Но есть и другой метод, которым и воспользовался компьютерщик, заодно восстановив работу
TCP/IP, не прибегая к реинсталляции ОС. Вот как он это сделал:
Открыв редактор реестра REGEDIT и удалил два ключа реестра:
HKEY_LOCAL_MACHINE=> SYSTEM => CurrentControlSet =>
Services => Winsock
HKEY_LOCAL_MACHINE => SYSTEM => CurrentControlSet => Services => WinSock2
Выходим из редактора реестра и ОБЯЗАТЕЛЬНО (!) перезагружаемся.
После перезагрузки находим папку c:\windows\inf
(а если точнее, то того каталога, где установлена Windows) и находим в ней файл
nettcpip.inf. Обязательно сделайте его резервную копию, а
потом отредактируйте с помощь Блокнота/ Cтроки
[MS_TCPIP.PrimaryInstall]
; TCPIP has properties to display
Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE
замените на
[MS_TCPIP.PrimaryInstall]
; TCPIP has properties to display
Characteristics = 0x80 ; NCF_HAS_UI
Сохраните файл. Откройте настройки сетевого адаптера, щелкнув по нему правой
клавишей и выбрав “Свойства”. Нажмите “Установить”, выберите из списка
“Протокол” и нажмите “Добавить”. Далее нажмите кнопку “Установка с диска”
и введите в строке пути c:\windows\inf (или
%winroot%\inf). В появившемся списке выберите Протокол TCP/IP и завершите
установку. Перезагрузите компьютер.
После перезагрузки снова идите в свойства сетевого адаптера, и вы обнаружите, что кнопка
“Удалить” для протокола TCP/IP теперь стала доступна. Удалите протокол
TCP/IP и снова перезагрузите машину.
После перезагрузки установите протокол TCP/IP с нуля. Вот и все.
Эта операция занимает 5-10 минут, после чего работоспособность TCP/IP
восстанавливается. Вам даже не потребуется компакт-диск с дистрибутивом.