Résolution des problèmes sous-système Windows pour LinuxTroubleshooting Windows Subsystem for Linux

Bash perd la connectivité de réseau une fois connectée à un réseau privé virtuelBash loses network connectivity once connected to a VPN

Si après la connexion à un réseau privé virtuel sur Windows, bash perd la connectivité réseau, essayez cette solution de contournement à partir de bash.If after connecting to a VPN on Windows, bash loses network connectivity, try this workaround from within bash. Cette solution de contournement vous permettra de remplacer manuellement la résolution DNS via /etc/resolv.conf.This workaround will allow you to manually override the DNS resolution through /etc/resolv.conf.

  1. Prenez note du serveur DNS de la connexion VPN à partir de cette opération ipconfig.exe /allTake a note of the DNS server of the VPN from doing ipconfig.exe /all
  2. Faites une copie de resolv.conf existant 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. Dissocier le resolv.con actuel 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. Ouvrez /etc/resolv.conf etOpen /etc/resolv.conf and
    a.a. Supprimez la première ligne du fichier, qui porte la mention «# ce fichier a été automatiquement généré par WSL.Delete the first line from the file, which says "# This file was automatically generated by WSL. Pour arrêter la génération automatique de ce fichier, supprimez cette ligne. ».To stop automatic generation of this file, remove this line.".
    b.b. Ajoutez l’entrée DNS à partir de (1) ci-dessus en tant que la toute première entrée dans la liste des serveurs DNS.Add the DNS entry from (1) above as the very first entry in the list of DNS servers.
    c.c. Fermez le fichier.Close the file.

Une fois que vous avez déconnecté du VPN, vous devrez rétablir les modifications apportées à /etc/resolv.conf.Once you have disconnected the VPN, you will have to revert the changes to /etc/resolv.conf. Pour ce faire, effectuez :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

Démarrage WSL ou de l’installation d’une distribution retourne un code d’erreurStarting WSL or installing a distribution returns an error code

Suivez ces instructions pour collecter des journaux détaillés et de signaler un problème sur notre GitHub.Follow these instructions to collect detailed logs and file an issue on our GitHub.

La mise à jour de Bash sur Ubuntu sur WindowsUpdating Bash on Ubuntu on Windows

Il existe deux composants de Bash sur Ubuntu sur Windows qui peuvent nécessiter la mise à jour.There are two components of Bash on Ubuntu on Windows that can require updating.

  1. Le sous-système Windows pour LinuxThe Windows Subsystem for Linux

    La mise à niveau de cette partie de Bash sur Ubuntu sur Windows activera la toute nouvelle contours de correctifs dans le notes de version.Upgrading this portion of Bash on Ubuntu on Windows will enable any new fixes outlines in the release notes. Assurez-vous que vous êtes inscrit au programme Windows Insider et que votre build est à jour.Ensure that you are subscribed to the Windows Insider Program and that your build is up to date. Pour un contrôle plus précis, y compris la réinitialisation de votre Ubuntu grain de l’instance, consultez la page de référence de commande.For finer grain control including resetting your Ubuntu instance check out the command reference page.

  2. Les binaires d’utilisateur UbuntuThe Ubuntu user binaries

    La mise à niveau de cette partie de Bash sur Ubuntu sur Windows installe les mises à jour pour les binaires d’utilisateur Ubuntu, y compris les applications que vous avez installés via apt-get.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. Pour mettre à jour d’exécuter les commandes suivantes dans l’interpréteur de commandes :To update run the following commands in Bash:

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

Erreurs de mise à niveau d’apt-getApt-get upgrade errors

Certains packages utilisent les fonctionnalités que nous n’avons pas encore implémentée.Some packages use features that we haven't implemented yet. udev, par exemple, n’est pas encore pris en charge et empêche plusieurs apt-get upgrade erreurs.udev, for example, isn't supported yet and causes several apt-get upgrade errors.

Pour résoudre les problèmes liés à udev, suivez les étapes suivantes :To fix issues related to udev, follow the following steps:

  1. Écrivez le code suivant à /usr/sbin/policy-rc.d et enregistrez vos modifications.Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. Ajouter des autorisations d’exécution /usr/sbin/policy-rc.dAdd execute permissions to /usr/sbin/policy-rc.d

    chmod +x /usr/sbin/policy-rc.d
    
  3. Exécutez les commandes suivantesRun the following commands

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

« Erreur : 0x80040306 » sur l’installation"Error: 0x80040306" on installation

Cela a à voir avec le fait que nous ne prennent pas en charge l’ancienne console.This has to do with the fact that we do not support legacy console. Pour désactiver l’ancienne console :To turn off legacy console:

  1. Ouvrez cmd.exeOpen cmd.exe
  2. Cliquez avec le bouton droit sur titre de la barre -> Propriétés -> utiliser décochez l’ancienne consoleRight click title bar -> Properties -> Uncheck Use legacy console
  3. Cliquez sur OKClick OK

« Erreur : 0 x 80040154 » après la mise à jour de Windows"Error: 0x80040154" after Windows update

Le sous-système Windows pour Linux fonctionnalité peut être désactivé pendant une mise à jour de Windows.The Windows Subsystem for Linux feature may be disabled during a Windows update. Dans ce cas, la fonctionnalité de Windows doit être réactivée.If this happens the Windows feature must be re-enabled. Des instructions pour activer le sous-système Windows pour Linux sont disponibles dans le [Guide d’Installation](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.

Modification de la langue d’affichageChanging the display language

Installation WSL tente de modifier automatiquement les paramètres régionaux Ubuntu pour faire correspondre les paramètres régionaux de votre installation de Windows.WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. Si vous ne souhaitez pas ce comportement, vous pouvez exécuter cette commande pour modifier les paramètres régionaux Ubuntu, une fois l’installation terminée.If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. Vous devez relancer bash.exe pour que cette modification prenne effet.You will have to relaunch bash.exe for this change to take effect.

Le ci-dessous exemple modifie les paramètres régionaux en-US :The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

Problèmes d’installation après la restauration du système WindowsInstallation issues after Windows system restore

  1. Supprimer le %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux dossier.Delete the %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux folder.
    Remarque : Ne le faites pas cela si votre fonctionnalité facultative est entièrement installée et fonctionne.Note: Do not do this if your optional feature is fully installed and working.
  2. Activer la fonctionnalité facultative WSL (si pas déjà)Enable the WSL optional feature (if not already)
  3. RedémarrerReboot
  4. lxrun / désinstaller/totallxrun /uninstall /full
  5. Installer l’interpréteur de commandesInstall bash

Aucun accès internet dans WSLNo internet access in WSL

Certains utilisateurs ont signalé des problèmes avec les applications de pare-feu spécifiques bloque l’accès internet dans WSL.Some users have reported issues with specific firewall applications blocking internet access in WSL. Les pare-feux signalés sont :The firewalls reported are:

  1. KasperskyKaspersky
  2. AVGAVG
  3. AvastAvast

Dans certains cas désactiver le pare-feu autorise l’accès.In some cases turning off the firewall allows for access. Dans certains cas le simple fait d’avoir le pare-feu installé recherche pour bloquer l’accès.In some cases simply having the firewall installed looks to block access.

Erreur autorisation refusée lors de l’utilisation de pingPermission Denied error when using ping

Mise à jour anniversaireAnniversary Update

Privilèges d’administrateur dans Windows sont requis pour exécuter un test ping dans WSL.Administrator privileges in Windows are required to run ping in WSL. Pour exécuter la commande ping, exécutez Bash sur Ubuntu sur Windows en tant qu’administrateur, ou exécutez bash.exe à partir d’une invite CMD/PowerShell avec des privilèges d’administrateur.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 +Build 14926+

Privilèges d’administrateur n’est plus nécessaires.Administrator privileges no longer required.

Bash est bloquéBash is hung

Si tout en travaillant avec bash, vous trouvez que bash est bloqué (ou bloquée) et ne répond ne pas aux entrées, nous aider à diagnostiquer le problème en collectant et envoyant un vidage de mémoire.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. Notez que ces étapes seront bloque votre système.Note that these steps will crash your system. Ne le faites pas cela si vous n’êtes pas familiarisé avec qui ou que vous enregistrez votre travail avant de faire cela.Do not do this if you are not comfortable with that or save your work prior to doing this.
Pour collecter un vidage de mémoire :To collect a memory dump:

  1. Modifier le type de vidage de mémoire pour « image mémoire complète ».Change the memory dump type to "complete memory dump". Lors de la modification du type de vidage, prenez note de votre type actuel.While changing the dump type, take a note of your current type.
  2. Utilisez le étapes pour configurer l’incident à l’aide du contrôle de clavier.Use the steps to configure crash using keyboard control.
  3. Reproduction le blocage ou le blocage.Repro the hang or deadlock.
  4. Arrêter le système à l’aide de la séquence de touches à partir de (2).Crash the system using the key sequence from (2).
  5. Le système de se bloquer et collecter l’image mémoire.The system will crash and collect the memory dump.
  6. Une fois que le système redémarre, signaler memory.dmp à secure@microsoft.com.Once the system reboots, report the memory.dmp to secure@microsoft.com. L’emplacement par défaut du fichier de vidage est %SystemRoot%\memory.dmp ou C:\Windows\memory.dmp si C: est le lecteur système.The default location of the dump file is %SystemRoot%\memory.dmp or C:\Windows\memory.dmp if C: is the system drive. Dans l’e-mail, notez que le vidage concerne le WSL ou Bash sur l’équipe de Windows.In the email, note that the dump is for the WSL or Bash on Windows team.
  7. Restaurer le type de vidage de mémoire pour le paramètre d’origine.Restore the memory dump type to the original setting.

Vérifier votre numéro de buildCheck your build number

Pour rechercher le que numéro de build de Windows et architecture de votre ordinateur, ouvrezTo find your PC's architecture and Windows build number, open
Paramètres > système > surSettings > System > About

Recherchez le Build du système d’exploitation et système Type champs.Look for the OS Build and System Type fields.
Capture d’écran de Build et le Type de système de champsScreenshot of Build and System Type fields

Pour rechercher votre numéro de build de Windows Server, exécutez la commande suivante dans PowerShell :To find your Windows Server build number, run the following in PowerShell:

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

Confirmer que WSL est activéeConfirm WSL is enabled

Vous pouvez vérifier que le sous-système Windows pour Linux est activé en exécutant la commande suivante dans PowerShell :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

Problèmes de connexion OpenSSH-ServerOpenSSH-Server connection issues

Essayez de vous connecter à votre serveur SSH est a échoué avec l’erreur suivante : « Connexion fermée par 127.0.0.1 port 22 ».Trying to connect your SSH server is failed with the following error: "Connection closed by 127.0.0.1 port 22".

  1. Assurez-vous que votre serveur OpenSSH est en cours d’exécution :Make sure your OpenSSH Server is running:
    sudo service ssh status
    
    et que vous avez suivi ce didacticiel : 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. Arrêter le service sshd et démarrez sshd en mode débogage :Stop the sshd service and start sshd in debug mode:
    sudo service ssh stop
    sudo /usr/sbin/sshd -d
    
  3. Vérifiez les journaux de démarrage et assurez-vous que les clés d’hôte sont disponibles et vous ne voyez pas les messages de journal comme :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
    

Si vous ne voyez pas ces messages et des clés sont manquantes sous /etc/ssh/, vous devrez régénérer les clés ou juste purger & Installer openssh-server :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