WSL ne démarre plus correctement

Si WSL refuse soudainement de démarrer avec ERROR_FILE_NOT_FOUND, vérifier d'abord si system.vhd et modules.vhd ont disparu avant de suspecter sa distribution Linux.

3 minutes de lecture

En août 2026, WSL a soudainement cessé de fonctionner sur mon ordinateur Windows 10. wsl --version fonctionnait toujours, mais lancer Debian ou même simplement afficher certaines informations sur les distributions pouvait rester bloqué.

Comme il me semble avoir déjà rencontré un problème similaire avec WSL, je conserve ici l'essentiel du diagnostic et de la solution.

Dans mon cas, Debian et son disque virtuel étaient intacts. C'était l'installation de WSL elle-même qui était endommagée.

Les symptômes

Ma version de WSL était :

wsl --version
Version WSL : 2.7.11.0
Version du noyau : 6.18.33.2-2
Version de Windows : 10.0.19045.6466

Après avoir réussi à débloquer temporairement le service WSL, le lancement d'une autre distribution a finalement donné l'erreur beaucoup plus utile suivante :

wsl -d Ubuntu -- uname -a
Le fichier spécifié est introuvable.

Code d'erreur :
Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND

Le fait qu'Ubuntu et Debian aient toutes les deux le même problème était déjà un bon indice que Debian n'était pas en cause.

La vérification la plus importante

Si je rencontre de nouveau ce problème, c'est probablement la première commande que je vais exécuter :

Get-Item 'C:\Program Files\WSL\system.vhd','C:\Program Files\WSL\tools\kernel','C:\Program Files\WSL\tools\modules.vhd' -ErrorAction SilentlyContinue | Select-Object FullName,Length,LastWriteTime

Dans mon cas, seule cette ligne était retournée :

C:\Program Files\WSL\tools\kernel

Les deux fichiers suivants avaient complètement disparu :

C:\Program Files\WSL\system.vhd
C:\Program Files\WSL\tools\modules.vhd

C'était la cause du problème.

On peut aussi les vérifier rapidement avec :

Test-Path 'C:\Program Files\WSL\system.vhd'
Test-Path 'C:\Program Files\WSL\tools\modules.vhd'

J'obtenais :

False
False

Des problèmes similaires ont été rapportés dans le dépôt officiel de WSL, avec la même erreur ERROR_FILE_NOT_FOUND lorsque system.vhd et modules.vhd étaient manquants.

Avant de réparer quoi que ce soit : sauvegarder la distribution

Ma distribution Debian était stockée dans :

F:\WSL\debian\ext4.vhdx

J'ai commencé par vérifier qu'aucune distribution n'était active :

wsl -l -v

Puis j'ai copié le VHDX sur un autre disque :

Copy-Item 'F:\WSL\debian\ext4.vhdx' 'D:\Backup\debian-ext4.vhdx'

Pour être certain que la copie était identique :

Get-FileHash 'F:\WSL\debian\ext4.vhdx' -Algorithm SHA256
Get-FileHash 'D:\Backup\debian-ext4.vhdx' -Algorithm SHA256

Les deux empreintes SHA-256 étaient identiques.

À éviter :

wsl --unregister Debian

Il n'y avait aucune raison de supprimer ou de réinstaller Debian puisque son VHDX était intact.

Si WslService est bloqué

Une autre partie du problème était que le service WSL pouvait rester bloqué.

Pour vérifier son état :

sc.exe queryex WslService

Dans mon cas, il était notamment resté dans :

STATE : 3  STOP_PENDING

Si cela se reproduit, on peut vérifier qu'aucune VM WSL n'est active :

Get-Process *vmmem*,wslhost -ErrorAction SilentlyContinue

Puis récupérer le PID de WslService avec :

sc.exe queryex WslService

et, au besoin, terminer le processus bloqué :

taskkill /PID <PID> /F

Une tentative de réparation de WSL avait d'ailleurs échoué chez moi précisément parce que WslService refusait de s'arrêter : Windows Installer retournait l'erreur 1921 puis annulait la réparation.

La solution : réinstaller WSL

La solution finale a été beaucoup plus simple que le diagnostic : réinstaller WSL lui-même.

Les installateurs officiels sont disponibles dans les releases du projet WSL de Microsoft.

Après avoir téléchargé le MSI approprié, on peut l'installer avec :

msiexec.exe /i 'C:\Temp\wsl.x64.msi'

Il n'est pas nécessaire de supprimer Debian ni son ext4.vhdx.

Après la réinstallation, je vérifie d'abord que les fichiers manquants sont revenus :

Test-Path 'C:\Program Files\WSL\system.vhd'
Test-Path 'C:\Program Files\WSL\tools\modules.vhd'

Les deux doivent retourner :

True
True

Puis :

wsl -l -v
wsl -d Debian -- uname -a

À retenir

Si WSL recommence à ne plus démarrer, particulièrement avec :

Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND

je vérifierai immédiatement :

Test-Path 'C:\Program Files\WSL\system.vhd'
Test-Path 'C:\Program Files\WSL\tools\modules.vhd'

Si les deux fichiers sont absents alors que le ext4.vhdx de ma distribution est toujours présent, je suspecterai d'abord une installation WSL endommagée plutôt qu'une distribution Linux corrompue.

Dans ce cas : sauvegarder le VHDX, ne pas faire de wsl --unregister, puis réinstaller WSL.

Références