Le développement moderne repose massivement sur Linux. Serveurs web, environnements cloud, outils DevOps, conteneurs Docker : presque tout tourne sous Linux en production.
Pendant longtemps, travailler dans un environnement Linux depuis Windows impliquait soit un dual-boot, soit des machines virtuelles lourdes et lentes.
Avec WSL 2 (Windows Subsystem for Linux version 2), Microsoft propose aujourd’hui une solution moderne, stable et performante permettant d’exécuter un vrai Linux directement dans Windows, sans redémarrage ni configuration complexe.
WSL 2 : ce que c’est réellement
WSL 2 permet d’installer et d’exécuter une distribution Linux complète (Ubuntu, Debian, Fedora, etc.) directement sur Windows grâce à un véritable noyau Linux, fourni et maintenu par Microsoft.
Contrairement à WSL 1, qui traduisait les appels système Linux vers Windows, WSL 2 exécute Linux tel quel, dans une machine virtuelle extrêmement légère, optimisée spécifiquement pour le développement.
Concrètement, avec WSL 2, tu peux :
- Utiliser Bash et les commandes Linux standards
- Installer des paquets via
apt - Lancer des serveurs locaux (Node.js, PHP, Python…)
- Utiliser Docker sans surcouche complexe
- Travailler dans un environnement proche d’un serveur Linux réel
| Critère | Windows seul | WSL 2 | Dual-Boot Linux |
|---|---|---|---|
| Noyau Linux réel | Non | Oui | Oui |
| Installation simple | Oui | Oui | Non |
| Redémarrage requis | Non | Possible | Oui |
| Performances développement | Moyennes | Excellentes | Excellentes |
| Accès fichiers Windows | Oui | Oui | Non |
| Accès fichiers Linux | Non | Oui | Oui |
| Risque système | Aucun | Très faible | Élevé |
| Usage quotidien | Windows | Windows + Linux | Linux |
Différences entre WSL 1 et WSL 2 : comprendre ce qui change vraiment
Lorsque l’on parle de WSL aujourd’hui, il est important de faire la distinction entre WSL 1 et WSL 2. Même s’ils portent un nom similaire, leur fonctionnement interne est très différent, et leurs usages aussi.
Comprendre ces différences permet de savoir pourquoi WSL 2 est désormais recommandé par défaut et dans quels cas WSL 1 peut encore exister.
| Critère | WSL 1 | WSL 2 |
|---|---|---|
| Noyau Linux réel | Non | Oui |
| Mode de fonctionnement | Traduction système | Machine virtuelle légère |
| Compatibilité Linux | Partielle | Quasi totale |
| Performances CPU | Bonnes | Excellentes |
| Performances I/O disque | Variables | Très bonnes (fs Linux natif) |
| Support Docker | Très limité | Natif |
| Support systemd | Non | Oui (versions récentes) |
| Accès fichiers Windows | Très rapide | Rapide |
| Accès fichiers Linux | Limité | Complet |
| Usage recommandé | Cas très spécifiques | Usage standard |
Prérequis
- Windows 10 version 2004 ou supérieure
- Windows 11 (toutes éditions)
Cette vérification évite les erreurs d’installation et garantit que WSL 2 fonctionnera correctement.
# Vérifier la version winver
Installation de WSL 2
Étape 1 : Ouvrir le terminal powershell en administrateur
Étape 2 : Installer WSL 2 automatiquement
wsl --install
- Active les composants Windows nécessaires
- Installe WSL 2
- Télécharge le noyau Linux
- Installe Ubuntu par défaut
Choisir et installer une distribution Linux spécifique
WSL 2 ne se limite pas à Ubuntu. Microsoft permet d’installer plusieurs distributions Linux.
# Afficher les distributions disponibles wsl --list --online
# Installer une distribution précise wsl --install -d Debian
Lors du premier lancement de la distribution :
- un nom d’utilisateur Linux est demandé
- un mot de passe doit être défini
Vérifier que WSL 2 est bien utilisé
wsl --list --verbose
# Si la réponse est différente de : VERSION 2 wsl --set-version Ubuntu 2
WSL 2 : Installation manuelle
Dans la majorité des cas, la commande wsl --install suffit. Mais en environnement entreprise, sur des machines plus anciennes, ou quand certaines mises à jour Windows ne sont pas encore appliquées, il est utile de passer en installation manuelle.
# Activer les fonctionnalités Windows manuellement dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart