Tuesday, August 19, 2008

如何在 Windows Server 2003、Windows XP 及 Windows Vista 中判斷 Winsock2 是否毀損並進行修復

摘自微軟 http://support.microsoft.com/kb/811259

解決方案
Windows XP 使用者手動判斷 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://technet.microsoft.com/en-us/library/bb457156.aspx (http://technet.microsoft.com/en-us/library/bb457156.aspx)
警告 當您執行 netsh winsock reset 命令時,存取或監視網際網路的程式 (例如防毒軟體、防火牆或 Proxy 用戶端) 可能會受到負面的影響。如果執行這個解決方案後,有程式變成無法正常運作,請重新安裝該程式,以還原其功能。

注意 如果這些步驟無法解決問題,請依照下節中的步驟執行。
Windows XP 未安裝 Service Pack 2 時的指示
如果您尚未安裝 Windows XP SP2 而要修復 Winsock,請刪除損毀的登錄機碼,然後重新安裝 TCP/IP 通訊協定。
步驟 1:刪除毀損的登錄機碼
重要 這個章節、方法或工作包含修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,請務必小心執行這些步驟。為加強保護,修改登錄之前請務必先備份。如果發生問題,您就可以還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756 (http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Server 2003 中備份、編輯及還原登錄


如需有關如何備份登錄的詳細資訊,請按一下下面的文件編號,檢視「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)],然後按一下 [確定]。

如果未出現 Internet Protocol (TCP/IP),請依照下列步驟執行:
a. 按一下 [開始],然後按一下 [搜尋]。
b. 在 [搜尋小幫手] 窗格中,按一下 [進階選項]。
c. 按一下以選取下列三個核取方塊:
• 搜尋系統資料夾
• 搜尋隱藏的檔案和資料夾
• 搜尋子資料夾
d. 在 [部份或完整的檔案名稱] 方塊中,輸入 nettcpip.inf,然後按一下 [搜尋]。
e. 在結果窗格中,用滑鼠右鍵按一下 Nettcpip.inf,然後按一下 [安裝]。
7. 重新啟動電腦。
Windows Vista 使用者手動判斷 Winsock2 機碼是否已毀損的步驟
1. 按一下 [開始],然後按一下 [執行],輸入 Msinfo32,然後按一下 [確定]。
2. 展開 [元件],再展開 [網路],然後按一下 [通訊協定]。
3. [通訊協定] 底下會出現十個區段。如果 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 機碼已經毀損,或者您具有協力廠商的附加元件,例如,安裝了 Proxy 軟體。
如果您安裝了協力廠商的附加元件,則附加元件的名稱就會取代清單中的 MSAFD 字母。

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

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

注意 這些項目代表具有只安裝 TCP/IP 通訊協定的安裝。您可以具備工作 Winsock,並查看其他項目是否安裝了其他通訊協定。例如,如果您安裝 NWLink IPX/SPX,就會看到另外 7 個區段,所以總共是 17 個區段。下列是其中一個新區段的範例名稱:
MSAFD nwlnkipx [IPX]
此外,安裝 NWLink IPX/SPX 而建立的每個新區段,都會以 MSAFD 為開頭。因此,只剩下兩個區段不是以 MSAFD 開頭。

如果 Netdiag 測試失敗,或是您查看 Msinfo32 之後判斷 Winsock 已經毀損,您必須執行下一節中的步驟,修復 Winsock2 機碼。
Windows Vista 使用者手動修復 Winsock2 損毀的步驟
Winsock 的損毀可能會造成連線問題。如果要在 Windows Vista 中藉由使用「網路診斷」來解決此問題,請依照下列步驟執行:
1. 按一下 [開始],然後按一下 [網路]。
2. 按一下 [網路和共用中心]。
3. 在 [網路和共用中心] 方塊中,按一下 [診斷和修復]。
注意 您也可以從 [控制台] 存取 [網路和共用中心]。

如果「網路診斷」工具無法找到問題,您可以手動修復或重設 Winsock。
Windows Vista 使用者手動修復或重設 Winsock2 的步驟
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 中疑難排解網路與網際網路連線問題的詳細資訊,請造訪下列 Microsoft 網站:
http://windowshelp.microsoft.com/Windows/zh-tw/Help/33307acf-0698-41ba-b014-ea0a2eb8d0a81028.mspx (http://windowshelp.microsoft.com/Windows/zh-tw/Help/33307acf-0698-41ba-b014-ea0a2eb8d0a81028.mspx)

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

No comments: