トラブルシューティングの Windows Subsystem for LinuxTroubleshooting Windows Subsystem for Linux

Bash の VPN に接続すれば、ネットワーク接続を失ったBash loses network connectivity once connected to a VPN

Windows 上の VPN に接続したら、bash にネットワーク接続が切断されると、bash 内からこの回避策をお試しください。If after connecting to a VPN on Windows, bash loses network connectivity, try this workaround from within bash. この回避策で DNS 解決を手動でオーバーライドすることが/etc/resolv.confします。This workaround will allow you to manually override the DNS resolution through /etc/resolv.conf.

  1. これから VPN の DNS サーバーのメモします。 ipconfig.exe /allTake a note of the DNS server of the VPN from doing ipconfig.exe /all
  2. Resolv.conf を既存のコピーを作成します。 sudo cp /etc/resolv.conf /etc/resolv.conf.newMake a copy of the existing resolv.conf sudo cp /etc/resolv.conf /etc/resolv.conf.new
  3. 現在の resolv.con のリンクを解除します。 sudo unlink /etc/resolv.confUnlink the current resolv.con sudo unlink /etc/resolv.conf
  4. sudo mv /etc/resolv.conf.new /etc/resolv.conf
  5. 開いている/etc/resolv.confOpen /etc/resolv.conf and
    a.a. というファイルから最初の行を削除"# WSL でのこのファイルを自動的に生成されました。Delete the first line from the file, which says "# This file was automatically generated by WSL. このファイルの自動生成を停止するには、この行を削除します。"です。To stop automatic generation of this file, remove this line.".
    b.b. DNS サーバーの一覧で最初のエントリとして (1) から上の DNS エントリを追加します。Add the DNS entry from (1) above as the very first entry in the list of DNS servers.
    c.c. ファイルを閉じます。Close the file.

変更を元に戻す必要があります、VPN を切断すると、/etc/resolv.confします。Once you have disconnected the VPN, you will have to revert the changes to /etc/resolv.conf. これを行うには、次の操作を行います。To do this, do:

  1. cd /etc
  2. sudo mv resolv.conf resolv.conf.new
  3. sudo ln -s ../run/resolvconf/resolv.conf resolv.conf

WSL を開始またはディストリビューションのインストールは、エラー コードを返しますStarting WSL or installing a distribution returns an error code

次の手順の詳細なログを収集し、GitHub で問題を報告します。Follow these instructions to collect detailed logs and file an issue on our GitHub.

Bash on Ubuntu on Windows を更新していますUpdating Bash on Ubuntu on Windows

Bash on Ubuntu on Windows の更新が必要になるの 2 つのコンポーネントがあります。There are two components of Bash on Ubuntu on Windows that can require updating.

  1. Windows Subsystem for LinuxThe Windows Subsystem for Linux

    Bash on Ubuntu on Windows のこの部分をアップグレードするで、新しい修正アウトラインが有効になります、リリース ノートします。Upgrading this portion of Bash on Ubuntu on Windows will enable any new fixes outlines in the release notes. Windows Insider Program にサブスクライブしていることと、ビルドが最新であることを確認します。Ensure that you are subscribed to the Windows Insider Program and that your build is up to date. きめ細かいコントロール、Ubuntu のリセットを含むインスタンスのチェック アウト、コマンド リファレンスのページします。For finer grain control including resetting your Ubuntu instance check out the command reference page.

  2. Ubuntu のユーザーのバイナリThe Ubuntu user binaries

    Bash on Ubuntu on Windows のこの部分をアップグレードすると、apt get を使用してインストールされているアプリケーションを含む Ubuntu ユーザー バイナリにすべての更新プログラムがインストールされます。Upgrading this portion of Bash on Ubuntu on Windows will install any updates to the Ubuntu user binaries including applications that you have installed via apt-get. Bash で、次のコマンドの実行を更新します。To update run the following commands in Bash:

    1. apt-get update
    2. apt-get upgrade

Apt get アップグレード エラーApt-get upgrade errors

一部のパッケージはまだ実装されていない機能を使用します。Some packages use features that we haven't implemented yet. udev、たとえば、はまだサポートされていません、いくつかの原因apt-get upgradeエラー。udev, for example, isn't supported yet and causes several apt-get upgrade errors.

関連する問題を修正するudev、次の手順に従います。To fix issues related to udev, follow the following steps:

  1. 次のコードを記述/usr/sbin/policy-rc.dして変更を保存します。Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. 追加するアクセス許可を実行 /usr/sbin/policy-rc.dAdd execute permissions to /usr/sbin/policy-rc.d

    chmod +x /usr/sbin/policy-rc.d
    
  3. 次のコマンドを実行しますRun the following commands

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    

"エラー。0x80040306"のインストール"Error: 0x80040306" on installation

これは、従来のコンソールはサポートされていません、という事実とにいます。This has to do with the fact that we do not support legacy console. 従来のコンソールをオフにするには。To turn off legacy console:

  1. Cmd.exe を開きますOpen cmd.exe
  2. タイトルを右クリックしてバー]-> [プロパティ]、[従来のコンソールを使用してのオフにしますRight click title bar -> Properties -> Uncheck Use legacy console
  3. [OK] をクリックします。Click OK

"エラー。0x80040154"Windows の更新後"Error: 0x80040154" after Windows update

Linux の機能の Windows サブシステムが無効になっている Windows の更新中にします。The Windows Subsystem for Linux feature may be disabled during a Windows update. このような場合、Windows の機能が再度有効にする必要があります。If this happens the Windows feature must be re-enabled. Linux が記載されているは、Windows サブシステムを有効にする手順、[インストール ガイド](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide#enable-the-windows-subsystem-for-linux-feature-gui https://msdn.microsoft.com/en-us/commandline/wsl/install_guide#enable-the-windows-subsystem-for-linux-feature-gui)します。Instructions for enabling the Windows Subsystem for Linux can be found in the Installation Guide.

表示言語を変更します。Changing the display language

WSL インストールは自動的に Windows インストールのロケールに一致するように Ubuntu ロケールを変更しようとします。WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. この動作したくない場合は、インストールが完了した後は、Ubuntu ロケールを変更するには、このコマンドを実行できます。If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. この変更を有効にする bash.exe を再起動する必要があります。You will have to relaunch bash.exe for this change to take effect.

次の例のロケールを EN-US に変更します。The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

Windows システムの復元後のインストールの問題Installation issues after Windows system restore

  1. 削除、%windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linuxフォルダー。Delete the %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux folder.
    注:そうしないと、省略可能な機能が完全にインストールされている場合と、操作します。Note: Do not do this if your optional feature is fully installed and working.
  2. WSL の省略可能な機能を有効にする (まだ行っていない場合)Enable the WSL optional feature (if not already)
  3. 再起動しますReboot
  4. lxrun/アンインストール/フルlxrun /uninstall /full
  5. Bash をインストールします。Install bash

WSL でインターネットにアクセスできません。No internet access in WSL

一部のユーザーには、WSL でインターネット アクセスをブロックする特定のファイアウォール アプリケーションで問題が報告します。Some users have reported issues with specific firewall applications blocking internet access in WSL. 報告されるファイアウォールは次のとおりです。The firewalls reported are:

  1. KasperskyKaspersky
  2. AVGAVG
  3. AvastAvast

場合によっては、ファイアウォールを無効にすることに対するアクセス許可します。In some cases turning off the firewall allows for access. アクセスをブロックするには、場合によっては、ファイアウォールをインストールしているだけで検索します。In some cases simply having the firewall installed looks to block access.

Ping を使用する場合のアクセス許可の拒否エラーPermission Denied error when using ping

Anniversary UpdateAnniversary Update

WSL で ping を実行するには、Windows で管理者特権が必要です。Administrator privileges in Windows are required to run ping in WSL. Ping を実行するには、Ubuntu 上で管理者は、Windows で Bash を実行または bash.exe を管理者特権での CMD または PowerShell プロンプトから実行します。To run ping, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.

ビルド 14926 +Build 14926+

管理者特権が必要なくなりました。Administrator privileges no longer required.

Bash が停止しています。Bash is hung

Bash での作業中に見つかった場合、bash がハングしている (またはデッドロック) の入力に応答していない、ご意見をお reporting メモリ ダンプを収集して問題を診断します。If while working with bash, you find that bash is hung (or deadlocked) and not responding to inputs, help us diagnose the issue by collecting and reporting a memory dump. 次の手順は、システムがクラッシュすることに注意してください。Note that these steps will crash your system. これを実行する前に作業内容を保存するに慣れていない場合は、このチェック ボックスを行うにしないでください。Do not do this if you are not comfortable with that or save your work prior to doing this.
メモリ ダンプを収集するには。To collect a memory dump:

  1. メモリ ダンプの種類を「完全メモリ ダンプ」に変更します。Change the memory dump type to "complete memory dump". ダンプの種類を変更するには、中に、現在の型のメモを実行します。While changing the dump type, take a note of your current type.
  2. 使用して、手順クラッシュを構成するキーボード コントロールを使用します。Use the steps to configure crash using keyboard control.
  3. デッドロック、ハングを再現します。Repro the hang or deadlock.
  4. (2) からのキー シーケンスを使用して、システムがクラッシュします。Crash the system using the key sequence from (2).
  5. システムがクラッシュし、メモリ ダンプを収集します。The system will crash and collect the memory dump.
  6. システムが再起動すると後のレポートに memory.dmpsecure@microsoft.comします。Once the system reboots, report the memory.dmp to secure@microsoft.com. ダンプ ファイルの既定の場所は、c: がシステム ドライブの場合は %SystemRoot%\memory.dmp または C:\Windows\memory.dmp します。The default location of the dump file is %SystemRoot%\memory.dmp or C:\Windows\memory.dmp if C: is the system drive. 電子メールの WSL または Bash のダンプがあることに注意してください Windows チームです。In the email, note that the dump is for the WSL or Bash on Windows team.
  7. メモリ ダンプの種類を元の設定に復元します。Restore the memory dump type to the original setting.

ビルド番号を確認します。Check your build number

お客様の PC のアーキテクチャと Windows のビルド番号を見つけるには開きますTo find your PC's architecture and Windows build number, open
設定 > システム > についてSettings > System > About

探して、 OS ビルドシステム型フィールド。Look for the OS Build and System Type fields.
ビルドのスクリーン ショットとシステムの種類のフィールドScreenshot of Build and System Type fields

Windows Server のビルド番号を検索するには、PowerShell で、次を実行します。To find your Windows Server build number, run the following in PowerShell:

systeminfo | Select-String "^OS Name","^OS Version"

WSL が有効になっていることを確認します。Confirm WSL is enabled

PowerShell で、次を実行して、Windows Subsystem for Linux が有効になっていることを確認できます。You can confirm that the Windows Subsystem for Linux is enabled by running the following in PowerShell:

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

OpenSSH サーバー接続の問題OpenSSH-Server connection issues

SSH サーバーを接続しようとは、次のエラーで失敗しました。"接続を終了して 127.0.0.1 でポート 22"。Trying to connect your SSH server is failed with the following error: "Connection closed by 127.0.0.1 port 22".

  1. OpenSSH サーバーで実行されていることを確認します。Make sure your OpenSSH Server is running:
    sudo service ssh status
    
    このチュートリアルに従っています。 https://help.ubuntu.com/lts/serverguide/openssh-server.html.enand you've followed this tutorial: https://help.ubuntu.com/lts/serverguide/openssh-server.html.en
  2. Sshd サービスを停止し、デバッグ モードで sshd を起動します。Stop the sshd service and start sshd in debug mode:
    sudo service ssh stop
    sudo /usr/sbin/sshd -d
    
  3. スタートアップ ログを確認し、理由ホストキーに利用をなどのログ メッセージが表示されないかどうかを確認します。Check the startup logs and make sure HostKeys are available and you don't see log messages such as:
    debug1: sshd version OpenSSH_7.2, OpenSSL 1.0.2g  1 Mar 2016
    debug1: key_load_private: incorrect passphrase supplied to decrypt private key
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_rsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_dsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_ecdsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_ed25519_key
    

このようなメッセージが表示され、キーは 不足している場合/etc/ssh/キーを再生成またはだけを消去して openssh サーバーをインストールする必要があります。If you do see such messages and the keys are missing under /etc/ssh/, you will have to regenerate the keys or just purge&install openssh-server:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server