WSL2 : découvrir Windows Subsystem for Linux 2

Le sous-système Windows pour Linux 2 (WSL2) est tout simplement la solution la plus simple et la plus efficace pour utiliser des applications Linux sous Windows. WSL2 donne accès aux outils et applications Linux directement depuis l’environnement Windows habituel, une fonction particulièrement intéressante pour les développeurs. Entièrement retravaillée par rapport à sa version précédente, l’architecture de WSL2 est plus performante que d’autres installations comparables.

Qu’est-ce que WSL2 ?

WSL2, sorti début 2020, est une version évoluée de Windows Subsystem for Linux (WSL1). Linux est un système d’exploitation open source, ce qui le différencie radicalement de Windows, un produit développé et exploité selon un modèle commercial. Linux est surtout apprécié pour le très large choix d’outils de développement gratuits et autres paquets de logiciels qu’il propose.

Quelles différences y a-t-il avec la version précédente ?

La différence principale entre WSL2 et sa version précédente concerne l’architecture du logiciel. Tandis que WSL1 met en place une couche de compatibilité pour traduire l’exécution du code entre Windows et Linux, WSL2 s’appuie sur la virtualisation d’un système d’exploitation Linux. La machine virtuelle qui en résulte fonctionne sur l’hyperviseur natif de Windows, Hyper-V, un outil particulièrement performant.

Tandis que l’interface de Linux mise en place par WSL1 avait un panel de fonctionnalités limité, WSL2 propose un noyau Linux complet. Il s’agit d’un noyau spécialement optimisé pour WSL2 en termes de taille et de performance, basé sur le code original stable de « kernel.org ». En pratique, cette installation se traduit par une accélération de l’exécution du code, de deux à vingt fois plus rapide. De plus, WSL2 nécessite moins de mémoire vive que sa version précédente. Particulièrement confortable pour l’utilisateur, la maintenance du noyau est assurée dans le cadre des mises à jour régulières de Windows.

Comme WSL1 utilise une couche de traduction pour transmettre les appels système entre Linux et Windows, certains logiciels spécialisés de Linux sont exclus du processus. À l’inverse, la virtualisation du noyau de WSL2 assure la compatibilité complète des appels système. En pratique, cela signifie que l’on peut même travailler avec des logiciels complexes, comme Docker, dans le cadre de WSL2. Par ailleurs, à partir de l’environnement Linux, on peut accéder au processeur graphique, ce qui est particulièrement avantageux, notamment pour les applications avec de grands sets de données, comme l’apprentissage automatique et la science des données.

Même si l’utilisation de WSL2 est recommandée sur les systèmes modernes, les deux versions peuvent fonctionner en parallèle. Il faudra déterminer la version de WSL la plus adaptée en fonction de la distribution Linux que l’on souhaite piloter.

Quels sont les prérequis pour utiliser WSL2 ?

Les prérequis système pour utiliser WSL2 concernent les caractéristiques du processeur installé sur votre ordinateur :

  • Pour les systèmes x64, vous aurez besoin au minimum de la version 1903 avec build 18362 ou suivants.
  • Pour les systèmes ARM64, vous aurez besoin au minimum de la version 2004 avec build 19041 ou suivants.

Si vous avez un doute sur l’édition Windows et la version que vous utilisez, vous pouvez vérifier ces paramètres grâce aux méthodes suivantes :

  • Appuyez sur les touches du clavier [Windows] + [R], tapez « winver » dans le champ de texte qui s’ouvre et appuyez sur [Entrée], ou bien
  • Cliquez sur Démarrer > Paramètres > Système > Informations système > et lisez les valeurs dans la rubrique « Spécifications Windows ».

Comment utiliser WSL2 sur son propre système ?

En principe, il existe deux méthodes pour utiliser WSL2 sur un système particulier. Retrouvez ci-dessous la marche à suivre détaillée pour chacune :

  1. Si vous n’avez pas encore installé le sous-système Windows pour Linux, installez directement WSL2 sur votre système puis une distribution Linux.
  2. Si vous utilisez déjà WSL1, installez WSL2 et mettez à jour la distribution Linux existante.

Pour installer WSL2 sur votre ordinateur, vous avez besoin de Windows PowerShell. Notez toutefois que vous devrez démarrer PowerShell en tant qu’administrateur pour effectuer l’installation. Copiez et exécutez les commandes ci-dessous dans l’interface en lignes de commande PowerShell.

Activer WSL2 et installer une distribution Linux

Si vous n’avez pas déjà installé WSL1 sur votre ordinateur, suivez nos instructions pour installer WSL2 et une distribution Linux :

Étape 1 : activer le sous-système Windows pour Linux

Copiez la commande suivante dans l’interface en lignes de commande PowerShell et exécutez-la :

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Étape 2 : activer la fonction de machine virtuelle

Copiez la commande suivante dans l’interface en lignes de commande PowerShell et exécutez-la :

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Étape 3 : installer un paquet de mise à jour pour le noyau Linux

Téléchargez ensuite le paquet d’installation adapté pour votre système. Enfin, lancez l’installeur. Choisissez le paquet correspondant à l’architecture du processeur de votre ordinateur :

Étape 4 : définir WSL2 comme version par défaut

Copiez la commande suivante dans l’interface en lignes de commande PowerShell et exécutez-la :

wsl --set-default-version 2

Étape 5 : redémarrer l’ordinateur

Redémarrez votre ordinateur.

Étape 6 : choisir et installer une distribution Linux

Ouvrez le Microsoft Store et lancez une recherche avec le terme « Linux ». Les résultats de recherche affichent les distributions Linux disponibles.

Cliquez sur la distribution Linux qui vous intéresse puis sur « Installer ». Si vous avez un doute quant à la distribution la mieux adaptée à vos besoins, nous vous recommandons d’installer Ubuntu Linux 20.04 LTS.

Une fois l’installation terminée, cliquez sur « Démarrer ».

Étape 7 : configurer la distribution Linux

Dans la fenêtre qui s’ouvre, au premier démarrage, le logiciel télécharge et décompresse des paquets. Cette étape peut prendre quelques minutes. Enfin, le logiciel vous invitera à définir un nom d’utilisateur et le mot de passe associé pour votre nouvelle installation Linux.

Note

WSL vous permet d’exécuter plusieurs distributions Linux en parallèle. Dans ce cas, définissez un compte utilisateur différent pour chaque distribution.

Mettre à niveau une distribution Linux existante de WSL1 vers WSL2

Si vous utilisez déjà WSL1 et si vous avez déjà installé une version de Linux, effectuez les étapes 2 à 4 des instructions ci-dessus. Ensuite, utilisez la commande PowerShell suivante pour mettre à niveau une distribution Linux existante vers WSL2 :

wsl --set-version <distribution> 2</distribution>

Attention, le texte de substitution <distribution> doit être remplacé par le nom de la distribution Linux installée. Utilisez la commande PowerShell suivante pour afficher une liste des distributions Linux installées et consulter leurs noms :

wsl --list --verbose
Note

Les paramètres d’une distribution Linux installée sont enregistrés dans le fichier de configuration « wsl.conf ». Ce fichier fonctionne toujours après la mise à niveau vers WSL2.

Comparatif final des fonctionnalités de WSL1 et WSL2

Comme vous l’avez vu, à l’utilisation, WSL2 présente de nombreux avantages par rapport à sa version précédente. Pour conclure, voici un tableau récapitulant les points communs et différences entre les deux versions :

Fonctionnalité WSL1 WSL2
Intégration entre Windows et Linux
Démarrage rapide de l’environnement Linux
Performances élevées et faible consommation de ressources
Basé sur une machine virtuelle (VM)
Noyau Linux complet
Offre une compatibilité complète pour les appels système
Utilisation simultanée de VMware et VirtualBox
Utilisation des systèmes de fichiers du système d’exploitation