Hardware ID: | MSTCP |
Категория: | Network Transport= |
Компания: | Microsoft |
Операционная система: | Windows |
Всего производителей: | 2345 |
Всего моделей: | 240345 |
Всего файлов: | 349456 |
Всего скачано: | 22344 |
Скачиваний за день: | 198 |
Самая популярная марка:
ATI
Самая популярная модель:
NVIDIA GeForce 9800 GT
По мотивам Дериного капутера, на память мне и, быть может, кому ещё.
Внешние проявления проблемы помершего драйвера:
1. Нет интернета. То есть в браузере сразу же открывается страничка, что не могу показать.
2. В свойствах интернет-соединения, в сведениях, не назначено никаких адресов. Нет IP, нет адреса сервера и шлюза, нет DNS и всё такое. Это ввиду того, что их надо получать от DHCP-сервера по тому же протоколу, которому не ня.
3. В Диспетчере устройств, если потребовать от него показать скрытые устройства, в списке "Драйверы несамонастраиваемых устройств" (или как-то так) у пункта "Драйвер протокола TCP/IP" будет жёлтый треугольник. И в свойствах какая-то ошибка.
4. В событиях системы это отразится как какая-то проблема с сервисом TCP/IP — например, 7000 "Не удалось запустить службу TCP/IP. Не найден файл". Причём, эта зараза не пишет, какой файл оно не нашло, так что простой заменой/добавлением не отделаться .з. Если кто знает, как это узнать, напишите, пожалуйста.
5. Служба оная будет в состоянии "Остановлена". Запустить её не удастся. Все завязанные на ней службы также будут не запущены.
6. ipconfig на любые запросы бдет ругаться, что "Данный запрос не поддерживается".
Что не ня:
1. sfc /scannow, как мне кажется, работать не будет. Или это только у Деры так. В общем, мне оно ругнулось, что какая-то служба не запущена. Как я подозреваю, именно из-за этого протокола .з.
2. netsh с просьбой перенастроить инет-службы ("netsh int ip reset") и винсок (аналогичная команда) не помогает.
3. WinSockFix тоже не помогает.
4. avz4 тоже.
Варианты решения:
1. "Восстановление системы". Если оно не испорчено вирусом или чем-то ещё, это самый простой путь.
2. Восстановление с установочного диска поверх. Но требуется диск с именно этой версией ОС.
3. Переустановка TCP/IP. С винХР оно является неудаляемой частью ОС, так что просто так это не сделать.
Но это можно :3
а) Идём в папку WINDOWS/Inf и ищем там nettcpip.inf
б) Исправляем в разделе [MS_TCPIP.PrimaryInstall] пункт Characteristics с 0xA0 на 0x80. То бишь, снимая флаг NCF_NOT_USER_REMOVABLE. Сохраняем. В х64 версиях ОС, возможно, потребуется переместить этот файл куда-то и подписать этот драйвер своей самодельной подписью, не забыв сохранить оригинальный cat-файл. Всё-таки х64-системы очень сильно не любят дрова без подписи. Или же запуститься в режиме(F8) без проверки подписей.
в) Идём в свойства любого интернет-подключения во вкладку со списком протоколов.
г) "Добавить" — "Протокол" — "С диска" — указываем папку с правленым inf-файлом, выбираем "TCP/IP протокол" (он будет без зелёной метки), соглашаемся, что он неподписанный, ня.
д) Мы снова в свойствах подключения. Выбираем TCP/IP протокол в списке. Теперь кнопочка "Удалить" доступна. Жмём её =)
е) Со всеми пугалками соглашаемся и удаляем его совсем.
ж) Удаляем нафиг из реестра ветки:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2
Перезагружаемся.
з) После перезагрузки исправляем файл обратно (0xA0 пишем вместо 0x80). Надо, чтоб файл стал таким же, как и до исправления. Соблюдайте пробелы и регистр.
и) Опять в свойства, опять "Добавить", "Протокол", папка, если всё сделали правильно, то "Протокол TCP/IP" будет теперь с зелёной меткой. Выбираем, соглашаемся, ставим.
к) Перезагружаемся. Вроде, теперь всё должно быть хорошо.
4. Если есть система такая же где-то на другом компе, то по inf-файлу этому проверяем наличие всех указанных в нём файлов и ключей реестра. Если чего не хватает — создаём согласно inf-файлу или копируем из другой ОС. Копирование касается, в основном, файлов или отсутствющих больших разделов реестра. Ещё, кстати, файлы можно взять с установочного диска, только что их ещё понадобится распаковать. но это тоже отдельная тема. Или из интернета, но с опаской — та ли версия там и мало ли какой вирус встроили. Если нашли отсутствющий файл и вернули — всё должно заработать .з. Кстати, ключи реестра проверять вручную смысла мало — с этим справится и ресет netsh’ом. А вот файлы проверить стоит =)
Возможно, есть и иные способы починить оную бяку.
Что делать если не работают сетевые протоколы? При попытки пропинговать сервер / ip-адресс вы получаете ошибку «Не удается обратиться к драйверу IP. Код ошибки 2»? Тогда у вас что-то со стеком TCP/IP, разберём подробнее.
Начну с лёгкого и простого, заканчивая более сложными решениями проблемы.
Возможно у вас на компьютере стоит Аваст и проблемы начались после обновления антивирусных баз, 6 декабря 2012 года аваст добавил в свои базы файл C:Windowssystem32driversTCPIP.sys , вскоре после обновления баз аваст нашёл этот файл в системных файлах и удалил (возможно поместил в карантин).
Не беда, ниже я напишу как восстановить работоспособность стека TCP/IP, после чего сеть должна заработать (если она конечно раньше работала):
1. Самый простой способ — воспользоваться avastfix.zip зеркало :
- для начала нужно скачать avastfix (ссылки строчкой выше)
- распаковать, допустим на диск C: (в архиве есть папка, так что после извлечения будет путь такой C:avastfix )
- если у вас стоит аваст, то отключите его: в правом нижнем углу найдите значок аваста (возле часов), нажмите на него правой кнопкой мышки и выберите управление экранами avast , далее нужно указать отключение навсегда
- запустите fixtcpip.bat , после чего компьютер перезагрузится
- после перезагрузки проверяем работу сети например пингом на сервер гугла: на клавиатуре нажмите одновременно на флажок (логотип windows), между Ctrl и Alt , и букву R , то есть Win + R . В появившемся окне напишите cmd , у вас открылась командная строка, в ней напишите ping 8.8.8.8 , должно появиться
Обмен пакетами с 8.8.8.8 по 32 байт:
Ответ от 8.8.8.8: число байт=32 время=55мс TTL=48
или что-то похожее, но не ошибка драйвера сети
C:Windowssystem32driversTCPIP.sys (у вас может быть установлен windows на другой раздел, например D: )
Давайте теперь рассмотрим что в этом «чудо» архиве:
fixtcpip.bat — некий скрипт, который импортирует в реестр стандартные настройки стека, распаковывает архив tcpip.rar при помощи UnRAR.exe в C:Windowssystem32drivers и перезагружает компьютер
2. Рассмотрим теперь ручное восстановление/копирование файла
- для начала всё же отключим аваст (см. выше 3-ий пункт » если у вас стоит …»)
- файл tcpip.sys можно скопировать из папки C:Windowssystem32dllcache , но возможно аваст его то же удалил, тогда можно взять загрузочный CD/DVD/USB диск и там найти этот файл в …I386TCPIP.SY_ . Так же файл можно взять с рабочей системы. Но если взять этот файл вам не откуда, тогда вот ссылка для SP3 (если у вас SP2, то можете попросить) tcpip.sys
- перезагрузите компьютер
- проверьте работоспособность сети/интернета, если работает, тогда обновите аваст и запустите аваст (см. последний пункт 1-го способа)
3. Если не помогли предыдущие способы, то скорее всего виноват не аваст. Проверьте, существует ли файл C:windowsinf
ettcpip.inf , если существует, тогда приступайте к следующему способу. Если файла нет, тогда его нужно скопировать с рабочей системы, нет рабочей системы? Не беда, скачайте отсюда nettcpip.inf
4. Переустановка стека TCP/IP используя Microsoft Fix it 50199 зеркало
5. Можно попробовать утилиту TCPIP.Sys RestoreTool от фирмы UnHackMe , этой утилитой я не пользовался, но по описанию она должна переустанавливать стек TCP/IP в операционных системах: Windows 2000/XP/Vista/Seven/8 32 и 64-бит
6. Сброс настроек стека TCP/IP вручную. На сайте Microsoft в статье kb299357 написано, что для переустановки достаточно выполнить выполнить всего одну команду в командной строке:
- запустите cmd
- выполните netsh int ip reset resetlog.txt
- перезагрузите компьютер
7. А теперь самое сложное переустановка стека TCP/IP в windows XP вручную.
- Загрузите windows в Безопасный режим , то есть включаете компьютер и многократно нажимайте на F8 пока не появится меню загрузки windows, выберите Безопасный режим
- Зайдите в реестр ( Пуск — Выполнить — regedit — OK или Win + R )
- Удалите два ключа и выйдите из реестра: