故障起因:
笔者接到一位员工的电话,声称自己的计算机无法正常访问网络了。主要问题就是所有网络工具无法使用。对于一些简单的网络故障来说,笔者还是可以非常轻松解决的。于是亲自查看该计算机发现启动和运行程序没有任何异样,但是卡巴斯基杀毒软件不能正常启动了,开QQ程序却弹出一个空白的MessageBox,然后就没有任何反应了,想上网查一下是什么原因,却发现浏览器什么页面也打不开,也就是说所有程序都无法访问网络。接下来笔者尝试用ping网关地址的方法来检测连通情况,结果却得到了和以往都不同的信息,在命令提示行窗口中显示出了
“Unable to initialize Windows Sockets interface, error code 0”的提示,具体意思就是不能够初始化windows sockets的接口,错误代码为0。
故障解决:
笔者通过另外一台计算机查看了故障提示含义,原来这个CODE 0是WSAStartup不能初始化的错误代码,也就是说该计算机的socket出问题了。之后尝试卸载网卡,重新安装驱动,问题依然没有解决。看来不是硬件问题,于是将解决问题的要害定位到软件和系统。之后通过Google搜索
发现了解决方案,下面将解决步骤写出来。
第一步:出现“Unable to initialize Windows Sockets interface, error code 0”的提示是因为本地系统的注册表存在问题造成的。而根据提示描述我们可以知道是windows Sockets出现问题,所以在注册表中寻找windows Sockets对应的信息。
第二步:在没有问题的计算机上通过“开始->运行->输入regedit后回车”进入注册表编辑器。
第三步:在注册表编辑器中找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/WinSock2/Parameters/PRotocol_Catalog9/Catalog_Entries键值,在该键值下应该有十几项,每一个项目对应一个TCP/ip接口,这些接口有一个出问题就会造成网络故障。当然项目数
也随着机器的不同而有很大区别,少则十几个,多则几十个。(如图1)
图1
第四步:我们把正常计算机注册表中对应的此键值导出,方法是在该键值上点右键选择“导出”。(如图2)
图2
第五步:在导出范围处一定要选择“所选分支”,而不是“全部”,之后为保存的文件名起一个文件即可。(如图3)
图3
更多的请看:http://www.qqread.com/windows/2003/index.Html
第六步:之后我们把这个保存的注册表文件复制到有问题的计算机上,然后通过双击运行的方法将其导入到有问题机器的注册表中,选择“是
”按钮完成导入工作。(如图4)
图4
关于Unable to initialize Windows socket interface, error code 6的解决方法:
当然笔者在寻找本次故障解决方法的同时还发现原来Unable to initialize Windows socket interface的网络故障还是比较常见的,上面我们对error code 0进行了故障排除,下面介绍假如ping网关时出现Unable to initialize Windows socket interface, error code 6怎么办!
(1)error code 6故障现象:
error code 6故障现象主要体现在以下两个方面,第一就是在尝试使用 Internet EXPlorer浏览Internet站点时,可能会收到以下错误消息——The page cannot be displayed。第二当在命令提示符下使用“ping”命令时,您可能会收到以下错误消息Unable to initialize Windows socket interface, error code 6。即使你能够通过使用拨号网络成功连接到Internet服务提供商(ISP),也可能会发生这些错误消息。
(2)故障原因:
同样是因为注册表出错引起的,在注册表中HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Winsock2键值丢失或损坏。
(3)解决故障:
解决故障的步骤和上面所说的CODE 0错误类似,不过要相对复杂些。
第一步:在出问题的计算机上启动“注册表编辑器”(Regedit.exe)。
第二步:找到并单击下面的注册表项HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Winsock2
第三步:导出Winsock2项以将其备份,然后单击Winsock2项并按DELETE 键将其删除。最后确认对此项的删除,然后退出“注册表编辑器”。(如图5)
图5
第四步:卸载拨号网络,方法是启动控制面板,然后双击添加/删除程序。单击Windows安装程序选项卡。单击通讯,单击具体资料,然后单击以清除拨号网络复选框。确定后就完成删除拨号网络的操作。
第五步:卸载拨号网络之后,重新启动计算机
第六步:按照前面介绍的卸载拨号网络的方法,然后在通讯标签中单击具体资料,然后单击以选中拨号网络复选框。确定后重新启动计算机。之后就会发现计算机已经恢复正常了,HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Winsock2键值下的所有项和信息都被自动修复了。
用winsockfix修复WINSOCKS故障:
实际上除手工修复以上问题外我们还可以通过第三方工具来解决,这里笔者向大家推荐一个名为winsockfix的程序,通过他可以自动备份和修复本机当前的winsocks键值。
winsockfix小档案:
软件大小:1.36M
软件语言:英文版
适用平台:2000/XP/2003
下载地址:http://www.onlinedown.net/soft/35272.htm
第一步:下载winsockfix.exe后直接运行。
第二步:该软件有三个按钮可以选择,FIX按钮可以帮助本地系统自动修复WINSOCKS键值。
第三步:当然在点FIX按钮之前建议各位读者先使用REG-BACKUP按钮备份当前注册表中WINSOCKS键值。(如图6)修复完毕后我们重新启动计算机就可以解决之前碰到的网络故障了。
图6
总结:
本文介绍了两种由于注册表问题造成网络出现连通故障的案例,实际上对于ping网关出现Unable to initialize Windows socket interface的提示信息时我们都可以通过这些方法来完成,第一个方法具有一定的局限性,不一定对每个计算机都起作用,而第二个方法则比较普遍,他会重新建立所有出问题的键值。
新闻热点
疑难解答