Windows 10で「ネットワークプロトコルがありません」エラーが出たときの対処法|Winsockレジストリの修復手順
知人のWindows 10家庭用パソコンで、2~3日に一度インターネット接続が切断される現象が発生していました。タスクトレイのネットワークアイコンには「制限付き接続」と表示され、ネットワーク診断ツール(エラーのあるネットワークアイコンをクリックするか、設定→更新とセキュリティ→トラブルシューティング→インターネット接続のトラブルシューティングツールから実行)を使うと、次のような典型的なエラーが表示されます。
「このコンピューターで1つ以上のネットワークプロトコルが見つかりません。」
「ネットワーク接続に必要なWindows Socketsレジストリエントリがありません。」
知人はこれまでは、Windowsとルーターの再起動で一時的に復旧させていましたが、数日後には必ず同じ問題が再発していました。そこで今回、この「ネットワークプロトコルが見つかりません」エラーの根本的な解決方法を試してみました。
ステップ1:TCP/IPとWinsockの設定をリセットする
このような断続的に発生する問題に対しては、まず基本となるTCP/IPおよびWindows Sockets(Winsock)設定のリセットから始めるのが定石です。
なお、DHCPではなくIPアドレスを手動で設定している場合は、以下のコマンドを実行するとネットワーク設定が初期化されるため、事前に現在のIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーの設定値をメモしておきましょう。
管理者権限でコマンドプロンプトを開き、まずはWinsockカタログをリセットします。
netsh winsock resetSucessfully reset the Winsock Catalog. You must restart the computer in order to complete the reset.
続いて、IPv4のTCP/IP設定をリセットします。
netsh interface ipv4 resetResetting Compartment Forwarding, OK! Resetting Compartment, OK! Resetting Control Protocol, OK! Resetting Echo Sequence Request, OK! Resetting Global, OK! Resetting Interface, OK! Resetting Anycast Address, OK! Resetting Multicast Address, OK! Resetting Unicast Address, OK! Resetting Neighbor, OK! Resetting Path, OK! Resetting Potential, OK! Resetting Prefix Policy, OK! Resetting Proxy Neighbor, OK! Resetting Route, OK! Resetting Site Prefix, OK! Resetting Subinterface, OK! Resetting Wakeup Pattern, OK! Resetting Resolve Neighbor, OK!
これらのコマンドにより、すべてのネットワークアダプターのTCP/IP設定と、WinsockのLSP(Layered Service Provider)が既定の状態に戻ります。その結果、サードパーティ製ソフトウェアがWinsockスタックに組み込んだハンドラーもすべて削除される点に注意してください。ウイルス対策ソフト、パケットキャプチャツール、ファイアウォール、さらには一部のウイルスなどが、Winsockネットワークスタックに独自のハンドラーを組み込んでいるケースが多くあります。
すべてのコマンドを実行したら、パソコンを再起動してインターネット接続を確認してください。
ステップ2:レジストリからWinsock設定を削除する
上記の方法でも問題が解決しない場合は、レジストリから現在のWindows Sockets設定を削除します。
- レジストリエディター(regedit.exe)を開き、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSockキーへ移動します。作業前に、このキーをREGファイルとしてエクスポートしてバックアップしておきましょう(キーを右クリック→エクスポート)。
- Winsockキーを右クリックして削除します。
- 同じ手順で、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2キーも削除します。
ステップ3:TCP/IPプロトコルを手動で再インストールする
レジストリキーを削除したら、TCP/IPプロトコルコンポーネントを手動で再インストールします。
- ncpa.cplを実行してネットワーク接続画面を開き、ネットワークアダプターのプロパティを表示してインストールをクリックします。
- コンポーネントの一覧からプロトコルを選択します。
- 「ディスク使用」を選択し、フォルダーパスにC:\Windows\INFを指定します。
- 利用可能なネットワークプロトコルの一覧からInternet Protocol Version 4 (TCP/IPv4)を選択し、パソコンを再起動します。
「このプログラムはグループポリシーによってブロックされています」エラーへの対処
TCP/IPコンポーネントの再インストール時に、次のようなエラーが表示されることがあります。
Network Connections Could not add the requested feature. The error is: This program is blocked by group policy. For more information, contact your system administrator.
このエラーを解消するには、同じOSバージョンかつ同じビルド番号が動作している別のパソコンから、HKLM\SYSTEM\CurrentControlSet\Services\WinsockとHKLM\SYSTEM\CurrentControlSet\Services\Winsock2のレジストリキーを書き出したREGファイルを入手し、問題のパソコンにインポートします。
クリーンなWindows 10 x64 LTSC用の修復用REGファイルは以下の通りです。
- win-sock-repair-win10.reg
- winsock2-repair-win10.reg
これらのREGファイルをレジストリにインポートしてパソコンを再起動し、改めてTCP/IPプロトコルの再インストールを試みてください。(どうしても別のパソコンを用意できない場合は、ステップ2でバックアップしておいたWinsockレジストリキーを使用することも可能ですが、クリーンなファイルを使う方が確実です。)
ステップ4:IPアドレスとDNSサーバーの設定を確認する
ネットワーク接続のプロパティを開き、IPアドレスとDNSサーバーを自動取得する設定になっているか、あるいは手動設定が必要かを確認します(今回のケースでは、リセット後に静的IP設定が消えてしまいました)。家庭用パソコンであれば、Googleの公開DNSサーバーである8.8.8.8と8.8.4.4を静的DNSとして指定するのも有効です。
さらに詳細設定ボタンをクリックし、WINSタブで「LMHOSTSの参照」および「NetBIOS over TCP/IP」を無効にしておきましょう。これらのプロトコルはすでに時代遅れであり、現代のネットワーク環境では不要です。
それでも解決しない場合
以上の手順を実行した結果、「1つ以上のネットワークプロトコルが見つかりません」というエラーは完全に解消されました。もし同様の手順でも改善しない場合は、NIC(ネットワークアダプター)ドライバーの再インストール(更新)をおすすめします。ドライバーの不具合も、この問題の原因となることがあるためです。
-
Windows 10 の接続失敗エラー651を直す方法|原因と対処法を徹底解説
パソコン(Windows 7/8/8.1/10)をブロードバンド接続でインターネットに接続しようとした際、「モデム(または他の接続デバイス)がエラーを報告しました」というエラー651が表示されることがあります。エラー651は、PPPoE接続を使用してインターネットに接続しようとする際によく発生するWindowsの一般的なエラーで、必要なシステムドライバーファイルが正常に動作せず、インターネットに接続できなくなる状態を意味します。 このエラーの主な原因はレジストリの不具合で、ルーターやハブ機器が正しく認識されなくなることがあります。また、IPアドレス設定の誤りやインターネット接続の切断も、Win
-
Windows 10で「1つまたは複数のネットワークプロトコルが見つかりません」エラーを解決する方法
Wi-Fiやその他のインターネット接続が突然使えなくなることがあります。Wi-Fiには「インターネットアクセスあり」と表示されているのに、ウェブサイトが一切開けず、実際にはインターネットに接続できていない状態です。タスクバーの通知領域にあるネットワークアイコンを右クリックして、内蔵のネットワークトラブルシューティングツールで診断すると、「このコンピューターで1つまたは複数のネットワークプロトコルが見つかりません」または「Windowsソケットのレジストリエントリが不足しています」というエラーが表示されます。多くの場合、誤ったネットワーク設定や、Winsock(Windows Sockets A