Wenn man das Root-Passwort (oder ein Benutzer-Passwort) seiner WSL-Installation (Windows Subsystem for Linux) vergessen hat, hilft ein Umweg über die Registry. Da es sich hierbei um keine vollständige VM sondern um eine leichtgewichtige Kernel-Erweiterung handelt, funktioniert der übliche Live-CD-Trick (Einhängen des Dateisystems und Ausführen von chroot) nämlich nicht.
Unterhalb des Pfads KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss gibt es pro WSL-Installation einen weiteren Schlüssel. Hier wiederrum finden sich weitere Schlüssel – mithilfe von DefaultUid kann der Start-Benutzer geändert werden. In der Regel wird WSL mit unpriviligiertem Benutzer (UID 1000) gestartet – und dieser kann das Root-Passwort nicht ändern und sein eigenes ebenfalls nicht, sofern das alte nicht bekannt ist. Per Doppelklick wird der Wert kurzzeitig auf 0 gesetzt – WSL darf währenddessen nicht gestartet sein.

Anschließend startet ein Klick auf das dazugehörige WSL-Symbol eine Root-Shell. Mithilfe dieser können nun die Passwörter zurückgesetzt werden:
# passwd # passwd pinkepank
Abschließend empfiehlt es sich, die Anpassung wieder rückgängig zu machen.
Du kannst auch einfach Deine Distribution direkt mit dem User root starten:
wsl -d -u root
Er fragt dabei nicht nach dem Passwort, zumindest nicht bei mir.
Hi Kai,
danke für den Hinweis! Wie rufst Du das genau auf? Habe
cmd
undpowershell
ausprobiert, aber erhalte immer folgende Fehlermeldung:Es gibt keine Verteilung mit dem angegebenen Namen.
Beste Grüße,
Christian.