Partager via


Comparaison des versions WSL

En savoir plus sur les différentes versions de WSL, notamment la raison pour laquelle WSL 2 est désormais la valeur par défaut et les scénarios ou exceptions spécifiques qui peuvent justifier le basculement de votre distribution Linux installée vers l’architecture WSL 1 précédente.

Comparaison de WSL 1 et WSL 2

Ce guide compare WSL 1 et WSL 2, y compris les exceptions pour l’utilisation de WSL 1 plutôt que WSL 2. Les principales différences entre WSL 1 et WSL 2 sont l’utilisation d’un noyau Linux réel à l’intérieur d’une machine virtuelle managée, la prise en charge de la compatibilité complète des appels système et les performances entre les systèmes d’exploitation Linux et Windows. WSL 2 est la version par défaut actuelle lors de l’installation d’une distribution Linux et utilise la dernière et la plus grande technologie de virtualisation pour exécuter un noyau Linux à l’intérieur d’une machine virtuelle utilitaire légère. WSL2 exécute des distributions Linux en tant que conteneurs isolés à l’intérieur de la machine virtuelle managée. Si votre distribution exécute actuellement WSL 1 et que vous souhaitez effectuer une mise à jour vers WSL 2, consultez la mise à jour de WSL 1 vers WSL 2.

Comparaison des fonctionnalités

Caractéristique WSL 1 WSL 2
Intégration entre Windows et Linux
Temps de démarrage rapide
Faible empreinte en ressources par rapport aux machines virtuelles traditionnelles
Exécutions avec les versions actuelles de VMware et VirtualBox
Machine virtuelle managée
Noyau Linux complet
Compatibilité complète des appels système
Performances sur les systèmes de fichiers du système d’exploitation
Prise en charge systemd
Prise en charge d’IPv6

Comme vous pouvez le voir dans le tableau de comparaison ci-dessus, l’architecture WSL 2 outperforme WSL 1 de plusieurs façons, à l’exception des performances sur les systèmes de fichiers du système d’exploitation, qui peuvent être traitées en stockant vos fichiers projet sur le même système d’exploitation que les outils que vous exécutez pour travailler sur le projet.

WSL 2 est uniquement disponible dans Windows 11 ou Windows 10, version 1903, build 18362 ou ultérieure. Vérifiez votre version de Windows en sélectionnant la touche de logo Windows + R, tapez winver, sélectionnez OK. (Ou entrez la commande ver dans l’invite de commandes Windows.) Vous devrez peut-être effectuer une mise à jour vers la dernière version de Windows. Pour les builds inférieures à 14393, WSL n’est pas pris en charge du tout.

Pour plus d’informations sur les dernières mises à jour de WSL 2, consultez le blog de ligne de commande Windows, notamment la prise en charge de Systemd désormais disponible dans WSL et la mise à jour de WSL de septembre 2023, qui inclut plus d’informations sur la prise en charge d'IPv6.

Remarque

WSL 2 fonctionnera avec VMware 15.5.5+ et bien que VirtualBox 6+ indique qu’il existe une prise en charge WSL, il existe encore des défis importants qui le rendent non pris en charge. Pour en savoir plus, consultez nos FAQ.

Nouveautés de WSL 2

WSL 2 est une révision majeure de l’architecture sous-jacente et utilise la technologie de virtualisation et un noyau Linux pour activer de nouvelles fonctionnalités. Les principaux objectifs de cette mise à jour sont d’augmenter les performances du système de fichiers et d’ajouter une compatibilité complète des appels système.

L'architecture de WSL 2

Une expérience de machine virtuelle traditionnelle peut être lente à démarrer, isolée, consomme beaucoup de ressources et nécessite votre temps de le gérer. WSL 2 n’a pas ces attributs.

WSL 2 offre les avantages de WSL 1, notamment l’intégration transparente entre Windows et Linux, les temps de démarrage rapide, une petite empreinte de ressources et ne nécessite aucune configuration ou gestion de machine virtuelle. Bien que WSL 2 utilise une machine virtuelle, elle est gérée et exécutée en arrière-plan, ce qui vous laisse avec la même expérience utilisateur que WSL 1.

Noyau Linux complet

Le noyau Linux dans WSL 2 est créé par Microsoft à partir de la dernière branche stable, en fonction de la source disponible à kernel.org. Ce noyau a été spécialement paramétré pour WSL 2, optimisant pour la taille et les performances afin de fournir une expérience Linux incroyable sur Windows. Le noyau sera géré par les mises à jour Windows, ce qui signifie que vous obtiendrez les derniers correctifs de sécurité et améliorations du noyau sans avoir à le gérer vous-même.

Le noyau Linux WSL 2 est open source. Si vous souhaitez en savoir plus, consultez le billet de blog Expédition d’un noyau Linux avec Windows écrit par l’équipe qui l’a créée.

Pour en savoir plus, consultez les notes de publication du sous-système Windows pour le noyau Linux.

Performances accrues des entrées/sorties de fichiers

Les opérations gourmandes en fichiers telles que git clone, , npm installapt update, apt upgradeet bien plus encore sont visiblement plus rapides avec WSL 2.

L’augmentation réelle de la vitesse dépend de l’application que vous exécutez et de la façon dont elle interagit avec le système de fichiers. Les versions initiales de WSL 2 s’exécutent jusqu’à 20 fois plus rapides par rapport à WSL 1 lors du décompressage d’un tarball compressé, et environ 2 à 5 fois plus rapidement lors de l’utilisation git clone, npm install et cmake sur différents projets.

Compatibilité complète des appels système

Les fichiers binaires Linux utilisent des appels système pour effectuer des fonctions telles que l’accès aux fichiers, la demande de mémoire, la création de processus, etc. Tandis que WSL 1 a utilisé une couche de traduction créée par l’équipe WSL, WSL 2 inclut son propre noyau Linux avec une compatibilité complète des appels système. Les avantages sont les suivants :

  • Un nouvel ensemble d’applications que vous pouvez exécuter à l’intérieur de WSL, comme Docker et bien plus encore.

  • Toutes les mises à jour du noyau Linux sont immédiatement prêtes à être utilisées (vous n’êtes pas obligé d’attendre que l’équipe WSL implémente les mises à jour et ajoute les modifications).

Exceptions pour l’utilisation de WSL 1 plutôt que WSL 2

Nous vous recommandons d'utiliser WSL 2, car il offre des performances plus rapides et une compatibilité complète des appels système%. Toutefois, il existe quelques scénarios spécifiques dans lesquels vous préférerez peut-être utiliser WSL 1. Envisagez d’utiliser WSL 1 si :

  • Vos fichiers projet doivent être stockés dans le système de fichiers Windows. WSL 1 offre un accès plus rapide aux fichiers montés à partir de Windows.
    • Si vous utilisez votre distribution WSL Linux pour accéder aux fichiers projet sur le système de fichiers Windows et que ces fichiers ne peuvent pas être stockés sur le système de fichiers Linux, vous obtiendrez des performances plus rapides sur les systèmes de fichiers du système d’exploitation à l’aide de WSL 1.
  • Un projet qui nécessite une compilation croisée à l’aide d’outils Windows et Linux sur les mêmes fichiers.
    • Les performances des fichiers sur les systèmes d’exploitation Windows et Linux sont plus rapides dans WSL 1 que WSL 2. Par conséquent, si vous utilisez des applications Windows pour accéder aux fichiers Linux, vous obtiendrez actuellement des performances plus rapides avec WSL 1.
  • Votre projet a besoin d’accéder à un port série ou un périphérique USB. Toutefois La prise en charge des périphériques USB est désormais disponible pour WSL 2 via le USBIPD-WIN projet. Consultez Connecter des périphériques USB pour connaître les étapes de configuration.
  • WSL 2 n’inclut pas la prise en charge de l’accès aux ports série. Pour en savoir plus, consultez les questions fréquentes (FAQ ) ou dans le problème de dépôt GitHub WSL sur la prise en charge série.
  • Vous avez des exigences strictes en matière de mémoire
    • L’utilisation de la mémoire de WSL 2 augmente et diminue à mesure que vous l’utilisez. Lorsqu’un processus libère de la mémoire, celui-ci est automatiquement retourné à Windows. Toutefois, à l’heure actuelle, WSL 2 ne libère pas encore les pages mises en cache en mémoire sur Windows tant que l’instance WSL n’est pas arrêtée. Si vous avez des sessions WSL longues ou accédez à une très grande quantité de fichiers, ce cache peut prendre de la mémoire sur Windows. Nous suivons le travail pour améliorer cette expérience sur le problème 4166 sur le dépôt GitHub WSL.
  • Pour ceux qui utilisent VirtualBox, veillez à utiliser la dernière version de VirtualBox et WSL 2. Consultez le FAQ associé.
  • Si vous vous appuyez sur une distribution Linux pour avoir une adresse IP dans le même réseau que votre ordinateur hôte, vous devrez peut-être configurer une solution de contournement pour exécuter WSL 2. WSL 2 s’exécute en tant que machine virtuelle Hyper-V. Il s’agit d’un changement par rapport à la carte réseau pontée utilisée dans WSL 1, ce qui signifie que WSL 2 utilise un service de traduction d'adresses réseau (NAT) pour son réseau virtuel, au lieu de connecter ce réseau en bridge à la carte d’interface réseau de l’hôte (NIC). Cela entraîne une adresse IP unique qui changera lors du redémarrage. Pour en savoir plus sur le problème et la solution de contournement qui transfère les ports TCP des services WSL 2 au système d’exploitation hôte, consultez le problème du dépôt GitHub WSL 4150, le mode pont de carte réseau (solution de contournement TCP).

Remarque

Envisagez d’essayer l’extension WSL distante VS Code pour vous permettre de stocker vos fichiers projet sur le système de fichiers Linux, à l’aide d’outils de commande Linux, mais également d’utiliser VS Code sur Windows pour créer, modifier, déboguer ou exécuter votre projet dans un navigateur Internet, sans subir les ralentissements de performance liés aux systèmes de fichiers Linux et Windows. En savoir plus.

WSL dans le Microsoft Store

WSL a transféré la fonctionnalité de mise à jour de l'image du système d'exploitation Windows dans un package disponible via le Microsoft Store. Cela signifie que les mises à jour et la maintenance soient effectuées plus rapidement dès qu'elles sont disponibles, au lieu d'avoir à attendre une mise à jour de votre système d'exploitation Windows.

WSL a été initialement inclus dans le système d’exploitation Windows en tant que composant facultatif qui doit être activé pour installer une distribution Linux. WSL dans le Windows Store a la même expérience utilisateur et est le même produit, mais reçoit les mises à jour et la maintenance en tant que package de magasin, au lieu d’une mise à jour complète du système d’exploitation. À compter de Windows version 19044 ou ultérieure, l’exécution de la wsl.exe --install commande installe la mise à jour de maintenance WSL à partir du Microsoft Store. (Consultez le billet de blog annonçant cette mise à jour). Si vous utilisez déjà WSL, vous pouvez effectuer une mise à jour pour vous assurer que vous recevez les dernières fonctionnalités et maintenance WSL à partir du magasin en exécutant wsl.exe --update.

Remarque

Si le Microsoft Store est inaccessible au sein de votre organisation, vous pouvez toujours utiliser cette version WSL en ajoutant --web-download à la commande --update, par exemple wsl --update --web-download. Vous devez mettre à jour manuellement WSL chaque fois qu’une nouvelle version devient disponible à l’aide de cette méthode.