WSL2はインターネットに接続できず、ホストアドレスを見つけることができません。このため、WSL2を使用してサーバーにアクセスできず、そもそもLinuxをインストールする目的が達成されません。そこで、この記事では、次のような場合にどうすればよいかについて説明します。 WSL2 はインターネット アクセスがないと表示します そして ホストアドレスを解決できません。
WSL2 のインターネット アクセスなしの修正。ホスト アドレスを解決できません。
WSL2 にインターネット アクセスがなく、ホスト アドレスを解決できない場合は、以下の解決策に従ってください。
- インターネット接続と帯域幅を確認してください
- Windows でネットワークとインターネットのトラブルシューティングを実行する
- WSLをシャットダウンし、ネットワークプロトコルをリセットする
- ホスト名とホストファイルを確認する
- resolv.confファイルを確認する
それらについて詳細に議論しましょう。
1) インターネット接続と帯域幅を確認する
まず、インターネットに問題がないことを確認する必要があります。そのためには、無料のインターネット速度テスターのいずれかを使用します。帯域幅が低い場合は、ルーターの電源を入れ直してください。それでも問題が解決しない場合は、ISP に連絡して問題の解決を依頼してください。
2) Windowsでネットワークとインターネットのトラブルシューティングを実行する
インターネット速度に問題がない場合は、Get Help アプリからネットワークとインターネットのトラブルシューティング ツールを実行してください。ネットワークの問題を検出し、解決策を提示します。ネットワークの問題が解決したら、WSL を試してください。これで動作するはずです。
3) WSLをシャットダウンし、ネットワークプロトコルをリセットする
次に、Windows Subsystem for Linux をシャットダウンし、この問題の原因となった可能性のあるネットワーク プロトコルをリセットする必要があります。これを行うには、コマンド プロンプトで次のコマンドを 1 つずつ実行します (管理者として)。
wsl --shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns
完了したら、問題が解決したかどうかを確認します。
4) ホスト名とホストファイルを確認する
ホストファイルにローカルドメインとともにコンピュータのエントリが記載されていることを確認する必要があります。しかし、まずはマシンの名前を確認する必要があります。そのためには、 設定 そして システム > バージョン情報。
コンピュータの名前がわかったら、 コマンド・プロンプト WSL に移動します。次に、次のコマンドを実行します。
nano /etc/hostname
マシン名(具体的には、先ほど受け取った名前)を大文字で入力します。次に、マシン名以外の情報を削除します。
さあ、走りましょう。
nano /etc/hosts
の ホスト ファイルには、以下に示すような 2 つの行が含まれている必要があります。
127.0.0.1 localhost.localdomain localhost
127.0.1.1 DESKTOP-SOMETHING
最後に、ファイルを保存して終了します。
5) resolv.confファイルを確認する
Windowsは自動的にresolv.confファイルを生成しますが、間違ったネームサーバーが使用されることがあります。ファイルをチェックして、 ネームサーバー に設定されています 8.8.8.8これは Google Public DNS であり、無料で使用できます。同じことを実行するには、以下の手順に従ってください。
まず、次のコマンドを実行してファイルを見つけます。
sudo nano /etc/resolv.conf
次のエントリが表示される場合があります。
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/resolv.conf # (network) # generateResolvConf = false nameserver xxx.xx.xx
ネームサーバーの値を 8.8.8.8 に更新し、ファイルを保存します。これで、インターネットに接続できるようになります。今後ターミナルを開いたときに WSL がこのファイルをリセットしないようにするには、現在インターネットに接続している場合は、次のコマンドを実行します。
sudo rm /etc/resolv.conf sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf' sudo bash -c 'echo "(network)" > /etc/wsl.conf' sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf' sudo chattr +i /etc/resolv.conf
最後に、問題が解決されたかどうかを確認します。
それでおしまい!
読む: WSL が Windows 11 で動作しない、または起動しない
WSL2 のインターネットの問題を修正するにはどうすればよいですか?
WSL2 のインターネットに問題がある場合は、まず、ホスト Windows コンピューターが適切にインターネットに接続しているかどうかを確認してください。これは、無料のインターネット速度テスターを使用して行うことができます。ネットワークに問題がない場合は、ルーターとともにコンピューターを再起動します。それでも同じ問題が発生する場合は、前述のガイドを確認してください。
読む: Windows 11 で WSL カーネルを更新する方法
Uを修正する方法できる ホストを解決するには?
ホスト名が更新されていないか、正しくない場合、WSLはホストの解決に失敗する可能性があります。 /etc/ホスト ファイルでアーカイブサーバーのホスト名またはFQDNを更新してください。 /etc/ホスト ファイルを更新して変更を保存します。hosts ファイルを更新したら、sudo コマンドをもう一度使用してみてください。問題なく動作するはずです。
こちらもお読みください: Windows 11 で .sh またはシェル スクリプト ファイルを実行する方法。