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-Distribution /etc/wsl.conf, in einer WSL-Umgebung

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 mit wsl.exe --shutdown beenden, 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 Boolescher Wert true true bewirkt, dass feste Laufwerke (d. h. C:/ oder D:/) mit DrvFs automatisch unter /mnt eingebunden werden. false bedeutet, dass Laufwerke nicht automatisch eingehängt werden, aber sie können dennoch manuell oder über fstab eingehängt werden.
mountFsTab Boolescher Wert 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 Eine durch Trennzeichen getrennte Liste von Werten, z. B. Benutzer-ID (UID), Gruppen-ID (GID) usw. (siehe „Optionen für die automatische Einbindung“ weiter unten) 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.

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 mount-Binärdatei normalerweise als Flag interpretieren 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.

Optionen für das automatische Einhängen

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 der 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, welche Verzeichnisse als groß-/kleinschreibungssensitiv behandelt werden und ob bei neuen mit WSL erstellten Verzeichnissen das Flag gesetzt wird. Eine ausführliche Erläuterung der Optionen finden Sie unter Groß- und 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 bei der Groß-/Kleinschreibung beim Einbinden von Windows- oder Linux-Laufwerken oder -Verzeichnissen finden Sie auf der Seite Groß-/Kleinschreibung.

Netzwerkeinstellungen

wsl.conf Abschnittsbezeichnung: [network]

Schlüssel Wert Standard Hinweise
generateHosts Boolescher Wert 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 Boolescher Wert true true legt fest, dass WSL /etc/resolv.conf generiert. resolv.conf enthält eine Liste von DNS-Servern, die einen bestimmten Hostname zu seiner IP-Adresse auflösen können.
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 Boolescher Wert true Durch Festlegen dieses Schlüssels wird festgelegt, ob WSL das Starten von Windows-Prozessen unterstützt.
appendWindowsPath Boolescher Wert 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 angegeben, als welche*r Benutzer*in eine WSL-Sitzung beim erstmaligen Starten ausgeführt 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 Boolescher Wert true Verhindert, dass WSL systemd-Einheiten generiert, wenn systemd aktiviert ist.

GPU-Einstellungen

wsl.conf Abschnittsname: [gpu]

Schlüssel Wert Standard Hinweise
enabled Boolescher Wert true Zulassen, dass Linux-Anwendungen über Paravirtualisierung auf die Windows-GPU zugreifen können.

Zeiteinstellungen

wsl.conf Abschnittsname: [time]

Schlüssel Wert Standard Hinweise
useWindowsTimezone Boolescher Wert 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 erstellte Kernel, der standardmäßig im Lieferumfang enthalten 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 Boolescher Wert 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 Boolescher Wert 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 Größe des Arbeitsspeichers unter Windows, auf das nächste GB aufgerundet 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 Boolescher Wert true Ein boolescher Wert zum Aktivieren oder Deaktivieren der Unterstützung für GUI-Anwendungen (WSLg) in WSL.
debugConsole¹ Boolescher Wert false Boolescher Wert zum Aktivieren eines Ausgabekonsolenfensters, das beim Start einer WSL 2-Distributionsinstanz den Inhalt von dmesg 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¹ Boolescher Wert 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 Boolescher Wert 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), mirroredund virtioproxy. 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, wenn der NAT-Netzwerkmodus fehlschlägt, stattdessen der VirtioProxy-Netzwerkmodus verwendet). 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 lautet virtioproxy, wird der VirtioProxy-Netzwerkmodus verwendet.
firewall¹² Boolescher Wert 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¹² Boolescher Wert true Änderungen, wie DNS-Anforderungen von WSL zu Windows geleitet werden
autoProxy¹ Boolescher Wert 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.

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.

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 Nur anwendbar, 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 Nur anwendbar, 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