Microsoft a annoncé que Windows Subsystem for Linux 2 (WSL2) sera en General Availability dans Windows 10, version 2004. WSL2 était publié dans le programme Insider l'année dernière. Avec le passage en General Availability, WSL2 peut désormais être mis à jour automatiquement via les mises à jour standard de Windows Update.
Comme indiqué précédemment, WSL2 est un changement d'architecture par rapport à WSL 1. Là où WSL 1 nécessitait une couche de traduction entre les appels système Linux et le noyau Windows NT, WSL 2 est livré avec une machine virtuelle légère exécutant un noyau Linux complet. Cette machine virtuelle s'exécute directement sur la couche Windows Hypervisor. Ce noyau comprend une compatibilité complète avec les appels système et permet d'exécuter des applications comme Docker et FUSE nativement sous Linux. Avec cette nouvelle implémentation, le noyau Linux a un accès complet au système de fichiers Windows.
Cette nouvelle version apporte de grandes améliorations aux performances, en particulier pour les interactions qui nécessitent d'accéder au système de fichiers. Selon Craig Loewan, responsable de programme chez Microsoft, cela pourrait améliorer entre 3 et 6 fois les performances en fonction de l'intensité de l'utilisation des fichiers par l'application. Il mentionne également que la décompression des archives tar pourrait voir une augmentation de 20 fois des performances.
Avec cette nouvelle version à venir de Windows 10, actuellement connue sous le nom de version 2004, Microsoft a indiqué que le processus d'installation et de mise à jour de WSL2 sera rationalisé. Auparavant, le noyau Linux faisait partie de la version du système d'exploitation Windows. Avec cette prochaine version, ils seront séparés, ce qui permettra de mettre à jour le noyau via Windows Update, de la même manière que les pilotes tiers sont actuellement installés.
Actuellement, l'équipe WSL indique qu'un effort manuel sera nécessaire pour passer à la nouvelle méthode de mise à jour du noyau Linux. Après la mise à jour vers la version 19041.153, l'exécution d'une commande WSL (telle que wsl --set-version <distro-name> 2
) fera apparaître un message unique. Le message redirige vers une page de téléchargement où le nouveau noyau peut être installé.
Une fois installées, les distributions peuvent être mises à niveau de la version 1 à 2 via Powershell. La commande wsl -l -v
répertorie toutes les distributions et une distribution spécifique peut être mise à niveau avec wsl --set-version <distro-name> 2
. La rétrogradation vers la version 1 est également prise en charge.
Visual Studio Code possède une extension disponible pour permettre le développement au sein de WSL à partir de VS Code. L'extension WSL de Visual Studio Code Remote permet à partir de l'interface utilisateur de VS Code une exécution côté Windows avec un VS Code Server exécuté dans la machine virtuelle WSL. Cela permet d'exécuter des commandes directement dans WSL et de traiter le système de fichiers monté comme un système de fichiers Linux, ce qui réduit les problèmes de cheminement ou d'autres difficultés entre les systèmes d'exploitation.
De plus, cette extension permet d'exécuter et de déboguer des applications directement sous Linux, y compris l'utilisation de points d'arrêt.
Le noyau Linux WSL2 est créé et maintenu par l'équipe Microsoft WSL. Il est open source et disponible sur GitHub. L'équipe accepte les problèmes et les bogues signalés par rapport à un repo dédié. Une partie de l'équipe WSL est disponible via Twitter pour répondre aux questions générales.