Aller au contenu
Administration Linux medium

Installer WSL2 sur Windows 10 et 11 pour un Linux local

30 min de lecture

WSL2 (Windows Subsystem for Linux 2) vous permet d'exécuter Linux directement dans Windows, sans dual-boot ni machine virtuelle lourde. Vous conservez votre environnement Windows tout en accédant aux outils Linux (bash, Docker, Python, etc.). L'installation prend moins de 10 minutes : une seule commande suffit sur Windows 11.

Ce guide vous accompagne dans l'installation et la configuration de WSL2 :

CompétenceCe que vous saurez faire
Vérifier les prérequisConfirmer que votre PC supporte WSL2
Activer la virtualisationConfigurer le BIOS si nécessaire
Installer WSL2Une commande pour tout configurer
Choisir une distributionUbuntu, Debian, Fedora...
Lancer des apps graphiquesExécuter des applications Linux avec interface
Installation hors-ligneInstaller WSL sans connexion Internet

Les deux versions cohabitent toujours et se choisissent distribution par distribution. WSL1 traduit les appels système Linux en appels Windows, WSL2 embarque un vrai noyau Linux dans une machine virtuelle légère gérée par Hyper-V. Les deux lignes de performance du tableau se lisent donc en miroir : la traduction de WSL1 lit vite les fichiers Windows mais mal les fichiers Linux, la VM de WSL2 fait exactement l'inverse parce que ses fichiers Linux vivent dans un disque virtuel et que l'accès à C: passe par un protocole réseau.

AspectWSL1WSL2
ArchitectureCouche de traductionVrai noyau Linux
Performances I/O LinuxMoyennesÉlevées
Performances I/O WindowsÉlevéesMoyennes
CompatibilitéPartielleComplète
DockerNon supportéOui, Natif
RAM utiliséeMinimaleDynamique (2GB+)

Recommandation : utilisez WSL2 sauf si vous travaillez intensivement sur des fichiers stockés côté Windows (dans ce cas, WSL1 peut être plus rapide pour l'accès fichiers).

WSL2 nécessite Windows 10 version 2004+ ou Windows 11. Le numéro qui compte n'est pas « Windows 10 » mais le numéro de build affiché par la commande ci-dessous : c'est lui que le programme d'installation contrôle, et une machine restée sur une build antérieure à 19041 refusera l'installation même si elle affiche bien Windows 10.

Fenêtre de terminal
winver

Vous devez voir au minimum :

  • Windows 10 : Version 2004 (Build 19041 ou supérieur)
  • Windows 11 : Toutes versions supportées

WSL2 utilise Hyper-V, qui nécessite la virtualisation matérielle. Si vous obtenez une erreur lors de l'installation, vérifiez ce paramètre.

  1. Redémarrez votre PC et accédez au BIOS/UEFI

    La touche dépend du fabricant (affichée au démarrage) :

  2. Trouvez le paramètre de virtualisation

    Le nom et l'emplacement varient selon le constructeur :

    ConstructeurTouche BIOSEmplacementNom du paramètre
    ASUSF2 / SupprAdvanced → CPU ConfigurationIntel VT-x / SVM Mode
    DellF2Virtualization SupportEnable Virtualization
    HPF10 / ÉchapSystem Configuration → Device ConfigurationVirtualization Technology
    LenovoF1 / F2Security → VirtualizationIntel VT-x / AMD-V
    MSISupprOC → CPU FeaturesSVM Mode / Intel VT-x
    AcerF2AdvancedIntel VT / AMD SVM
    GigabyteSupprM.I.T → Advanced CPU SettingsSVM / VT-x

    Ce tableau résume les accès les plus courants. Le paramètre doit être sur Enabled.

  3. Sauvegardez et redémarrez

    Généralement F10 → Save & Exit.

Une seule commande PowerShell administrateur enchaîne l'activation des fonctionnalités Windows, le téléchargement du noyau et l'installation d'une distribution. Le point important est le redémarrage entre l'étape 2 et l'étape 4 : les fonctionnalités Microsoft-Windows-Subsystem-Linux et VirtualMachinePlatform ne sont réellement actives qu'au boot suivant, et lancer Ubuntu avant ce redémarrage produit une erreur qui ressemble à un échec d'installation.

  1. Ouvrez PowerShell en administrateur

    • Clic droit sur Démarrer → Terminal Windows (Admin)
    • Ou : Win+X → Terminal (Admin)
  2. Lancez l'installation

    Fenêtre de terminal
    wsl --install

    Cette commande :

    • Active les fonctionnalités Windows requises
    • Télécharge le noyau Linux WSL2
    • Installe Ubuntu comme distribution par défaut
  3. Redémarrez votre PC

    Fenêtre de terminal
    Restart-Computer
  4. Configurez Ubuntu au premier lancement

    Au redémarrage, Ubuntu se lance automatiquement. Créez votre utilisateur Linux :

    Enter new UNIX username: votre_nom
    New password: ********

En environnement déconnecté ou derrière un proxy filtrant, wsl --install échoue au moment du téléchargement du noyau. La procédure ci-dessous refait à la main ce que la commande automatise : activer les deux fonctionnalités Windows, poser le paquet de noyau, puis fournir la distribution sous forme de fichier. Prévoyez un poste connecté pour récupérer les deux fichiers et un moyen de transfert (clé USB, partage interne).

  1. Activez les fonctionnalités Windows requises

    En PowerShell administrateur :

    Fenêtre de terminal
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  2. Redémarrez

    Fenêtre de terminal
    Restart-Computer
  3. Téléchargez le kernel Linux

    Sur un PC connecté, téléchargez : https://aka.ms/wsl2kernel

    Transférez le fichier .msi et installez-le.

  4. Définissez WSL2 comme version par défaut

    Fenêtre de terminal
    wsl --set-default-version 2
  5. Installez une distribution manuellement

    Téléchargez le fichier .appx depuis le Microsoft Store (sur un PC connecté) :

    DistributionLien de téléchargement
    Ubuntu 24.04 LTSMicrosoft Store
    DebianMicrosoft Store

    Renommez le fichier .appx en .zip, extrayez-le et lancez l'exécutable.

Voici les commandes PowerShell indispensables pour gérer WSL au quotidien. Toutes s'exécutent depuis un terminal Windows (pas besoin d'être dans WSL).

Une fois WSL installé, vous pouvez avoir plusieurs distributions Linux côte à côte. Ces commandes vous permettent de les lister, démarrer, arrêter ou basculer entre elles.

Fenêtre de terminal
# Lister les distributions installées
wsl --list --verbose
# Lancer une distribution spécifique
wsl -d Ubuntu
# Définir la distribution par défaut
wsl --set-default Ubuntu
# Arrêter toutes les distributions
wsl --shutdown
# Arrêter une distribution spécifique
wsl --terminate Ubuntu

Vous pouvez convertir une distribution existante de WSL1 vers WSL2 (ou inversement) sans la réinstaller. C'est utile si vous avez migré depuis une ancienne version de Windows.

Fenêtre de terminal
# Vérifier la version de WSL
wsl --version
# Convertir une distribution WSL1 → WSL2
wsl --set-version Ubuntu 2
# Mettre à jour WSL
wsl --update

Les systèmes de fichiers sont accessibles des deux côtés :

DepuisVersChemin
WindowsLinux\\wsl$\Ubuntu\home\user\
LinuxWindows/mnt/c/Users/VotreNom/

Depuis Windows 11, WSL2 exécute les applications graphiques Linux nativement grâce à WSLg, un composant qui démarre en même temps que la distribution et relaie l'affichage vers le bureau Windows. Aucun serveur X tiers à installer, aucune variable à exporter : une fenêtre Linux apparaît comme une fenêtre Windows ordinaire, avec son entrée dans la barre des tâches. Sur Windows 10, WSLg n'est pas disponible et il faut passer par un serveur X externe.

WSLg fournit un serveur d'affichage Wayland et un pont X11 dans la distribution. Le test le plus rapide consiste à lire la variable DISPLAY : si elle est vide, WSLg n'est pas actif et aucune fenêtre ne s'ouvrira, quel que soit le paquet installé. La cause la plus fréquente est un WSL trop ancien, que wsl --update corrige.

Fenêtre de terminal
# Dans WSL2, vérifiez que DISPLAY est configuré
echo $DISPLAY
# Doit afficher quelque chose comme :0

Une application graphique Linux s'installe exactement comme une application en ligne de commande, avec le gestionnaire de paquets de la distribution. Aucune configuration d'affichage n'est nécessaire : la mise à jour préalable des paquets sert surtout à récupérer les bibliothèques GTK ou Qt dont dépend l'application.

Fenêtre de terminal
# Mettre à jour les paquets
sudo apt update && sudo apt upgrade -y
# Installer un éditeur graphique (exemple : gedit)
sudo apt install gedit -y
# Lancer l'application
gedit &

L'application s'ouvre dans une fenêtre Windows classique, avec intégration dans la barre des tâches.

Voici quelques applications graphiques populaires que vous pouvez installer dans WSL2. Elles s'intègrent parfaitement à Windows : icônes dans le menu Démarrer, fenêtres redimensionnables, copier-coller entre Windows et Linux.

Fenêtre de terminal
# Navigateur de fichiers
sudo apt install nautilus -y
# Éditeur de code (léger)
sudo apt install geany -y
# Terminal avancé
sudo apt install terminator -y

Après installation, lancez chaque application par son nom dans le terminal WSL (ex: nautilus &). Le & permet de garder le terminal disponible.

Par défaut, la machine virtuelle WSL2 s'autorise une part importante de la mémoire de l'hôte et ne la rend pas spontanément à Windows. Le fichier .wslconfig fixe un plafond, ce qui évite qu'une compilation dans WSL fasse ramer le reste du poste. Il s'applique à toutes les distributions à la fois, contrairement à wsl.conf traité juste après.

Emplacement : C:\Users\VotreNom\.wslconfig

[wsl2]
memory=4GB
processors=2
swap=2GB
localhostForwarding=true

Après modification, redémarrez WSL :

Fenêtre de terminal
wsl --shutdown

Là où .wslconfig règle la machine virtuelle globale côté Windows, /etc/wsl.conf se place à l'intérieur de chaque distribution et ne concerne qu'elle. C'est le fichier qui active systemd, sans lequel systemctl renvoie une erreur et où aucun service Linux ne démarre au lancement. Créez-le avec les droits root :

[boot]
systemd=true
[automount]
enabled=true
root=/mnt/
options="metadata,umask=22,fmask=11"
[network]
generateResolvConf=true

Cette configuration :

  • Active systemd (services Linux)
  • Configure le montage automatique des lecteurs Windows
  • Génère automatiquement /etc/resolv.conf

VS Code fonctionne ici en mode client-serveur : l'interface reste une application Windows, mais un serveur VS Code est installé automatiquement dans la distribution Linux et c'est lui qui exécute le terminal, les extensions, le débogueur et les outils de langage. Conséquence pratique : les extensions doivent être installées côté WSL, et une extension présente côté Windows peut apparaître grisée tant que vous ne l'avez pas activée dans le contexte distant.

  1. Installez l'extension Remote - WSL

    Dans VS Code, installez "Remote - WSL" (ou "WSL" dans les versions récentes).

  2. Ouvrez un projet WSL

    Depuis WSL :

    Fenêtre de terminal
    cd ~/mon-projet
    code .

    Ou depuis VS Code : Ctrl+Shift+P → "WSL: Connect to WSL"

  3. Développez nativement

    VS Code s'exécute côté Windows mais tous les outils (terminal, extensions) tournent dans WSL.

Les messages ci-dessous sont ceux que renvoie WSL en anglais, y compris sur un Windows en français : cherchez la chaîne exacte affichée dans votre terminal. Trois d'entre eux se règlent sans toucher à la distribution (BIOS, droits, mise à jour du noyau) ; les deux derniers touchent à la configuration de la machine virtuelle et demandent un wsl --shutdown avant que la correction prenne effet.

ErreurCause probableSolution
"Virtualization disabled"BIOS mal configuréActiver VT-x/AMD-V dans le BIOS
"WSL 2 requires an update"Kernel obsolètewsl --update
"The requested operation requires elevation"Droits insuffisantsLancer PowerShell en admin
Distribution qui ne démarre pasRAM insuffisanteRéduire memory dans .wslconfig
Réseau non disponibleVPN interférenceDésactiver le VPN ou configurer le pare-feu

Si une distribution est corrompue :

Fenêtre de terminal
# Désinscrire (supprime les données !)
wsl --unregister Ubuntu
# Réinstaller
wsl --install -d Ubuntu

wsl --export produit une archive .tar contenant l'intégralité du système de fichiers de la distribution : paquets installés, fichiers personnels, configuration. C'est le seul mécanisme de sauvegarde fourni en standard, et il sert autant à migrer vers un autre poste qu'à déplacer une distribution sur un autre disque quand C: sature. À l'import, le deuxième argument est le répertoire de destination du disque virtuel, pas un fichier : donnez un dossier vide.

Fenêtre de terminal
# Sauvegarder
wsl --export Ubuntu D:\Backups\ubuntu.tar
# Restaurer (sur un autre PC ou après réinstallation)
wsl --import Ubuntu C:\WSL\Ubuntu D:\Backups\ubuntu.tar

Utilisez cette liste pour valider que votre installation WSL2 est complète et fonctionnelle. Chaque point correspond à une étape critique du processus.

  • Windows 10 2004+ ou Windows 11
  • Virtualisation activée dans le BIOS
  • wsl --install exécuté avec succès
  • Distribution configurée (utilisateur + mot de passe)
  • wsl --list --verbose affiche la distribution en version 2
  • Accès réseau fonctionnel (ping google.com)
  • .wslconfig créé pour limiter la RAM (optionnel)

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ces points essentiels résument les bonnes pratiques pour utiliser WSL2 efficacement au quotidien.

ConceptPoint clé
WSL2Noyau Linux natif dans Windows, pas une émulation
Installationwsl --install fait tout en une commande
FichiersTravaillez dans le système de fichiers natif de votre app
RessourcesLimitez la RAM via .wslconfig si nécessaire
VS CodeExtension WSL pour développer nativement
Sauvegardewsl --export avant toute manipulation risquée

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn