Help and Support
 

powered byLive Search

如何在 Windows Server 2003、Windows XP 和 Windows Vista 中确定 Winsock2 是否已损坏并从中恢复

文章编号:811259
最后修改:2008年2月29日
修订:14.4
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 (http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Vista 中备份和还原注册表
本页

症状

当您尝试使用 Ipconfig 程序 (Ipconfig.exe) 释放和续订 IP 地址时,可能会收到下列错误消息之一。
消息 1
在续订接口“Internet”时出错: 在一个非套接字上尝试了一个操作。
消息 2
在续订接口“本地连接”时出错: 无法加载或初始化请求的服务提供程序。
当您启动 Internet Explorer 时,可能会收到以下错误消息:
The page cannot be displayed
当您使用计算机时,可能会收到以下错误消息:
Initialization function INITHELPERDLL in IPMONTR.DLL failed to start with error code 10107
此外,您还可能遇到以下症状:IP 地址或自动专用 IP 地址 (APIPA) 缺失;只能接收而不能发送 IP 数据包。

当您使用 ipconfig /renew 命令时,可能会收到以下错误消息。

消息 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.
消息 2
The operation failed since no adapter is in the state permissible for this operation.
消息 3
参考的对象类型不支持尝试的操作。
当您在“设备管理器”中单击“显示隐藏的设备”时,“非即插即用驱动程序”下将显示处于禁用状态的“TCP/IP 协议驱动程序”,并且您会收到错误代码 24。

当您创建拨号连接时,可能会收到以下错误消息:
Error 720: No PPP Control Protocols Configured

回到顶端

原因

如果 Winsock 注册表项已损坏,则可能会出现这些问题。

回到顶端

解决方案

为 Windows XP 用户确定 Winsock2 项是否损坏的手动步骤

要确定上述症状是否由 Winsock2 项的问题引起,请使用下列方法之一。

方法 1:使用 Netdiag 工具

要使用 Netdiag 工具,必须安装 Microsoft Windows XP 支持工具。为此,请按照下列步骤操作。

注意
?如果您已经安装了支持工具,请转到本部分的第二个过程。
?如果您尚未安装支持工具,且没有 Windows XP 安装 CD,请转到“方法 2”。
1. 插入 Windows XP 安装 CD,然后找到 Support\Tools 文件夹。
2. 双击“Setup.exe”文件。
3.按照屏幕上的步骤操作,直至出现“请选择安装类型”屏幕。
4.在“请选择安装类型”屏幕上,单击“完全”,然后单击“下一步”。
完成安装后,请按照下列步骤操作:
1. 单击“开始”,单击“运行”,键入 Command,然后单击“确定”。
2.键入 netdiag /test:winsock,然后按 Enter。
Netdiag 工具将返回对若干网络组件(包括 Winsock)的测试结果。有关测试的详细信息,请在 netdiag 命令的末尾添加 /vnetdiag /test:winsock /v

方法 2:使用 Msinfo32 程序

注意:只有在您没有 Windows XP 安装 CD 且未安装支持工具时,才应使用此方法。
1.单击“开始”,单击“运行”,键入“Msinfo32”,然后单击“确定”。
2.依次展开“组件”和“网络”,然后单击“协议”。
3.“协议”下将显示 10 个节。如果 Winsock2 项未损坏,则节标题中将包括下列名称:
?MSAFD Tcpip [TCP/IP]
?MSAFD Tcpip [UDP/IP]
?RSVP UDP Service Provider
?RSVP TCP Service Provider
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
如果显示的名称与此列表中的名称有任何不同,则说明 Winsock2 项已损坏,或安装了第三方加载项(如代理软件)。
如果安装了第三方加载项,则该加载项的名称将替代列表中的字母“MSAFD”。

如果列表中的节数多于 10 个,则说明安装了第三方加载项。

如果少于 10 个,则说明缺少信息。

注意:这些条目表示 Windows XP 安装中只安装了 TCP/IP 协议。在 Winsock 正常运行的情况下,如果安装了其他协议,则还可以看到其他条目。例如,如果安装了 NWLink IPX/SPX,您将看到 7 个附加的节,从而使总节数达到 17 个。下面是一个新节的示例标题:
MSAFD nwlnkipx [IPX]
另外,安装 NWLink IPX/SPX 时创建的每个新节都以“MSAFD”开头。因此,仍只有两个节不以这些字母开头。

如果 Netdiag 测试失败,或者您通过查看 Msinfo32 确定 Winsock 已损坏,则必须使用下一部分中的步骤修复 Winsock2 项。

用于使 Winsock2 从损坏中恢复的手动步骤

针对 Windows XP Service Pack 2 的说明

要在已安装 Windows XP Service Pack 2 (SP2) 的情况下修复 Winsock,请在命令提示符处键入 netsh winsock reset,然后按 Enter。

注意:运行此命令后需要重新启动计算机。另外,对于运行 Windows XP SP2 的计算机,可以使用新的 netsh 命令来重建 Winsock 项。有关更多信息,请访问下面的网站:
http://technet.microsoft.com/zh-cn/library/bb457156(en-us).aspx (http://technet.microsoft.com/zh-cn/library/bb457156(en-us).aspx)
警告:运行 netsh winsock reset 命令时,访问或监视 Internet 的程序(例如防病毒程序、防火墙或代理客户端)可能会受到不良影响。使用此解决方案后,如果有程序无法继续正常工作,请重新安装该程序以还原其功能。

注意:如果这些步骤不能解决该问题,请按照下一部分中的步骤操作。

针对未安装 Service Pack 2 的 Windows XP 的说明

要在未安装 Windows XP SP2 的情况下修复 Winsock,请删除损坏的注册表项,然后重新安装 TCP/IP 协议。
步骤 1:删除已损坏的注册表项
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

有关如何备份注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 (http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Vista 中备份和还原注册表
1.单击“开始”,然后单击“运行”。
2.在“打开”框中,键入“regedit”,然后单击“确定”。
3.在注册表编辑器中,找到以下注册表项,然后右键单击每一项并单击“删除”:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
4.当提示您确认删除时,请单击“是”。
注意:删除 Winsock 项后需要重新启动计算机。这样做可使 Windows XP 操作系统为这两项创建新的 shell 条目。如果在删除 Winsock 项后未重新启动计算机,则下一步将无法正常进行。
步骤 2:安装 TCP/IP
1.右键单击网络连接,然后单击“属性”。
2.单击“安装”。
3.单击“协议”,然后单击“添加”。
4.单击“从磁盘安装”。
5.键入 C:\Windows\inf,然后单击“确定”。
6.在可用协议列表中,单击“Internet 协议(TCP/IP)”,然后单击“确定”。

如果未显示“Internet 协议(TCP/IP)”,请按照下列步骤操作:
a. 单击“开始”,然后单击“搜索”。
b. 在“搜索助理”窗格中,单击“更多高级选项”。
c. 单击以下三个复选框以将其选中:
?搜索系统文件夹
?搜索隐藏的文件和文件夹
?搜索子文件夹
d. 在“全部或部分文件名”框中,键入 nettcpip.inf,然后单击“搜索”。
e. 在结果窗格中,右键单击“Nettcpip.inf”,然后单击“安装”。
7.重新启动计算机。

为 Windows Vista 用户确定 Winsock2 项是否损坏的手动步骤

1.单击“开始”,单击“运行”,键入“Msinfo32”,然后单击“确定”。
2.依次展开“组件”和“网络”,然后单击“协议”。
3.“协议”下将显示 10 个节。如果 Winsock2 项未损坏,则节标题中将包括下列名称:
?MSAFD Tcpip [TCP/IP]
?MSAFD Tcpip [UDP/IP]
? MSAFD Tcpip [TCP/IPv6]
?MSAFD Tcpip [UDP/IPv6]
?RSVP UDP Service Provider
?RSVP TCP Service Provider
? RSVP UDPv6 Service Provider
? RSVP TCPv6 Service Provider
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
?MSAFD NetBIOS [\Device\NetBT_Tcpip...
如果显示的名称与此列表中的名称有任何不同,则说明 Winsock2 项已损坏,或安装了第三方加载项(如代理软件)。
如果安装了第三方加载项,则该加载项的名称将替代列表中的字母“MSAFD”。

如果列表中的节数多于 10 个,则说明安装了第三方加载项。

如果少于 10 个,则说明缺少信息。

注意:这些条目表示 Windows XP 安装中只安装了 TCP/IP 协议。在 Winsock 正常运行的情况下,如果安装了其他协议,则还可以看到其他条目。例如,如果安装了 NWLink IPX/SPX,您将看到 7 个附加的节,从而使总节数达到 17 个。下面是一个新节的示例标题:
MSAFD nwlnkipx [IPX]
另外,安装 NWLink IPX/SPX 时创建的每个新节都以“MSAFD”开头。因此,仍只有两个节不以这些字母开头。

如果 Netdiag 测试失败,或者您通过查看 Msinfo32 确定 Winsock 已损坏,则必须使用下一部分中的步骤修复 Winsock2 项。

为 Windows Vista 用户从 Winsock2 损坏中恢复的手动步骤

Winsock 损坏可导致连接问题。要在 Windows Vista 中使用“网络诊断”解决此问题,请按照下列步骤操作:
1.单击“开始”,然后单击“网络”。
2.单击“网络和共享中心”。
3.在“网络和共享中心”框中,单击“诊断和修复”。
注意:也可以访问控制面板中的“网络和共享中心”。

如果网络和诊断工具找不到问题,则可以手动修复或重置 Winsock。

为 Windows Vista 用户修复或重置 Winsock 的手动步骤

1.单击“开始”,在“开始搜索”框中键入 cmd,右键单击“cmd.exe”,单击“以管理员身份运行”,然后按“继续”。
2.在命令提示符处键入 netsh winsock reset,然后按 Enter。

注意:如果该命令键入错误,则出现一条错误消息。重新键入该命令。当该命令成功完成时,出现一条确认消息,后跟一个新的命令提示符。然后,转到步骤 3。
3.键入 exit,然后按 Enter。

回到顶端

类似的问题和解决方案

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
936211 (http://support.microsoft.com/kb/936211/) 如何解决 Internet Explorer 中的网络连接问题
有关如何解决 Windows Vista 中的网络和 Internet 连接问题的更多信息,请访问下面的 Microsoft 网站:
http://windowshelp.microsoft.com/Windows/zh-cn/Help/33307acf-0698-41ba-b014-ea0a2eb8d0a82052.mspx (http://windowshelp.microsoft.com/Windows/zh-cn/Help/33307acf-0698-41ba-b014-ea0a2eb8d0a82052.mspx)

回到顶端


这篇文章中的信息适用于:
?Microsoft Windows Server 2003 Standard Edition
?Microsoft Windows Server 2003 Enterprise Edition
?Microsoft Windows XP Home Edition
?Microsoft Windows XP Professional Edition
?Windows Vista Home Basic
?Windows Vista Home Premium
?Windows Vista Ultimate

回到顶端

关键字:?
kbhowto kbresolve kbhowto kbacwsurvey kbnetwork kberrmsg kbprb KB811259

回到顶端

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

文章翻译

 

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.