Problembehandlung des Windows-Subsystems für LinuxTroubleshooting Windows Subsystem for Linux

Bash verliert nach dem Herstellen einer Verbindung mit einem VPN die NetzwerkkonnektivitätBash loses network connectivity once connected to a VPN

Wenn Bash nach dem Herstellen einer Verbindung mit einem VPN unter Windows die Netzwerkkonnektivität verliert, können Sie diese Problemumgehung innerhalb von Bash versuchen.If after connecting to a VPN on Windows, bash loses network connectivity, try this workaround from within bash. Mit dieser Problemumgehung können Sie die DNS-Auflösung manuell durch /etc/resolv.conf außer Kraft setzen.This workaround will allow you to manually override the DNS resolution through /etc/resolv.conf.

  1. Notieren Sie sich den DNS-Server des VPN (ipconfig.exe /all).Take a note of the DNS server of the VPN from doing ipconfig.exe /all
  2. Erstellen Sie eine Kopie der vorhandenen Datei „resolv.conf“ (sudo cp /etc/resolv.conf /etc/resolv.conf.new).Make a copy of the existing resolv.conf sudo cp /etc/resolv.conf /etc/resolv.conf.new
  3. Heben Sie die Verknüpfung der aktuellen Datei „resolv.conf“ auf (sudo unlink /etc/resolv.conf).Unlink the current resolv.con sudo unlink /etc/resolv.conf
  4. sudo mv /etc/resolv.conf.new /etc/resolv.conf
  5. Öffnen Sie /etc/resolv.conf undOpen /etc/resolv.conf and
    a.a. Löschen Sie die erste Zeile aus der Datei, die Folgendes besagt: „#This file was automatically generated by 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.“ (Diese Datei wurde automatisch von WSL generiert. Um die automatische Generierung dieser Datei zu beenden, entfernen Sie diese Zeile.)To stop automatic generation of this file, remove this line.".
    b.b. Fügen Sie den DNS-Eintrag aus (1) oben als ersten Eintrag in der Liste der DNS-Server hinzu.Add the DNS entry from (1) above as the very first entry in the list of DNS servers.
    c.c. Schließen Sie die Datei.Close the file.

Nachdem Sie die Verbindung mit dem VPN getrennt haben, müssen Sie die Änderungen auf /etc/resolv.conf zurücksetzen.Once you have disconnected the VPN, you will have to revert the changes to /etc/resolv.conf. Gehen Sie dazu folgendermaßen vor: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

Beim Starten von WSL oder beim Installieren einer Distribution wird ein Fehlercode zurückgegebenStarting WSL or installing a distribution returns an error code

Befolgen Sie diese Anweisungen, um detaillierte Protokolle zu erfassen und ein Issue auf GitHub zu melden.Follow these instructions to collect detailed logs and file an issue on our GitHub.

Aktualisieren von Bash unter Ubuntu unter WindowsUpdating Bash on Ubuntu on Windows

Es gibt zwei Komponenten von Bash unter Ubuntu unter Windows, die eine Aktualisierung erfordern.There are two components of Bash on Ubuntu on Windows that can require updating.

  1. Das Windows-Subsystem für LinuxThe Windows Subsystem for Linux

    Durch das Upgrade dieses Teils von Bash unter Ubuntu unter Windows werden alle neuen Problembehandlungen aktiviert, die in den Anmerkungen zu dieser Version beschrieben werden.Upgrading this portion of Bash on Ubuntu on Windows will enable any new fixes outlines in the release notes. Stellen Sie sicher, dass Sie das Windows-Insider-Programm abonniert haben und dass Ihr Build auf dem neuesten Stand ist.Ensure that you are subscribed to the Windows Insider Program and that your build is up to date. Informationen zu einer genaueren Steuerung (einschließlich des Zurücksetzens der Ubuntu-Instanz) finden Sie auf der Befehlsreferenzseite.For finer grain control including resetting your Ubuntu instance check out the command reference page.

  2. Die Ubuntu-BenutzerbinärdateienThe Ubuntu user binaries

    Durch das Upgrade dieses Teils von Bash unter Ubuntu unter Windows werden alle Updates der Ubuntu-Benutzerbinärdateien einschließlich der Anwendungen installiert, die Sie über apt-get installiert haben.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. Führen Sie die folgenden Befehle in Bash aus, um das Update auszuführen:To update run the following commands in Bash:

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

Apt-get-UpgradefehlerApt-get upgrade errors

In einigen Paketen werden Features verwendet, die noch nicht implementiert wurden.Some packages use features that we haven't implemented yet. udev wird z.B. noch nicht unterstützt und verursacht mehrere apt-get upgrade-Fehler.udev, for example, isn't supported yet and causes several apt-get upgrade errors.

Führen Sie die folgenden Schritte aus, um Probleme im Zusammenhang mit udev zu beheben:To fix issues related to udev, follow the following steps:

  1. Schreiben Sie Folgendes in /usr/sbin/policy-rc.d, und speichern Sie die Änderungen.Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. Fügen Sie /usr/sbin/policy-rc.d Ausführungsberechtigungen hinzu.Add execute permissions to /usr/sbin/policy-rc.d

    chmod +x /usr/sbin/policy-rc.d
    
  3. Führen Sie die folgenden Befehle aus:Run the following commands

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

„Error: 0x80040306“ bei der Installation"Error: 0x80040306" on installation

Dies hat mit der Tatsache zu tun, dass die Legacykonsole nicht unterstützt wird.This has to do with the fact that we do not support legacy console. So deaktivieren Sie die Legacykonsole:To turn off legacy console:

  1. Öffnen Sie „cmd. exe“.Open cmd.exe
  2. Klicken Sie mit der rechten Maustaste auf der Titelleiste auf „Eigenschaften“. Deaktivieren Sie die Option „Legacykonsole verwenden“.Right click title bar -> Properties -> Uncheck Use legacy console
  3. Auf "OK" klickenClick OK

„Error: 0x80040154“ nach Windows-Update"Error: 0x80040154" after Windows update

Das Feature „Windows-Subsystem für Linux“ ist möglicherweise während eines Windows-Updates deaktiviert.The Windows Subsystem for Linux feature may be disabled during a Windows update. Wenn dies der Fall ist, muss das Windows-Feature erneut aktiviert werden.If this happens the Windows feature must be re-enabled. Anweisungen zum Aktivieren des Windows-Subsystems für Linux finden Sie im Installationsleitfaden.Instructions for enabling the Windows Subsystem for Linux can be found in the Installation Guide.

Ändern der AnzeigespracheChanging the display language

Die WSL-Installation versucht, das Ubuntu-Gebietsschema automatisch so zu ändern, dass es dem Gebietsschema Ihrer Windows-Installation entspricht.WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. Wenn Sie dieses Verhalten nicht wünschen, können Sie diesen Befehl ausführen, um das Ubuntu-Gebietsschema zu ändern, nachdem die Installation abgeschlossen wurde.If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. Sie müssen „bash.exe“ neu starten, damit diese Änderung wirksam wird.You will have to relaunch bash.exe for this change to take effect.

Im folgenden Beispiel wird das Gebietsschema in „en-US“ geändert:The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

Installationsprobleme nach der Windows-SystemwiederherstellungInstallation issues after Windows system restore

  1. Löschen Sie den Ordner %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux.Delete the %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux folder.
    Hinweis: Unterlassen Sie dies, wenn Ihre optionale Funktion vollständig installiert und funktionsfähig ist.Note: Do not do this if your optional feature is fully installed and working.
  2. Aktivieren Sie das optionale WSL-Feature (falls noch nicht geschehen).Enable the WSL optional feature (if not already)
  3. NeustartReboot
  4. lxrun/uninstall/fulllxrun /uninstall /full
  5. Installieren von BashInstall bash

Kein Internetzugriff in WSLNo internet access in WSL

Einige Benutzer haben Probleme mit bestimmten Firewallanwendungen gemeldet, die den Internetzugriff in WSL blockieren.Some users have reported issues with specific firewall applications blocking internet access in WSL. Die gemeldeten Firewalls sind:The firewalls reported are:

  1. KasperskyKaspersky
  2. AVGAVG
  3. AvastAvast

In einigen Fällen ermöglicht das Deaktivieren der Firewall den Zugriff.In some cases turning off the firewall allows for access. In einigen Fällen sieht es so aus, als ob bereits die Installation der Firewall den Zugriff blockiert.In some cases simply having the firewall installed looks to block access.

Fehler des Typs „Berechtigung verweigert“ bei Verwendung von PingPermission Denied error when using ping

Anniversary UpdateAnniversary Update

Zum Ausführen von Ping in WSL sind Administratorberechtigungen in Windows erforderlich.Administrator privileges in Windows are required to run ping in WSL. Um Ping auszuführen, führen Sie Bash unter Ubuntu unter Windows als Administrator aus, oder starten Sie „bash.exe“ über eine CMD-/PowerShell-Eingabeaufforderung mit Administratorrechten.To run ping, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.

Build 14926 oder höherBuild 14926+

Administratorberechtigungen sind nicht mehr erforderlich.Administrator privileges no longer required.

Bash reagiert nichtBash is hung

Wenn Sie beim Arbeiten mit Bash feststellen, dass Bash hängt (oder blockiert ist) und nicht mehr auf Eingaben reagiert, helfen Sie uns, das Problem zu diagnostizieren, indem Sie ein Speicherabbild erfassen und melden.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. Beachten Sie, dass diese Schritte zu einem Absturz Ihres Systems führen.Note that these steps will crash your system. Unterlassen Sie dies, wenn Sie damit nicht einverstanden sind, oder speichern Sie Ihre Arbeit zuvor.Do not do this if you are not comfortable with that or save your work prior to doing this.
So erfassen Sie ein Speicherabbild:To collect a memory dump:

  1. Ändern Sie den Typ des Speicherabbilds in „Vollständiges Speicherabbild“.Change the memory dump type to "complete memory dump". Notieren Sie sich den aktuellen Typ, bevor Sie den Speicherabbildtyp ändern.While changing the dump type, take a note of your current type.
  2. Verwenden Sie diese Schritte zum Konfigurieren von Abstürzen mithilfe der Tastatursteuerung.Use the steps to configure crash using keyboard control.
  3. Reproduzieren Sie das Hängen oder die Blockade.Repro the hang or deadlock.
  4. Lassen Sie das System mithilfe der Tastensequenz aus (2) abstürzen.Crash the system using the key sequence from (2).
  5. Das System stürzt ab und erfasst das Speicherabbild.The system will crash and collect the memory dump.
  6. Nachdem das System neu gestartet wurde, übermitteln Sie die Datei „memory.dmp“ an secure@microsoft.com.Once the system reboots, report the memory.dmp to secure@microsoft.com. Der Standardspeicherort der Speicherabbilddatei ist „%SystemRoot%\memory.dmp“ oder „C:\Windows\memory.dmp“, wenn „C:“ das Systemlaufwerk ist.The default location of the dump file is %SystemRoot%\memory.dmp or C:\Windows\memory.dmp if C: is the system drive. Geben Sie in der E-Mail an, dass das Speicherabbild für das WSL- oder Bash unter Windows-Team vorgesehen ist.In the email, note that the dump is for the WSL or Bash on Windows team.
  7. Stellen Sie die ursprünglichen Einstellung für den Speicherabbildtyp wieder her.Restore the memory dump type to the original setting.

Überprüfen der BuildnummerCheck your build number

Um die Architektur des PCs und die Windows-Buildnummer zu ermitteln, öffnen SieTo find your PC's architecture and Windows build number, open
Einstellungen > System > InfoSettings > System > About

Suchen Sie nach den Feldern Betriebssystembuild und Systemtyp.Look for the OS Build and System Type fields.
Screenshot der Felder „Betriebssystembuild“ und „Systemtyp“Screenshot of Build and System Type fields

Führen Sie Folgendes in PowerShell aus, um die Windows Server-Buildnummer zu ermitteln:To find your Windows Server build number, run the following in PowerShell:

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

Bestätigen, dass WSL aktiviert istConfirm WSL is enabled

Sie können bestätigen, dass das Windows-Subsystem für Linux aktiviert ist, indem Sie Folgendes in PowerShell ausführen: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

Verbindungsprobleme des OpenSSH-ServersOpenSSH-Server connection issues

Beim Versuch, den SSH-Server zu verbinden, tritt ein Fehler auf: „Connection closed by 127.0.0.1 port 22“ (Verbindung wurde durch 127.0.0.1 Port 22 geschlossen).Trying to connect your SSH server is failed with the following error: "Connection closed by 127.0.0.1 port 22".

  1. Stellen Sie sicher, dass der OpenSSH-Server ausgeführt wird:Make sure your OpenSSH Server is running:
    sudo service ssh status
    
    und Sie dieses Tutorial befolgt haben: 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. Beenden Sie den sshd-Dienst, und starten Sie sshd im Debugmodus:Stop the sshd service and start sshd in debug mode:
    sudo service ssh stop
    sudo /usr/sbin/sshd -d
    
  3. Überprüfen Sie die Startprotokolle, und stellen Sie sicher, dass HostKeys verfügbar sind und keine Protokollmeldungen wie die folgenden angezeigt werden: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
    

Wenn solche Meldungen angezeigt werden und die Schlüssel unter /etc/ssh/ fehlen, müssen Sie die Schlüssel neu generieren oder openssh-server einfach bereinigen und installieren: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

"Die referenzierte Assembly konnte nicht gefunden werden.""The referenced assembly could not be found." beim Aktivieren des optionalen WSL-Featureswhen enabling the WSL optional feature

Dieser Fehler bezieht sich auf einen fehlerhaften Installationsstatus.This error is related to being in a bad install state. Führen Sie die folgenden Schritte aus, um eine Behebung dieses Problems zu versuchen:Please complete the following steps to try and fix this issue:

  • Wenn Sie den Befehl zum Aktivieren des WSL-Features aus PowerShell ausführen, versuchen Sie stattdessen, die grafische Benutzeroberfläche zu verwenden, indem Sie das Startmenü öffnen, nach „Windows-Features aktivieren oder deaktivieren“ suchen und dann in der Liste „Windows Subsystem für Linux“ auswählen, wodurch die optionale Komponente installiert wird.If you are running the enable WSL feature command from PowerShell, try using the GUI instead by opening the start menu, searching for 'Turn Windows features on or off' and then in the list select 'Windows Subsystem for Linux' which will install the optional component.
  • Aktualisieren Sie Ihre Windows-Version, indem Sie zu „Einstellungen“, „Updates“ wechseln und dann auf „Nach Updates suchen“ klickenUpdate your version of Windows by going to Settings, Updates, and clicking 'Check for Updates'
  • Wenn beide Versuche erfolglos bleiben und Sie auf WSL zugreifen müssen, erwägen Sie, ein lokales Upgrade auszuführen, indem Sie Windows 10 mithilfe der Installationsmedien erneut installieren und „Alles beibehalten“ auswählen, um sicherzustellen, dass Ihre Apps und Dateien erhalten bleiben.If both of those fail and you need to access WSL please consider upgrading in place by reinstalling Windows 10 using installation media and selecting 'Keep Everything' to ensure your apps and files are preserved. Anweisungen dazu finden Sie auf der Seite Erneutes Installieren von Windows 10.You can find instructions on how to do so at the Reinstall Windows 10 page.