====== Installer Windows Subsystem for Linux (WSL) pour Windows 10 ====== ===== Ressources ===== * https://docs.microsoft.com/fr-fr/windows/wsl/about * https://docs.microsoft.com/fr-fr/windows/wsl/install-win10 * https://la-manette.com/comment-activer-la-virtualisation-sur-windows-10/ * https://korben.info/installer-wsl2-windows-linux.html * https://www.informatiweb.net/tutoriels/informatique/virtualisation/virtualbox-utiliser-virtualbox-et-hyper-v-simultanement.html * https://www.malekal.com/comment-activer-la-technologie-de-virtualisation-vt-x-et-amd-v-sur-mon-pc/ ===== Présentation ===== Le Sous-système Windows pour Linux permet aux développeurs d’exécuter un environnement GNU/Linux (et notamment la plupart des utilitaires, applications et outils en ligne de commande) directement sur Windows, sans modification et tout en évitant la surcharge d’une machine virtuelle traditionnelle ou d’une configuration à double démarrage. Il est possible : * de choisir ses distributions GNU/Linux à partir du Microsoft Store. * d'exécuter des outils en ligne de commande courants tels que grep, sed et awk, ou d’autres fichiers binaires ELF-64. * d'exécuter des scripts de shell Bash et des applications en ligne de commande GNU/Linux, notamment : * Outils : vim, emacs, tmux * Langages : NodeJS, Javascript, Python, Ruby, C/C++, C# & F#, Rust, Go, etc. * Services : SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL. * D'installer des logiciels supplémentaires en utilisant son propre gestionnaire de package de distribution GNU/Linux ; * D'appeler des applications Windows à l’aide d’un shell de ligne de commande de type UNIX ; * D'appeler des applications GNU/Linux sur Windows. ===== Activer la virtualisation matérielle (depuis Windows 10) ===== * Lancez une invite de commande ou une fenêtre Windows PowerShell. * Entrez la commande systeminfo.exe systeminfo.exe * Vérifiez que la virtualisation activée dans le microprogramme, ce qui est indiqué par Oui. Configuration requise pour Hyper-V: Extensions de mode du moniteur d’ordinateur virtuel : Oui Virtualisation activée dans le microprogramme : Oui Traduction d’adresse de second niveau : Oui Prévention de l’exécution des données disponible : Oui si la virtualisation n'est pas activée il faut accéder au BIOS pour le faire. Voici la démarche sous Windows 10 : * Accédez aux **Paramètres Windows** ; * Cliquez sur **Mise à jour et sécurité** ; * Cliquez sur **Récupération** ; * Cliquez sur **Redémarrer maintenan**t sous **Démarrage avancé**. {{ :systeme:windows:virtualisation_01.png?600 |}} * Allez dans Dépannage ; * Cliquez sur Options avancées ; * Maintenant, cliquez sur Paramètres du firmware UEFI ; * Cliquez sur Redémarrer. {{ :systeme:windows:virtualisation_02.jpg?600 |}} * Recherchez dans le BIOS le paramètre d'activation qui peut porter l'in des noms suivants : Technologie de virtualisation Intel , AMD-V , Hyper-V VT-X Vanderpool ou SVM. ===== Mettre à jour avec la dernière version de Windows si nécessaire ===== En invite de commandes tapez la commande suivante pour connaître votre version de Windows 10 : C:\>winver Votre version de Windows doit au moins être 1909. Voici le lien de téléchargement de l'utilitaire permettant d'avoir la dernière mise à jour de Windows 10 (2004 en novembre 2020) : * https://go.microsoft.com/fwlink/?LinkID=799445 Téléchargez et lancez cet utilitaire ===== Installer le sous-système Windows pour Linux ===== ==== Activer le sous-système Windows pour Linux ==== * lancez PowerShell en tant qu’administrateur et exécutez : PS > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all Outil Gestion et maintenance des images de déploiement Version : 10.0.19041.572 Version de l’image : 10.0.19041.572 Activation de la ou des fonctionnalités [==========================100.0%==========================] L’opération a réussi. Redémarrez Windows pour terminer cette opération. Voulez-vous redémarrer l’ordinateur maintenant ? (Y/N) * Redémarrer l'ordinateur **Information :** WSL version 1 et maintenant installé et il est possible d'installer une distribution Linux à partir du Microsoft Store. Pour pouvoir utiliser WSL version 2 d'autres actions sont à faire et sont présentées plus loin dans ce document. === Installer la distribution Linux de votre choix === * Ouvrez le [[https://aka.ms/wslstore|Microsoft Store]] ; * utilisez un compte Microsoft pour vous identifier ; {{ :systeme:windows:store_01.png |}} * sélectionnez la distribution Linux voulue (par exemple Debian) et installez-la : elle utilisera WSL 1. === Visualiser les distributions Linux installées === * lancez PowerShell en tant qu’administrateur et exécutez : PS > wsl --list --verbose NAME STATE VERSION * Debian Stopped 1 PS > La distribution Debian installée utilise WSL version 1 ===== Mettre à jour vers WSL 2 ===== ==== Activer la fonctionnalité Machine virtuelle ==== Avant d’installer WSL 2, il faut activer la fonctionnalité facultative **Plateforme de machine virtuelle**. Pour le faire : * lancez PowerShell en tant qu’administrateur et exécutez : PS > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all Outil Gestion et maintenance des images de déploiement Version : 10.0.19041.572 Version de l’image : 10.0.19041.572 Activation de la ou des fonctionnalités [==========================100.0%==========================] L’opération a réussi. Redémarrez Windows pour terminer cette opération. Voulez-vous redémarrer l’ordinateur maintenant ? (Y/N) Le redémarrage de l'ordinateur permet de terminer l’installation de WSL et mettre à jour vers WSL 2. ==== Télécharger le package de mise à jour du noyau Linux ==== * lien de téléchargement : https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi * Exécutez l'utilitaire ==== Définir WSL 2 comme version par défaut ==== * lancez PowerShell en tant qu’administrateur et exécutez : PS > wsl --set-default-version 2 Pour plus d’informations sur les différences de clés avec WSL 2, visitez https://aka.ms/wsl2 PS > ==== Convertir une distribution de SWL 1 à WSL 2 ==== Tapez la commande suivante pour convertir votre distribution : PS > wsl --set-version 2 ===== Installer la distribution Linux de votre choix ===== * Ouvrez le [[https://aka.ms/wslstore|Microsoft Store]] et sélectionnez la distribution Linux voulue. ===== Installer la distribution Linux de votre choix sans Microsoft Store===== Il est nécessaire de téléchargement des packages .appx. Liste des distribution disponible : https://learn.microsoft.com/fr-fr/windows/wsl/install-manual * [[https://aka.ms/wslubuntu|Ubuntu]] * [[https://aka.ms/wslubuntu2204|Ubuntu 22.04 LTS]] * [[https://aka.ms/wslubuntu2004|Ubuntu 20.04]] * [[https://aka.ms/wslubuntu2004arm|Ubuntu 20.04 ARM]] * [[https://aka.ms/wsl-ubuntu-1804|Ubuntu 18.04]] * [[https://aka.ms/wsl-ubuntu-1804-arm|Ubuntu 18.04 ARM]] * [[https://aka.ms/wsl-ubuntu-1604|Ubuntu 16.04]] * [[https://aka.ms/wsl-debian-gnulinux|Debian GNU/Linux]] * [[https://aka.ms/wsl-kali-linux-new|Kali Linux]] * [[https://aka.ms/wsl-sles-12|SUSE Linux Enterprise Server 12]] * [[https://aka.ms/wsl-SUSELinuxEnterpriseServer15SP2|SUSE Linux Enterprise Server 15 SP2]] * [[https://aka.ms/wsl-SUSELinuxEnterpriseServer15SP3|SUSE Linux Enterprise Server 15 SP3]] * [[https://aka.ms/wsl-opensuse-tumbleweed|openSUSE Tumbleweedv * [[https://aka.ms/wsl-opensuseleap15-3|openSUSE Leap 15.3]] * [[https://aka.ms/wsl-opensuseleap15-2|openSUSE Leap 15.2]] * [[https://aka.ms/wsl-oraclelinux-8-5|Oracle Linux 8.5]] * [[https://aka.ms/wsl-oraclelinux-7-9|Oracle Linux 7.9]] * [[https://github.com/WhitewaterFoundry/WSLFedoraRemix/releases/|Fedora Remix pour WSL]] Utilisation de Powershell pour télécharger le fichier Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing * Installation du package téléchargé avec Powershell Add-AppxPackage .\app_name.appx * Exécuter la distribution en double-cliquant sur le package appx * Visualiser la nouvelle distribution wsl -l ===== 1er lancement de la distribution ===== * Au lancement, il est nécessaire de créer un nom d’utilisateur et un mot de passe pour la distribution Linux. * Le nom d’utilisateur et le mot de passe sont propres à chaque distribution Linux distincte installée. * Ce compte devient l'utilisateur par défaut pour la distribution et se connecte automatiquement au démarrage. * Ce compte est considéré comme l’administrateur Linux, avec la capacité d’exécuter des commandes d’administration sudo (Super User Do). Les distributions Linux installées avec WSL correspondent à une installation par utilisateur et ne peuvent pas être partagées avec d’autres comptes d’utilisateur Windows. ===== Gérer les VM Linux ===== ==== Mettre à jour et mettre les VMs==== Windows ne met pas à jour les VMs installées et il faut le faire manuellement pour chacune d'entre elles. Exemple Pour une VM Debian : $ sudo apt update && sudo apt upgrade ==== Réinitialiser le mot de passe Linux ==== * Commande à utiliser dans la VM : $ passwd * en cas d'oubli du mot de passe, il faut le réinitialiser avec Powershell : * Lancer PowerShell * Entrez au niveau de la racine de la distribution WSL par défaut PS > wsl -u root * Entrez au niveau de la racine de la distribution WSL particulière comme par exemple Debian PS > wsl -d Debian -u root * Commande à utiliser : $ passwd nomducompte ==== Démarrer WSL avec distribution par défaut ==== PS > wsl --setdefault ==== Lancer une distribution Linux avec un utilisateur en particulier ==== PS > wsl --user ==== Lancer un exécutable Windows depuis une distribution ==== $ calc.exe * modifier un fichier Linux avec le notepad (Bloc-notes) Windows $ notepad.exe ~/.bashrc ==== Visualisez les lecteurs de Windows ==== Dans une distribution il est possible de visualiser et d'accéder aux lecteurs de Windows === Visualiser les lecteurs montés === $ mount === Accéder aux lecteurs montés === $ cd /mnt/c Pour avoir les **droits d'écriture** sur le montage d'un lecteur comme **/mnt/c** il faut lancer la distribution Linux en **mode administrateur** (clic droit sur l'icône). ==== Visualisez le disque de la distribution depuis Windows ==== Le partage **%%\%%\wsl$** pemet d'accéder au disque de la distribution