Konstantin's profileKonstantin Leontiev's We...PhotosBlogLists Tools Help

Blog


    October 08

    Как починить ошибки в стеке TCP/IP на Windows XP SP2 и Windows Server 2003 SP1

    Для начала приведу основные симптомы сбоя в стеке TCP/IP, которые обычно требуют восстановления стека приведенными ниже способами.

    Так если вы видите следующие сообщения об ошибках:

    Message 1:
    An error occurred while renewing interface 'Internet': An operation was attempted on something that is not a socket.

    Message 2:
    An error occurred while renewing interface Local Area Connection: the requested service provider could not be loaded or initialized.

    При запуске Интернет Эксплорер:

    The page cannot be displayed

    When you use your computer, you may receive the following error message:

    Initialization function INITHELPERDLL in IPMONTR.DLL failed to start with error code 10107

    Так же вы можете не получать DHCP адрес и не получать адрес APIPA (из диапазона 169.254.x.x или пакеты могут отправляться в сеть, но не приниматься из сети, а при попытке выполненить команду ipconfig /renew вы можете получить следующие сообщения:

    Message 1:
    An error occurred while renewing interface local area connection: an operation was attempted on something that is not a socket. Unable to contact driver Error code 2.

    Message 2:
    The operation failed since no adapter is in the state permissible for this operation.

    Message 3:
    The attempted operation is not supported for the type of object referenced.

    В оснастке Device Manager, при выборе опции Show Hidden Devices, устройство TCP/IP Protocol Driver отображается выключенным в разделе Non-Plug and Play drivers, а так же вы получаете ошибку 24.

    При попытке создать PPP-соединение вы можете получить ошибку:
    Error 720: No PPP Control Protocols Configured.

    Итак, если вы столкнулись с подобными ошибками, высока вероятность того, что у вас поврежден стек протоколов TCP/IP или его настройки, следовательно необходимо сбросить его в "чистые" настройки.
     
    Для начала есть способ который позволяет мягко сбросить текущее состояние библиотеки WinSock в начальные "чистые" настройки. Делается это командой netsh winsock reset.

    Если первый способ не помог, то дальше надо сбросить конфигурацию интерфейсов IP. Делается это командой netsh int ip reset c:\resetlog.txt

    Если и это не помогло, полностью переустановить стек TCP/IP можно так:

    1. Удалите раздел реестра командой REG DELETE HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
    2. Удалите раздел реестра командой REG DELETE HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
    3. Перезагрузите компьютер
    4. Откройте папку %winroot%\inf
    5. В ней найтите файл nettcpip.inf, сделайте его резервную копию и после откройте его в текстовом редакторе (например Notepad).
    6. Найдите в нем строки:
      [MS_TCPIP.PrimaryInstall]
      ; TCPIP has properties to display
      Characteristics = 0xA0 ; NCF_HAS_UI | NCF_NOT_USER_REMOVABLE
    7. Исправить их на:
      [MS_TCPIP.PrimaryInstall]
      ; TCPIP has properties to display
      Characteristics = 0x80 ; NCF_HAS_UI
    8. Сохранить изменения в файле nettcpip.inf
    9. Открыть Network Connections и щелкнув правой кнопкой мыши по свойству нужного нам сетевого подключения выбрать Install->Protocol->Add. Далее выбрать "have disk" и указать путь %winroot%\inf
    10. Выбрать TCP/IP из списка. После этого вы опять попадете в окно свойств сетевого подключения, но для TCP/IP теперь кнопка Uninstall будет активна.
    11. Выберите в списке This connection uses the following items протокол TCP/IP и нажмите кнопку Uninstall.
    12. Перезагрузите компьютер
    13. Установить протокол TCP/IP аналогично шагам 9-12.

    Статьи KB по данной теме:
    http://support.microsoft.com/kb/325356
    http://support.microsoft.com/kb/317518
    http://support.microsoft.com/kb/299357

    Someone on Windows Live

    Comments (4)

    Дмитрий - Mar. 11, 2009
    Константин, большое спасибо за "танец с бубном" с nettcpip.inf.
    С уважением, Дмитрий.
    mailto: dom7351@mail.ru
    Stanislav - Aug. 12, 2009
    Я сделал как вы говорили, дошел до п.9, выбрав Свойства "Подключения удаленного доступа". Но после нажатия кнопки Add, я возвращаюсь в предыдущее окно и все компоненты исчезают. Т.е. окно "Выбор сетевого протокола" не появляется. Соответственно дальше я ничего не могу сделать
    Stanislav - Aug. 12, 2009
    Спасибо, помог откат (восстановление) системы. Проблема возникла после установления брандмауэра Agnitum Outpost. Окно "Выбор сетевого протокола" также стало появляться. Но как быть тем пользователям. у которых опция восстановления не включена - неужели переустанавливать Windows?
    ANDREY GRISHIN - Aug. 14, 2009
    После удаления протокола TCP/IP не получалось его снова добавить по шагам 9-12, выдавало сообщение "Невозможно установить компонент. Ошибка ... расширения типа". Помогли только рекомендации на http://forum.beirel.ru/index.php?showtopic=3873 и о чудо всё заработало, делал ремонт базы с помощью команды esentutl :)

    Trackbacks (2)

    The trackback URL for this entry is:
    http://kleontiv.spaces.live.com/blog/cns!3921B6BD56A1944D!174.trak
    Weblogs that reference this entry