Konfiguration der erweiterten Einstellungen im Windows-Subsystem für Linux (WSL)

Die wsl.conf- und .wslconfig-Dateien werden verwendet, um erweiterte Einstellungen in WSL zu konfigurieren, die beim Start der WSL-VM angewendet werden. wsl.conf wird verwendet, um Einstellungen pro WSL-Distro-Basis anzuwenden und .wslconfig wird verwendet, um globale Einstellungen auf WSL anzuwenden. Weitere Informationen zu den nachstehenden Unterschieden finden Sie hier.

Aspekt .wslconfig wsl.conf
Umfang Allgemeine Einstellungen, die für alle WSL gelten Nur Einstellungen für WSL-Distributionen
Konfiguriert Featureaktivierung in WSL, Einstellungen für den virtuellen Computer mit WSL 2 (RAM, Kernel zum Starten, Anzahl von CPUs usw.) Verteilungseinstellungen in WSL, z. B. Startoptionen, DrvFs-Automounts, Netzwerk, Interoperabilität mit dem Windows-System, Systemverwendung und Standardbenutzer
Standort %UserProfile%\.wslconfig, außerhalb einer WSL-Verteilung /etc/wsl.conf, innerhalb einer WSL-Verteilung

Derzeit gelten alle .wslconfig Einstellungen nur für WSL 2-Verteilungen. Erfahren Sie , wie Sie überprüfen, welche WSL-Version Sie ausführen.

Die 8-Sekunden-Regel für Konfigurationsänderungen

Sie müssen warten, bis das Subsystem, auf dem Ihre Linux-Distribution ausgeführt wird, vollständig beendet und neu gestartet wurde, damit Aktualisierungen von Konfigurationseinstellungen angezeigt werden. Dies dauert in der Regel etwa acht Sekunden nach dem Schließen ALLER Instanzen der Distributionsshell.

Wenn Sie eine Verteilung (z. B. Ubuntu) starten, ändern Sie die Konfigurationsdatei, schließen Sie die Verteilung und starten Sie diese dann neu. Sie können davon ausgehen, dass Ihre Konfigurationsänderungen sofort wirksam sind. Dies ist derzeit nicht der Fall, da das Subsystem möglicherweise noch läuft. Sie müssen warten, bis das Subsystem beendet wird, bevor Sie es neu starten, damit das System genügend Zeit hat, Ihre Änderungen zu übernehmen. Sie können nachsehen, ob Ihre Linux-Distribution (Shell) nach dem Schließen noch ausgeführt wird, indem Sie in PowerShell den folgenden Befehl verwenden: wsl --list --running. Wenn keine Verteilungen ausgeführt werden, erhalten Sie die Antwort: "Es werden keine Verteilungen ausgeführt." Sie können die Verteilung jetzt neu starten, um die angewendeten Konfigurationsupdates anzuzeigen.

Der Befehl wsl --shutdown ist ein schneller Weg, WSL 2-Distributionen neu zu starten, fährt jedoch alle laufenden Distributionen herunter; daher mit Bedacht verwenden. Sie können auch wsl --terminate <distroName> verwenden, um eine bestimmte gerade ausgeführte Distribution sofort zu beenden.

wsl.conf

Konfigurieren Sie lokale Einstellungen mit wsl.conf pro Distribution für jede Linux-Distributionen, die unter WSL 1 oder WSL 2 ausgeführt wird.

  • Wird im Verzeichnis /etc der Distribution als Unix-Datei gespeichert.
  • Wird verwendet, um Einstellungen für einzelne Distributionen zu konfigurieren. Die in dieser Datei konfigurierten Einstellungen werden nur auf die jeweilige Linux-Distribution angewendet, die das Verzeichnis mit dieser Datei enthält.
  • Kann für Distributionen verwendet werden, die mit einer der beiden Versionen, WSL 1 oder WSL 2, ausgeführt werden.
  • Um zum Verzeichnis /etc einer installierten Distribution zu gelangen, verwenden Sie die Befehlszeile der Distribution mit cd /, um in das Stammverzeichnis zu wechseln, und dann ls, um Dateien aufzulisten, oder explorer.exe ., um sie im Windows-Datei-Explorer anzuzeigen. Der Verzeichnispfad sollte etwa so aussehen: /etc/wsl.conf.

Hinweis

Das Anpassen der Einstellungen für einzelne Distributionen mit der Datei „wsl.conf“ ist nur in Windows-Build 17093 und höher möglich.

Konfigurationseinstellungen für „wsl.conf“

Die Datei „wsl.conf“ konfiguriert Einstellungen pro Distribution. (Informationen zur globalen Konfiguration von WSL 2-Distributionen finden Sie unter .wslconfig.)

Die Datei „wsl.conf“ unterstützt vier Abschnitte: automount, network, interop und user. (Nach dem Vorbild von .ini-Dateikonventionen werden Schlüssel in einem Abschnitt deklariert, wie in .gitconfig-Dateien.) Informationen dazu, wo die Datei wsl.conf gespeichert werden soll, finden Sie unter wsl.conf.

systemd-Unterstützung

Viele Linux-Distributionen führen standardmäßig "systemd" aus (einschließlich Ubuntu). WSL unterstützt diesen System-/Service-Manager auf den neuesten Versionen von WSL aus dem Microsoft Store und macht WSL noch ähnlicher, als Sie Ihre bevorzugten Linux-Distributionen auf einem Bare-Metal-Computer verwenden. Überprüfen Sie Ihre WSL-Version mit wsl --version. Wenn Sie ein Update benötigen, können Sie die neueste Version von WSL im Microsoft Store herunterladen. Wenn wsl --version nicht erkannt wird, verwenden Sie wahrscheinlich eine ältere Posteingangsversion von WSL, die aktualisiert werden muss, bevor systemd verfügbar ist.

Um systemd zu aktivieren, öffnen Sie Ihre wsl.conf-Datei mit sudo in einem Texteditor für Administratorrechte und fügen Sie dem /etc/wsl.conf die folgenden Zeilen hinzu:

[boot]
systemd=true

Anschließend müssen Sie Ihre WSL-Distribution schließen, indem Sie in PowerShell wsl.exe --shutdown ausführen, um Ihre WSL-Instanzen neu zu starten. Sobald die Distribution neu gestartet wurde, sollte „systemd“ ausgeführt werden. Sie können dies mit dem Befehl bestätigen: systemctl list-unit-files --type=service, der den Status Ihrer Dienste anzeigt.

Automount-Einstellungen

wsl.conf Abschnittsname: [automount]

Schlüssel Wert Standard Hinweise
enabled boolean true Bei true werden Festplattenlaufwerke (d. h. C:/ oder D:/) mit DrvFs automatisch unter /mnt eingebunden. false bedeutet, dass Laufwerke nicht automatisch eingehängt werden, aber sie können dennoch manuell oder über fstab eingehängt werden.
mountFsTab boolean true true legt fest, dass /etc/fstab beim Start von WSL verarbeitet wird. /etc/fstab ist eine Datei, in der Sie andere Dateisysteme wie eine SMB-Freigabe deklarieren können. Daher können Sie diese Dateisysteme beim Start automatisch in WSL einbinden.
root Zeichenfolge /mnt/ Legt das Verzeichnis fest, in dem Festplatten automatisch eingehängt werden. Standardmäßig ist dies auf /mnt/ gesetzt, sodass Ihr Windows-Dateisystem C:\ unter /mnt/c/ eingehängt ist. Wenn Sie /mnt/ in /windir/ ändern, sollten Sie erwarten, dass Ihr festes C:\ an /windir/c eingehängt wird.
options comma-separated list of values, such as uid, gid, etc, see automount options below Null Die Werte der automount-Option sind unten aufgeführt und werden an die Standardzeichenfolge für die DrvFs-Einbindungsoptionen angehängt. Es können nur DrvFs-spezifische Optionen angegeben werden.
ldconfig boolean true Fügt von Windows bereitgestellte GPU-Bibliotheken zum Suchpfad des dynamischen Linkers hinzu und führt ldconfig aus. Gilt nur für WSL 2 mit aktivierter GPU-Unterstützung.
cgroups Zeichenfolge v2 Wählt die Cgroup-Hierarchie aus, die in WSL 2 bereitgestellt werden soll. Verfügbare Werte sind v1 und v2.

Die automount-Optionen werden als Einbindungsoptionen für alle automatisch eingebundenen Laufwerke angewendet. Verwenden Sie stattdessen die Datei /etc/fstab, um die Optionen nur für ein bestimmtes Laufwerk zu ändern. Optionen, die die Einbindungsbinärdatei normalerweise in ein Flag analysieren würde, werden nicht unterstützt. Wenn Sie diese Optionen explizit angeben möchten, müssen Sie in /etc/fstab jedes Laufwerk angeben, für das Sie dies tun möchten.

Automount-Optionen

Durch Festlegen verschiedener Einbindungsoptionen für Windows-Laufwerke (DrvFs) kann gesteuert werden, wie Dateiberechtigungen für Windows-Dateien berechnet werden. Die folgenden Optionen sind verfügbar:

Schlüssel Beschreibung Standard
uid Die Benutzer-ID, die für den Besitzer aller Dateien verwendet wird Die standardmäßige Benutzer-ID Ihrer WSL-Distro (bei der Erstinstallation ist sie standardmäßig 1000)
gid Die Gruppen-ID, die für den Besitzer aller Dateien verwendet wird Die Standard-Gruppen-ID Ihrer WSL-Distribution (bei der Erstinstallation ist diese standardmäßig 1000)
umask Eine oktale Maske mit Berechtigungen, die für alle Dateien und Verzeichnisse ausgeschlossen werden sollen 022
fmask Eine oktale Maske der Berechtigungen, die für alle Dateien auszuschließen sind 000
dmask Eine oktale Maske mit Berechtigungen, die für alle Verzeichnisse ausgeschlossen werden sollen 000
metadata Gibt an, ob Metadaten zu Windows-Dateien hinzugefügt werden, um Linux-Systemberechtigungen zu unterstützen disabled
case Bestimmt Verzeichnisse, bei denen die Groß-/Kleinschreibung beachtet wird, und ob für neue Verzeichnisse, die mit WSL erstellt werden, das Flag festgelegt wird. Eine ausführliche Erläuterung der Optionen finden Sie unter Beachtung der Groß-/Kleinschreibung. Zu den Optionen gehören off, dir oder force. off

Standardmäßig setzt WSL uid und gid auf den Wert des Standardbenutzers. In Ubuntu ist beispielsweise der Standardbenutzer uid=1000, gid=1000. Wenn dieser Wert verwendet wird, um eine andere gid oder uid Option anzugeben, wird der Standardwert des Benutzers überschrieben. Andernfalls wird der Standardwert immer angefügt.

Die oben genannten Umask-, Fmask- usw. Optionen gelten nur, wenn das Windows-Laufwerk mit Metadaten eingehängt wird. Standardmäßig sind Metadaten nicht aktiviert. Weitere Informationen hierzu finden Sie hier.

Hinweis

Die Berechtigungsmasken werden durch eine logische ODER-Operation festgelegt, bevor sie auf Dateien oder Verzeichnisse angewendet werden.

Was ist DrvFs?

DrvFs ist ein Dateisystem-Plug-In für WSL, das entwickelt wurde, um die Interoperabilität zwischen WSL und dem Windows-Dateisystem zu unterstützen. DrvFs ermöglicht WSL das Einbinden von Laufwerken mit unterstützten Dateisystemen unter /mnt, wie z. B. /mnt/c, /mnt/d usw. Weitere Informationen zum Angeben des Standardverhaltens der Groß-/Kleinschreibung beim Einbinden von Windows- oder Linux-Laufwerken oder -Verzeichnissen finden Sie auf der Seite Groß-/Kleinschreibung.

Netzwerkeinstellungen

wsl.conf Abschnittsname: [network]

Schlüssel Wert Standard Hinweise
generateHosts boolean true true weist WSL an, /etc/hosts zu generieren. Die hosts-Datei enthält eine statische Zuordnung von Hostnamen zu den entsprechenden IP-Adressen.
generateResolvConf boolean true true weist WSL an, /etc/resolv.conf zu generieren. resolv.conf enthält eine DNS-Liste, mit der ein angegebener Hostnamen in seine IP-Adresse aufgelöst werden kann.
hostname Zeichenfolge Windows-Hostname Legt den Hostnamen fest, der für die WSL-Distribution verwendet werden soll.

Interoperabilitätseinstellungen (interop)

wsl.conf Abschnittsname: [interop]

Diese Optionen sind in Windows 10 Version 1809 (Build 17763) und höher verfügbar.

Schlüssel Wert Standard Hinweise
enabled boolean true Durch Festlegen dieses Schlüssels wird festgelegt, ob WSL das Starten von Windows-Prozessen unterstützt.
appendWindowsPath boolean true Wenn Sie diesen Schlüssel festlegen, wird bestimmt, ob WSL der $PATH Umgebungsvariable Windows-Pfadelemente hinzu fügt.

Benutzereinstellungen

wsl.conf Abschnittsname: [user]

Diese Optionen sind in Build 18980 und höher verfügbar.

Schlüssel Wert Standard Hinweise
default Zeichenfolge Der anfängliche Benutzername, der bei der ersten Ausführung erstellt wird Durch Festlegen dieses Schlüssels wird die benutzende Person angegeben, die beim ersten Start einer WSL-Sitzung zur Ausführung verwendet werden soll.

Booteinstellungen

Die boot-Einstellung ist nur unter Windows 11 und Windows Server 2022 verfügbar.

wsl.conf Abschnittsname: [boot]

Schlüssel Wert Standard Hinweise
command Zeichenfolge Null Eine Zeichenfolge des Befehls, den Sie ausführen möchten, wenn die WSL-Instanz gestartet wird. Dieser Befehl wird als Root-Benutzer ausgeführt. z. B.: service docker start.
protectBinfmt boolean true Verhindert, dass WSL systemd-Einheiten generiert, wenn systemd aktiviert ist.
systemd boolean false Aktiviert systemd als Init-Prozess für die Distribution. Wird nur auf WSL 2 unterstützt.
initTimeout Zahl 10000 Die Anzahl der Millisekunden, die WSL wartet, bis systemd initialisiert wird.

GPU-Einstellungen

wsl.conf Abschnittsname: [gpu]

Schlüssel Wert Standard Hinweise
enabled boolean true Zulassen, dass Linux-Anwendungen über Paravirtualisierung auf die Windows-GPU zugreifen können.
appendLibPath boolean true Fügt /usr/lib/wsl/lib zur Umgebungsvariable hinzu, wenn die $PATH GPU-Unterstützung in WSL 2 aktiviert ist.

Zeiteinstellungen

wsl.conf Abschnittsname: [time]

Schlüssel Wert Standard Hinweise
useWindowsTimezone boolean true Indem Sie diesen Schlüssel festlegen, wird WSL die in Windows festgelegte Zeitzone verwenden und synchronisieren.

wsl.conf-Beispieldatei

Die unten stehende Beispieldatei wsl.conf veranschaulicht einige der verfügbaren Konfigurationsoptionen. In diesem Beispiel ist die Distribution Ubuntu-20.04 und der Dateipfad ist \\wsl.localhost\Ubuntu-20.04\etc\wsl.conf.

# Automatically mount Windows drive when the distribution is launched
[automount]

# Set to true will automount fixed drives (C:/ or D:/) with DrvFs under the root directory set above. Set to false means drives won't be mounted automatically, but need to be mounted manually or with fstab.
enabled=true

# Sets the directory where fixed drives will be automatically mounted. This example changes the mount location, so your C-drive would be /c, rather than the default /mnt/c.
root = /

# DrvFs-specific options can be specified.
options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"

# Sets the `/etc/fstab` file to be processed when a WSL distribution is launched.
mountFsTab=true

# Network host settings that enable the DNS server used by WSL 2. This example changes the hostname, sets generateHosts to false, preventing WSL from the default behavior of auto-generating /etc/hosts, and sets generateResolvConf to false, preventing WSL from auto-generating /etc/resolv.conf, so that you can create your own (ie. nameserver 1.1.1.1).
[network]
hostname=DemoHost
generateHosts=false
generateResolvConf=false

# Set whether WSL supports interop processes like launching Windows apps and adding path variables. Setting these to false will block the launch of Windows processes and block adding $PATH environment variables.
[interop]
enabled=false
appendWindowsPath=false

# Set the user when launching a distribution with WSL.
[user]
default=DemoUser

# Set a command to run when a new WSL instance launches. This example starts the Docker container service.
[boot]
command=service docker start

.wslconfig

Konfigurieren Sie globale Einstellungen mit .wslconfig für alle installierten Distributionen, die unter WSL ausgeführt werden.

  • Die WSLCONFIG-Datei ist standardmäßig nicht vorhanden. Sie muss in Ihrem %UserProfile%-Verzeichnis erstellt und gespeichert werden, um diese Konfigurationseinstellungen anzuwenden.
  • Wird verwendet, um Einstellungen global für alle installierten Linux-Distributionen zu konfigurieren, die als WSL 2-Version ausgeführt werden.
  • Kann nur für Distributionen verwendet werden, die unter WSL 2 ausgeführt werden. Distributionen, die als WSL 1 ausgeführt werden, sind von dieser Konfiguration nicht betroffen, da sie nicht als VM ausgeführt werden.
  • Um zu Ihrem Verzeichnis %UserProfile% zu gelangen, verwenden Sie in PowerShell cd ~, um auf Ihr Homeverzeichnis zuzugreifen (das in der Regel Ihr Benutzerprofil, C:\Users\<UserName>, ist), oder Sie können den Windows-Datei-Explorer öffnen und %UserProfile% in die Adressleiste eingeben. Der Verzeichnispfad sollte etwa so aussehen: C:\Users\<UserName>\.wslconfig.

WSL erkennt das Vorhandensein dieser Dateien, liest den Inhalt und wendet die Konfigurationseinstellungen automatisch an, wenn Sie WSL starten. Wenn die Datei fehlt oder falsch formatiert ist (falsche Markupformatierung), wird WSL weiterhin wie gewohnt gestartet, ohne dass die Konfigurationseinstellungen angewendet werden.

Konfigurationseinstellungen für „.wslconfig“

Die WSLCONFIG-Datei konfiguriert Einstellungen global für alle Linux-Distributionen, die mit WSL 2 ausgeführt werden. (Informationen zur distributionsspezifischen Konfiguration finden Sie unter wsl.conf.)

Informationen dazu, wo die Datei .wslconfig gespeichert werden soll, finden Sie unter .wslconfig.

Hinweis

Das Konfigurieren globaler Einstellungen mit .wslconfig ist nur für Distributionen verfügbar, die unter WSL 2 ab Windows-Build 19041 ausgeführt werden. Beachten Sie, dass Sie möglicherweise wsl --shutdown ausführen müssen, um die WSL 2-VM herunterzufahren, und anschließend Ihre WSL-Instanz neu starten müssen, damit diese Änderungen wirksam werden.

Tipp

Es wird empfohlen, WSL-Konfigurationen direkt in den WSL-Einstellungen zu ändern, anstatt die Wslconfig-Datei manuell zu bearbeiten. WSL-Einstellungen finden Sie im Startmenü. Windows-Subsystem für Linux-Einstellungen

Diese Datei kann die folgenden Optionen enthalten, die sich auf die zum Ausführen einer beliebigen WSL 2-Distribution verwendete VM auswirken:

Haupteinstellungen für WSL

.wslconfig-Abschnittsbezeichnung: [wsl2]

Schlüssel Wert Standard Hinweise
kernel Pfad Der von Microsoft integrierte Kernel, der standardmäßig verfügbar ist Ein absoluter Windows-Pfad zu einem benutzerdefinierten Linux-Kernel.
kernelModules Pfad Ein absoluter Windows-Pfad zu einer benutzerdefinierten Linux-Kernelmodul-VHD.
memory Größe 50 % des gesamten Arbeitsspeichers unter Windows Gibt an, wie viel Arbeitsspeicher der WSL 2-VM zugewiesen werden soll.
processors Zahl Die gleiche Anzahl logischer Prozessoren unter Windows Gibt an, wie viele logische Prozessoren der WSL 2-VM zugewiesen werden sollen.
localhostForwarding boolean true Ein boolescher Wert, der angibt, ob Ports, die in der WSL 2-VM an eine Wildcardadresse oder an localhost gebunden sind, vom Host aus über localhost:port erreichbar sein sollen.
kernelCommandLine Zeichenfolge Nichts Zusätzliche Kernel-Befehlszeilenargumente.
safeMode boolean false Führen Sie WSL im abgesicherten Modus aus, in dem viele Features deaktiviert sind und der zum Wiederherstellen von fehlerhaften Distributionen dient. Nur verfügbar für Windows 11 und WSL-Version 0.66.2 und höher.
swap Größe 25 % der Arbeitsspeichergröße unter Windows, aufgerundet auf GB Wie viel Auslagerungsspeicher der WSL 2-VM hinzugefügt werden soll; 0 bedeutet keine Auslagerungsdatei. Auslagerungsspeicher ist datenträgerbasierter RAM, der verwendet wird, wenn der Speicherbedarf das Limit von Hardwaregeräten überschreitet.
swapFile Pfad %Temp%\swap.vhdx Ein absoluter Windows-Pfad zur virtuellen Auslagerungsfestplatte.
guiApplications boolean true Ein boolescher Wert zum Aktivieren oder Deaktivieren der Unterstützung für GUI-Anwendungen (WSLg) in WSL.
debugConsole¹ boolean false Ein boolescher Wert, um ein Ausgabekonsolenfenster zu aktivieren, das den Inhalt von dmesg beim Start einer WSL 2-Distributionsinstanz anzeigt.
maxCrashDumpCount Zahl 10 Legen Sie die maximale Anzahl von Absturzabbilddateien fest, die für Debuggingzwecke aufbewahrt werden. Die von WSL aufbewahrte Standardnummer ist 10. Wenn dieses Limit überschritten wird, werden ältere Crash-Dumps automatisch gelöscht, um Platz für neue Crash-Dumps zu schaffen. Das Festlegen eines maximalen Speicherplatzes kann dazu beitragen, den von diesen Absturzdateien verwendeten Speicherplatz zu verringern.
nestedVirtualization¹ boolean true Ein boolescher Wert, um die geschachtelte Virtualisierung zu aktivieren oder zu deaktivieren, sodass andere geschachtelte VMs in WSL 2 ausgeführt werden können.
vmIdleTimeout¹ Zahl 60000 Die Anzahl von Millisekunden, für die sich eine VM im Leerlauf befindet, bevor sie heruntergefahren wird.
dnsProxy boolean true Gilt nur für networkingMode = NAT. Es handelt sich um einen booleschen Wert, mit dem WSL darüber informiert wird, dass der DNS-Server unter Linux für die NAT auf dem Host konfiguriert werden soll. Das Festlegen auf false spiegelt DNS-Server von Windows nach Linux.
networkingMode¹² Zeichenfolge NAT Verfügbare Werte sind: none, nat, bridged (veraltet), mirrored, consomme (Dies wurde früher als virtioproxy bezeichnet). Wenn der Wert none ist, ist das WSL-Netzwerk getrennt. Wenn der Wert nat oder ein unbekannter Wert ist, wird der NAT-Netzwerkmodus verwendet (ab WSL 2.3.25 wird bei einem Fehler des NAT-Netzwerkmodus auf den Consomme-Netzwerkmodus zurückgegriffen). Wenn der Wert lautet bridged, wird der überbrückte Netzwerkmodus verwendet (dieser Modus wurde seit WSL 2.4.5 als veraltet markiert). Wenn der Wert lautet mirrored, wird der gespiegelte Netzwerkmodus verwendet. Wenn der Wert consomme ist, wird der Consomme-Netzwerkmodus verwendet.
firewall¹² boolean true Wenn Sie diesen Wert auf wahr festlegen, können die Windows-Firewallregeln sowie die spezifische Regeln für Hyper-V-Datenverkehr den WSL-Netzwerkdatenverkehr filtern.
dnsTunneling¹² boolean true Änderungen, wie DNS-Anforderungen von WSL zu Windows geleitet werden
autoProxy¹ boolean true Zwingt WSL zur Verwendung der HTTP-Proxyinformationen von Windows
defaultVhdSize Größe 1099511627776 (1 TB) Legen Sie die Größe der virtuellen Festplatte (VHD) fest, auf der das Dateisystem der Linux-Distribution (z. B. Ubuntu) gespeichert wird. Kann verwendet werden, um die maximale Größe zu begrenzen, die das Dateisystem einer Distribution einnehmen darf.
virtiofs boolean false Eine experimentelle Einstellung zur Verwendung von VirtioFS für Windows-Dateisystemfreigaben. Erfordert, dass virtio und hostFileSystemAccess aktiviert sind.
kernelDebugPort Zahl 0 Port, der vom Linux-Kerneldebuggerrelay verwendet wird. Zum Deaktivieren des Kernel-Debuggings auf 0 festlegen.
gpuSupport boolean true Aktiviert die GPU-Unterstützung in der WSL 2-VM.
systemDistro Pfad Die mit WSL gebündelte Systemverteilung Ein absoluter Windows-Pfad zu einem Image einer benutzerdefinierten Systemdistribution. Unterstützte Dateierweiterungen sind .img und .vhd.
telemetry boolean true in offiziellen Builds; false andernfalls Aktiviert WSL-Diagnosetelemetrie.
debugConsoleLogFile Pfad Null Der absolute Windows-Pfad zu einer Datei, an die die Konsolenausgabe des Linux-Kernels angehängt wird.
kernelBootTimeout Zahl 30000 Die Anzahl der Millisekunden, auf die WSL wartet, bis der Linux-Kernel des virtuellen Computers gestartet wird.
distributionStartTimeout Zahl 60000 Die Anzahl der Millisekunden, die WSL wartet, bis eine Verteilung gestartet wird.
mountDeviceTimeout Zahl 5000 Die Anzahl der Millisekunden, die WSL bei Vorgängen auf Datenträgergeräten während des Einbindens oder Aushängens von Datenträgern wartet.
crashDumpFolder Pfad %Temp%\wsl-crashes Ein absoluter Windows Pfad zum Verzeichnis, in dem WSL-Absturzabbilder gespeichert sind.
loadDefaultKernelModules boolean true Lädt die Standardkernmodule (tun, ip_tablesund br_netfilter) beim Starten der WSL 2-VM.
loadKernelModules Zeichenfolge Null Eine durch Trennzeichen getrennte Liste zusätzlicher Kernelmodule, die geladen werden sollen, wenn die WSL 2-VM gestartet wird. Diese werden zusammen mit den Standardmodulen geladen, sofern loadDefaultKernelModules nicht auf false gesetzt ist.
isolateDistroCgroup boolean true Aktiviert die cgroup-Isolation für jede Distribution. Erfordert cgroup v2.

Einträge mit dem Wert „path" müssen Windows-Pfade mit maskierten Backslashes sein, z. B.: C:\\Temp\\myCustomKernel

Einträge mit dem Wert size verwenden standardmäßig B (Bytes), und die Einheit kann weggelassen werden. Um andere Einheiten zu verwenden, muss die Größeneinheit angefügt werden, z. B.: 8GB oder 512MB.

¹: Nur unter Windows 11 verfügbar.

²: Windows 11, Version 22H2 oder höher erforderlich.

Allgemeine WSL-Einstellungen

.wslconfig-Abschnittsbezeichnung: [general]

Schlüssel Wert Standard Hinweise
instanceIdleTimeout Zahl 15000 Die Anzahl der Millisekunden, die eine Distro inaktiv ist, bevor sie heruntergefahren wird. Auf -1 setzen, um das automatische Herunterfahren zu deaktivieren
distributionInstallPath Pfad %LocalAppData%\wsl Ein absoluter Windows Pfad zum Standardverzeichnis für neu installierte Verteilungen.

Experimentelle Einstellungen

Diese Einstellungen sind Opt-In-Vorschauen experimenteller Features, die wir in Zukunft als Standard festlegen möchten.

.wslconfig-Abschnittsbezeichnung: [experimental]

Schlüssel Wert Standard Hinweise
autoMemoryReclaim Zeichenfolge dropCache Verfügbare Werte sind: disabled, gradual, und dropCache. Wenn der Wert lautet disabled, wird die automatische Speicher reclamation von WSL deaktiviert. Wenn der Wert lautet gradual, wird der zwischengespeicherte Speicher langsam und automatisch zurückgefordert. Wenn der Wert dropCache oder ein unbekannter Wert ist, wird zwischengespeicherter Speicher sofort freigegeben.
sparseVhd Boolesch false Wenn dies auf true gesetzt ist, wird jede neu erstellte VHD automatisch als Sparse-VHD erstellt.
bestEffortDnsParsing¹² Boolesch false Gilt nur, wenn wsl2.dnsTunneling auf true festgelegt ist. Bei Festlegung auf true, extrahiert Windows die Frage aus der DNS-Anforderung und versucht, sie zu beheben, wobei die unbekannten Einträge ignoriert werden.
dnsTunnelingIpAddress¹² Zeichenfolge 10.255.255.254 Gilt nur, wenn wsl2.dnsTunneling auf true festgelegt ist. Gibt den Namenserver an, der in der Linux-Datei resolv.conf konfiguriert wird, wenn DNS-Tunneling aktiviert ist.
initialAutoProxyTimeout¹ Zeichenfolge 1000 Gilt nur, wenn wsl2.autoProxy auf true festgelegt ist. Konfiguriert, wie lange (in Millisekunden) WSL beim Starten eines WSL-Containers auf das Abrufen von HTTP-Proxyinformationen wartet. Wenn Proxyeinstellungen nach diesem Zeitpunkt aufgelöst werden, muss die WSL-Instanz neu gestartet werden, um die abgerufenen Proxyeinstellungen zu verwenden.
ignoredPorts¹² Zeichenfolge Null Gilt nur, wenn wsl2.networkingMode auf mirrored festgelegt ist. Gibt an, an welche Ports sich Linux-Anwendungen anbinden können, selbst wenn der Port in Windows verwendet wird. Auf diese Weise können Anwendungen Port-Verkehr ausschließlich innerhalb von Linux empfangen, sodass diese Anwendungen auch dann nicht blockiert werden, wenn dieser Port für andere Zwecke unter Windows verwendet wird. Beispielsweise erlaubt WSL für Docker Desktop das Binden an Port 53 unter Linux, da es nur auf Anfragen aus dem Linux-Container lauscht. Sollte als kommagetrennte Liste formatiert sein, z. B.: 3000,9000,9090
hostAddressLoopback¹² Boolesch false Gilt nur, wenn wsl2.networkingMode auf mirrored festgelegt ist. Wenn true festgelegt ist, kann der Container über eine dem Host zugewiesene IP-Adresse eine Verbindung zum Host herstellen, oder der Host kann auf dieselbe Weise eine Verbindung zum Container herstellen. Die 127.0.0.1-Loopback-Adresse kann immer verwendet werden; diese Option ermöglicht auch die Verwendung aller zusätzlich zugewiesenen lokalen IP-Adressen. Nur dem Host zugewiesene IPv4-Adressen werden unterstützt.

¹: Nur unter Windows 11 verfügbar.

²: Windows 11, Version 22H2 oder höher erforderlich.

WSLCONFIG-Beispieldatei

Die unten stehende Beispieldatei .wslconfig veranschaulicht einige der verfügbaren Konfigurationsoptionen. In diesem Beispiel ist der Dateipfad %UserProfile%\.wslconfig.

# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB

# Sets the VM to use two virtual processors
processors=2

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel

# Specify the modules VHD for the custom Linux kernel to use with your installed distros.
kernelModules=C:\\temp\\modules.vhdx

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB

# Sets swapfile path location, default is %UserProfile%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx

# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Sets the maximum number of crash dump files to retain (default is 10)
maxCrashDumpCount=10

# Enable experimental features
[experimental]
sparseVhd=true

Zusätzliche Ressourcen