Layer 8Ehrlicher Tech-Support
BetriebssystemSchweregrad: LästigThere are no more endpoints available from the endpoint mapper

WSL 2 scheitert, weil der ICS-Dienst abgeschaltet wurde

Keine neue WSL-2-Distribution, die Umstellung von WSL 1 meldet no more endpoints. Oft hat ein Tuning-Skript den Dienst SharedAccess deaktiviert.

Aufwand:
ca. 20 Min.
Voraussetzung:
PowerShell, als Administrator gestartet, wsl.exe, gpresult für den Bericht der wirksamen Gruppenrichtlinien
Gilt für:
WSL 2 unter Windows 11 sowie Windows 10 ab Version 1903, Build 18362 (Microsoft Learn, Troubleshooting Windows Subsystem for Linux, Seitenstand 15.04.2026)

Das Symptom

Eine neue Linux-Distribution soll unter WSL 2 laufen, oder eine alte Installation soll endlich von WSL 1 auf WSL 2 umziehen. Die Installation scheitert, die Umstellung mit wsl –set-version bricht ab, und die Meldung lautet There are no more endpoints available from the endpoint mapper. Das klingt nach RPC-Problemen, nach kaputten Windows-Komponenten oder nach fehlender Virtualisierung. Also wird im BIOS nachgesehen, WSL neu installiert, der Kernel aktualisiert und am Ende vielleicht Windows repariert. Nichts davon hilft.

Ein paar Wochen vorher lief auf diesem Rechner eine Anleitung zum Entschlacken von Windows, ein Härtungsskript oder eine neue Gruppenrichtlinie der IT. Auf deren Liste stand auch der Dienst Internetverbindungsfreigabe, technischer Name SharedAccess. Wer teilt schon seine Internetverbindung mit anderen Rechnern? Also: deaktiviert. Dass zwischen diesem Häkchen und der Fehlermeldung bei WSL ein Zusammenhang bestehen könnte, kommt in der Fehlersuche niemandem in den Sinn.

Die „Layer 8“-Wahrheit

Der Zusammenhang steht schwarz auf weiß in Microsofts eigener Fehlerbehebungsseite zu WSL, in einem Abschnitt mit dem unmissverständlichen Titel „WSL 2 errors when ICS is disabled“. Dort heißt es: „Internet Connection Sharing (ICS) is a required component of WSL 2.“ Der Dienst ist also keine Beigabe für Leute, die ihr Notebook als Hotspot benutzen, sondern ein Baustein, den der Host Network Service braucht, um das virtuelle Netz für WSL 2 zu bauen. Über dieses Netz laufen laut Microsoft NAT, DNS, DHCP und die gemeinsame Nutzung der Verbindung des Rechners.

Die Folgen eines abgeschalteten Dienstes beschreibt Microsoft genauso präzise. Wer den ICS-Dienst SharedAccess deaktiviert oder ICS per Gruppenrichtlinie abschaltet, verhindert, dass das HNS-Netz für WSL überhaupt angelegt wird. Das führt zu Fehlern beim Anlegen eines neuen WSL-2-Abbilds und beim Umstellen eines Abbilds von Version 1 auf 2 zu genau der Meldung, die so gar nicht nach Netzwerk klingt: „There are no more endpoints available from the endpoint mapper.“

Der Denkfehler steckt im Namen. Internetverbindungsfreigabe klingt nach einer Komfortfunktion aus der Zeit, als sich drei Rechner ein Modem teilten, und landet deshalb regelmäßig auf Abschaltlisten. Technisch ist es aber die Grundlage, auf der das virtuelle Netz von WSL 2 mit NAT und DHCP aufsetzt. Wer einen Dienst nach seinem Anzeigenamen beurteilt, schaltet Dinge ab, die er nicht kennt.

Die Lösung ist entsprechend unspektakulär. Microsoft schreibt vor, dass Systeme mit WSL 2 den Dienst in seinem Auslieferungszustand lassen sollen, „Manual (Trigger Start)“, und dass jede Richtlinie, die ICS abschaltet, überschrieben oder entfernt werden soll. Automatisch muss der Dienst nicht starten. Manuell bedeutet laut der Dokumentation von Set-Service, dass ein Benutzer oder eine Anwendung ihn starten kann; erst Deaktiviert nimmt beiden diese Möglichkeit. Genau das braucht WSL: einen Dienst, der da ist, wenn er gebraucht wird.

Bleibt die Frage, was mit dem eigentlichen Ziel des Tuning-Skripts geschieht. Microsoft lässt eine Tür offen: Teile von ICS lassen sich nach einer eigenen Anleitung abschalten, ohne den Dienst stillzulegen. Wer also aus Sicherheitsgründen etwas einschränken muss, hat einen Weg, der WSL 2 nicht bricht. Der pauschale Haken bei Deaktiviert ist dieser Weg nicht.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Bestand und Version der Distributionen ansehen

    wsl --list --verbose zeigt laut Microsoft alle installierten Distributionen mit ihrem Zustand und der WSL-Version, unter der sie laufen; die Kurzform ist wsl -l -v. Damit steht fest, ob überhaupt WSL 2 betroffen ist und welche Distribution noch auf Version 1 hängt. Die Meldung über fehlende Endpunkte erscheint nach Microsofts Beschreibung genau beim Umstellen von 1 auf 2.

    wsl --list --verbose
    
  2. 2.

    Starttyp des Dienstes SharedAccess prüfen

    Der Dienstname von ICS ist SharedAccess. Get-Service mit anschließendem Select-Object zeigt Name, Starttyp und Status in einer Zeile, genau so, wie es die Dokumentation zu Set-Service für den Dienst BITS vorführt. Steht dort als StartType Disabled, ist die Ursache praktisch gefunden: Ein deaktivierter Dienst kann laut Dokumentation weder von einem Benutzer noch von einer Anwendung gestartet werden.

    Get-Service SharedAccess | Select-Object -Property Name, StartType, Status
    
  3. 3.

    Den Dienst zurück auf Manuell stellen

    In einer PowerShell, die als Administrator läuft, setzt Set-Service den Starttyp wieder auf Manual; die Dokumentation vermerkt ausdrücklich, dass das Cmdlet erhöhte Rechte braucht. Automatisch ist nicht nötig, Microsoft nennt Manuell mit Trigger-Start als Standard. Set-Service kennt als Werte nur Boot, System, Automatic, Manual und Disabled, einen eigenen Wert für den Trigger-Start gibt es dort nicht.

    Set-Service -Name SharedAccess -StartupType Manual
    Get-Service SharedAccess | Select-Object -Property Name, StartType, Status
    
  4. 4.

    Nach einer Richtlinie suchen, die ICS abschaltet

    Stellt sich der Dienst nach dem nächsten Neustart wieder auf Deaktiviert, kommt eine Gruppenrichtlinie als Ursache in Frage. gpresult zeigt den Resultant Set of Policy, also die tatsächlich wirksamen Richtlinien; mit /scope computer nur die für den Rechner, mit /h als HTML-Bericht. Microsofts Vorgabe für Systeme mit WSL 2 ist eindeutig: Jede Richtlinie, die ICS abschaltet, soll überschrieben oder entfernt werden. Das erledigt in einer Domäne der zuständige Admin, nicht der einzelne Rechner.

    gpresult /scope computer /h gpresult-rechner.html
    
  5. 5.

    Distribution sichern und die Umstellung wiederholen

    Die Seite zu den WSL-Grundbefehlen warnt, dass der Wechsel zwischen WSL 1 und WSL 2 dauern und scheitern kann, und empfiehlt bei großen Projekten vorher eine Sicherung. wsl --export schreibt einen Abzug der Distribution standardmäßig als tar-Datei. Danach startet wsl --set-version die Umstellung erneut; der Name der Distribution ist derjenige aus wsl --list --verbose, hier beispielhaft Ubuntu.

    wsl --export Ubuntu ubuntu-sicherung.tar
    wsl --set-version Ubuntu 2
    

Häufige Fragen (FAQ)

?Was hat die Internetverbindungsfreigabe mit Linux zu tun?

Mehr, als der Name vermuten lässt. Microsofts Fehlerbehebungsseite zu WSL sagt es ohne Umschweife: „Internet Connection Sharing (ICS) is a required component of WSL 2.“ Der Dienst wird vom Host Network Service benutzt, um das virtuelle Netz anzulegen, auf das WSL 2 für NAT, DNS, DHCP und die gemeinsame Nutzung der Verbindung des Rechners angewiesen ist. Selbst die Namensauflösung läuft im NAT-Modus darüber: Laut derselben Seite wird ein DNS-Paket aus dem Container „forwarded from the NAT device to the shared access service on the Host“.

?Muss der Dienst SharedAccess dafür auf Automatisch stehen?

Nein. Microsoft verlangt nur, ihn im Auslieferungszustand zu lassen, und nennt diesen ausdrücklich: „default start state, Manual (Trigger Start)“. Manuell heißt dabei nicht, dass ihn ein Mensch starten müsste. Die Beschreibung des Starttyps in der Dokumentation zu Set-Service lautet: „The service is started only manually, by a user, using the Service Control Manager, or by an application.“ Eine Anwendung darf ihn also bei Bedarf selbst starten. Nur Deaktiviert verhindert genau das: „The service is disabled and cannot be started by a user or application.“

?Kann ich ICS wenigstens teilweise abschalten?

Microsoft rät davon ab, verweist aber am Ende des Abschnitts auf eine eigene Anleitung, mit der sich Teile von ICS abschalten lassen, ohne den Dienst stillzulegen. Wörtlich: „While disabling the ICS service will break WSL 2, and we do not recommend disabling ICS, portions of ICS can be disabled“. Wer aus Sicherheitsgründen ICS einschränken muss, sollte also genau diese Teilabschaltung prüfen, statt den ganzen Dienst per Skript oder Richtlinie auf Deaktiviert zu setzen und damit WSL 2 die Grundlage zu entziehen.

?Warum fällt der Fehler oft erst Wochen später auf?

Weil die Abschaltung selbst nichts Sichtbares auslöst. Ein Rechner, auf dem gerade keine neue WSL-2-Distribution angelegt oder umgestellt wird, merkt vom deaktivierten Dienst zunächst nichts. Microsoft beschreibt die Folgen genau für diese beiden Vorgänge: Das Anlegen eines neuen WSL-2-Abbilds scheitert, und die Umstellung eines Abbilds von Version 1 auf Version 2 bricht mit der Meldung ab, dass keine Endpunkte mehr verfügbar seien. Wer dann sucht, hat das Tuning-Skript von vor einem Monat längst vergessen.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

OSLästigUnit is masked

systemctl: Unit is masked

systemctl startet den Dienst nicht: 'Unit is masked'. Die Unit ist auf /dev/null verlinkt. So machst du sie mit unmask wieder startbar.