четверг, 14 января 2010 г.

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

Для начала приведу основные симптомы сбоя в стеке 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. Открыть свойства нужного нам сетевого подключения, выбрать 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.

Комментариев нет:

Отправить комментарий