發新話題
打印

如何判定並修復Winsock2 毀損

如何判定並修復Winsock2 毀損

如何判定並修復 Winsock2 毀損
檢視此文章適用的產品。
文章編號    :    811259
上次校閱    :    2006年5月24日
版次    :    12.5
重要 本文包含有關修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 登錄說明
在此頁中
徵狀
發生的原因
解決方案
如何判斷 Winsock2 機碼是否已毀損
方法 1:使用 Netdiag 工具
loadTOCNode(3, 'resolution');
方法 2:使用 Msinfo32 程式
如何修復 Winsock2 的毀損
Windows XP 已安裝 Service Pack 2 時的指示
Windows XP 未安裝 Service Pack 2 時的指示
步驟 1:刪除毀損的登錄機碼
步驟 2:安裝 TCP/IP
徵狀
當您嘗試使用 Ipconfig 程式釋出及更新 IP 位址時,可能會收到下列錯誤訊息:
An error occurred while renewing interface 'Internet': (更新 [網際網路] 介面時發生錯誤:) 嘗試操作的對象不是通訊端。
當您啟動 Internet Explorer 時,可能會收到下列錯誤訊息:
無法顯示網頁
當您使用電腦時,可能會收到下列錯誤訊息:
Initialization function INITHELPERDLL in IPMONTR.DLL failed to start with error code 10107 (IPMONTR.DLL 中的初始化函數 INITHELPERDLL 無法啟動,錯誤碼 10107)
此外,您可能沒有 IP 位址或「自動私人 IP 位址」(APIPA,Automatic Private IP Addressing),並且可能是在接收 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)
訊息 2
The operation failed since no adapter is in the state permissible for this operation. (作業失敗,因為沒有介面卡處於可以進行這項作業的狀態)
訊息 3
The attempted operation is not supported for the type of object referenced. (不支援這項物件參照類型的操作)
在 [裝置管理員] 中,當您按一下 [顯示隱藏裝置] 時,則 [非隨插即用驅動程式] 底下的 TCP/IP 通訊協定驅動程式列為已停用,而且您收到錯誤碼 24。

當您建立撥號連線時,可能會收到下列錯誤訊息:
Error 720:No PPP Control Protocols Configured (錯誤 720:沒有設定任何 PPP 控制通訊協定)

回此頁最上方
發生的原因
當 Winsock 登錄機碼受到損壞或毀損時,就會發生這些問題。

回此頁最上方
解決方案
如何判斷 Winsock2 機碼是否已毀損
如果要判斷這些徵狀是不是因為 Winsock2 機碼發生問題而造成的,請使用下列方法之一:
方法 1:使用 Netdiag 工具
如果要使用 Netdiag 工具,您必須安裝 Microsoft Windows XP 支援工具。如果要執行這項操作,請依照下列步驟執行。

注意
•    如果您已經安裝支援工具,請前往本節中的第二個程序。
•    如果您尚未安裝支援工具,並且沒有 Windows XP 安裝光碟,請前往方法 2。
1.    插入您的 Windows XP 安裝 CD,然後找出 Support\Tools 資料夾。
2.    按兩下 Setup.exe 檔。
3.    依照螢幕上的步驟執行,直到出現 [請選擇一個安裝類型] 畫面。
4.    在 [請選擇一個安裝類型] 畫面中,按一下 [完整安裝],然後按一下 [下一步]。
安裝完成時,請執行下列步驟:
1.    按一下 [開始],然後按一下 [執行],輸入 Command,然後按一下 [確定]。
2.    輸入 netdiag /test:winsock,然後按下 ENTER。
Netdiag 工具將會傳回數個網路元件 (包括 Winsock) 的測試結果。如需有關測試的詳細資料,請在 netdiag 命令後面加上 /v:netdiag /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 機碼已經毀損,或者您具有協力廠商的附加元件,例如,安裝了 Proxy 軟體。
如果您安裝了協力廠商的附加元件,則附加元件的名稱就會取代清單中的 MSAFD 字母。

如果是多於 10 個區段,則表示您安裝了協力廠商的附加程式。

如果少於 10 個區段,則表示資訊遺失。

注意 這些項目代表具有只安裝 TCP/IP 通訊協定的安裝。您可以具備工作 Winsock,並查看其他項目是否安裝了其他通訊協定。例如,如果您安裝 NWLink IPX/SPX,就會看到另外 7 個區段,所以總共是 17 個區段。下列是其中一個新區段的範例名稱:
MSAFD nwlnkipx [IPX]
此外,安裝 NWLink IPX/SPX 而建立的每個新區段,都會以 MSAFD 為開頭。因此,只剩下兩個區段不是以 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://www.microsoft.com/taiwan/ ... ntain/sp2netwk.mspx (http://www.microsoft.com/taiwan/ ... ntain/sp2netwk.mspx)
警告 當您執行 netsh winsock reset 命令時,存取或監視網際網路的程式 (例如防毒軟體、防火牆或 Proxy 用戶端) 可能會受到負面的影響。如果執行這個解決方案後,有程式變成無法正常運作,請重新安裝該程式,以還原其功能。

注意 如果這些步驟無法解決問題,請依照下一節的步驟執行。
Windows XP 未安裝 Service Pack 2 時的指示
如果要在未安裝 Windows XP SP2 的情況下修復 Winsock,請刪除毀損的登錄機碼,然後重新安裝 TCP/IP 通訊協定。
步驟 1:刪除毀損的登錄機碼
警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。這些問題可能會需要您重新安裝作業系統才能解決。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。

如需有關如何備份登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756 (http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Server 2003 中備份、編輯及還原登錄
1.    按一下 [開始],然後按一下 [執行]。
2.    在 [開啟] 方塊中,輸入 regedit,然後按一下 [確定]。
3.    在 [登錄編輯程式] 中找出下列機碼,再用滑鼠右鍵按一下每個機碼,然後按 [刪除]:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
4.    提示您是否確定要刪除時,請按一下 [是]。
注意 刪除 Winsock 機碼之後,請重新啟動電腦。如此,Windows XP 作業系統就會為這兩個機碼建立新的殼層項目。如果刪除 Winsock 機碼之後沒有重新啟動電腦,下一個步驟就會無法正確執行。
步驟 2:安裝 TCP/IP
1.    用滑鼠右鍵按一下網路連線,再按一下 [內容]。
2.    按一下 [安裝]。
3.    按一下 [通訊協定],然後按一下 [新增]。
4.    按一下 [從磁片安裝]。
5.    輸入 C:\Windows\inf,然後按一下 [確定]。
6.    在可用通訊協定的清單中按一下 [Internet Protocol (TCP/IP)],然後按一下 [確定]。
7.    重新啟動電腦。

回此頁最上方
這篇文章中的資訊適用於:
•    Microsoft Windows XP Home Edition (家用版)
•    Microsoft Windows XP Professional
•    Microsoft Windows Server 2003, Standard Edition (32-bit x86)
•    Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)

TOP

發新話題