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

Die wsl.conf- und WSLCONFIG-Dateien werden verwendet, um erweiterte Einstellungsoptionen für einzelne Distributionen (wsl.conf) und global für alle WSL 2-Distributionen (.wslconfig) zu konfigurieren. Dieser Leitfaden enthält eine Beschreibung aller Einstellungsoptionen, der Anwendungsfälle für die einzelnen Dateitypen und des Speicherorts der Datei sowie Beispieleinstellungsdateien und Tipps.

Was ist der Unterschied zwischen der Datei „wsl.conf“ und der WSLCONFIG-Datei?

Zum Konfigurieren der Einstellungen für Ihre installierten Linux-Distributionen, die bei jedem Start von WSL automatisch angewendet werden, stehen Ihnen zwei Methoden zur Auswahl:

  • .wslconfig, um globale Einstellungen für alle installierten Distributionen zu konfigurieren, die unter WSL 2 ausgeführt werden.
  • wsl.conf, um lokale Einstellungen pro Distribution für Linux-Distributionen zu konfigurieren, die unter WSL 1 oder WSL 2 ausgeführt werden.

Beide Dateitypen werden zum Konfigurieren von WSL-Einstellungen verwendet, aber der Speicherort der Datei, der Bereich der Konfiguration, die Typen der konfigurierbaren Optionen und die WSL-Version, unter der Ihre Distribution ausgeführt wird, wirken sich auf den zu verwendenden Dateityp aus.

WSL 1 und WSL 2 werden mit unterschiedlicher Architektur ausgeführt und wirken sich auf die Konfigurationseinstellungen aus. WSL 2 wird als einfache virtuelle Maschine (VM) ausgeführt und verwendet daher Virtualisierungseinstellungen, mit denen Sie die Menge des verwendeten Arbeitsspeichers oder die Anzahl verwendeter Prozessoren steuern können (dies ist Ihnen möglicherweise bekannt, wenn Sie Hyper-V oder VirtualBox verwenden). Überprüfen Sie, welche Version von WSL 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 ausgeführt wird. 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 überprüfen, ob Ihre Linux-Distribution (Shell) nach dem Schließen weiterhin ausgeführt wird, indem Sie den folgenden Befehl in PowerShell ausführen: 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 eine schnelle Möglichkeit zum Neustarten von WSL 2-Distributionen. Da dieser Befehl jedoch alle ausgeführten Distributionen herunterfährt, sollte er mit Bedacht verwendet werden. Sie können auch wsl --terminate <distroName> verwenden, um eine bestimmte Distribution zu beenden, die sofort ausgeführt wird.

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 unter beiden Versionen (WSL 1 oder WSL 2) verwendet werden.
  • Um zum Verzeichnis /etc für eine installierte Distribution zu gelangen, verwenden Sie die Befehlszeile der Distribution mit cd /, um auf das Stammverzeichnis zuzugreifen, und dann ls, um Dateien aufzulisten, oder explorer.exe ., um Dateien in Windows-Datei-Explorer anzuzeigen. Der Verzeichnispfad sollte in etwa wie folgt 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. (Schlüssel werden nach ini-Dateikonventionen modelliert und unter einem Abschnitt deklariert, z. B. GITCONFIG-Dateien.) Informationen zum Speicherort der wsl.conf-Datei finden Sie unter wsl.conf.

systemd-Unterstützung

Viele Linux-Distributionen führen standardmäßig „systemd“ aus (einschließlich Ubuntu), und in WSL wurde kürzlich Unterstützung für diesen System-/Dienst-Manager hinzugefügt, sodass WSL der Verwendung Ihrer bevorzugten Linux-Distributionen auf einem Bare-Metal-Computer noch ähnlicher ist. Sie benötigen Version 0.67.6 von WSL und höher, um „systemd“ zu aktivieren. Überprüfen Sie Ihre WSL-Version mit dem Befehl wsl --version. Falls ein Update erforderlich ist, können Sie die aktuelle WSL-Version aus dem Microsoft Store abrufen. Weitere Informationen finden Sie in der Blogankündigung.

Um „systemd“ zu aktivieren, öffnen Sie Ihre Datei wsl.conf mit sudo in einem Text-Editor, um Administratorberechtigungen zu erhalten, und fügen Sie /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 systemctl list-unit-files --type=service, der den Status Ihrer Dienste anzeigt, überprüfen.

Einstellungen für die automatische Einbindung (automount)

wsl.conf Abschnittsbezeichnung: [automount]

Schlüssel value default notes
enabled boolean true Bei true werden Festplattenlaufwerke (d. h. C:/ oder D:/) mit DrvFs automatisch unter /mnt eingebunden. false bedeutet, dass Laufwerke nicht automatisch eingebunden werden, aber Sie können sie dennoch manuell oder über fstab einbinden.
mountFsTab boolean true true legt fest, dass /etc/fstab beim WSL-Start verarbeitet wird. Bei „/etc/fstab“ handelt es sich um 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 lokale Festplattenlaufwerke automatisch eingebunden werden. Standardmäßig ist dieser Schlüssel auf /mnt/ festgelegt, sodass Ihr Laufwerk „C“ im Windows-Dateisystem in /mnt/c/ eingebunden wird. Wenn Sie /mnt/ in /windir/ ändern, ist davon auszugehen, dass Ihr Festplattenlaufwerk „C“ in /windir/c eingebunden wird.
angeben 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) Leere Zeichenfolge Die Werte der automount-Option sind unten aufgeführt und werden an die Standardzeichenfolge der DrvFs-Einbindungsoptionen angefügt. 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 Einbindungsbinärdatei normalerweise in ein Flag analysieren würde, werden nicht unterstützt. Wenn Sie diese Optionen explizit angeben möchten, müssen Sie jedes Laufwerk, für das dies gelten soll, in /etc/fstab einschließen.

Optionen für die automatische Einbindung

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 Standard-Benutzer-ID Ihrer WSL-Distribution (bei der erstmaligen Installation ist der Standardwert 1000)
gid Die Gruppen-ID, die für den Besitzer aller Dateien verwendet wird Die Standard-Gruppen-ID Ihrer WSL-Distribution (bei der erstmaligen Installation ist der Standardwert 1000)
umask Eine oktale Maske mit Berechtigungen, die für alle Dateien und Verzeichnisse ausgeschlossen werden sollen 022
fmask Eine oktale Maske mit Berechtigungen, die für alle Dateien ausgeschlossen werden sollen 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 deaktiviert
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 verfügbaren Optionen zählen off, dir und force. off

Standardmäßig legt WSL die Benutzer-ID und Gruppen-ID auf den Wert des*der Standardbenutzer*in fest. In Ubuntu ist der*die Standardbenutzer*in beispielsweise uid=1000, gid=1000. Wenn dieser Wert verwendet wird, um eine andere GID- oder UID-Option anzugeben, wird der Standardbenutzerwert überschrieben. Andernfalls wird der Standardwert immer angefügt.

Der Dateierstellungsmodus „mask“ (unmask) von Benutzer*innen legt die Berechtigung für neu erstellte Dateien fest. Der Standardwert ist 022, bei dem nur Sie Daten schreiben können, aber jeder Daten lesen kann. Werte können geändert werden, um unterschiedliche Berechtigungseinstellungen widerzuspiegeln. umask=077 ändert die Berechtigung beispielsweise in „vollständig privat“, sodass keine anderen Benutzer*innen Daten lesen oder schreiben können. Um die Berechtigungen genauer anzugeben, können auch „fmask“ (Dateien) und „dmask“ (Verzeichnisse) verwendet werden.

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 Abschnittsbezeichnung: [network]

Schlüssel value default notes
generateHosts boolean true true legt fest, dass WSL /etc/hosts generiert. Die Datei hosts enthält eine statische Zuordnung der entsprechenden IP-Adresse von Hostnamen.
generateResolvConf boolean true true legt fest, dass WSL /etc/resolv.conf generiert. 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 Abschnittsbezeichnung: [interop]

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

Schlüssel value default notes
enabled boolean true Durch Festlegen dieses Schlüssels wird festgelegt, ob WSL das Starten von Windows-Prozessen unterstützt.
appendWindowsPath boolean true Durch Festlegen dieses Schlüssels wird festgelegt, ob WSL der $PATH-Umgebungsvariablen Windows-Pfadelemente hinzufügt.

Benutzereinstellungen

wsl.conf Abschnittsbezeichnung: [user]

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

Schlüssel value default notes
default Zeichenfolge Der anfängliche Benutzername, der bei der ersten Ausführung erstellt wird Durch Festlegen dieses Schlüssels wird der*die Benutzer*in angegeben, der*die beim ersten Start einer WSL-Sitzung zur Ausführung verwendet werden soll.

Starteinstellungen (boot)

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

wsl.conf Abschnittsbezeichnung: [boot]

Schlüssel value default notes
Befehl Zeichenfolge "" Eine Zeichenfolge des Befehls, den Sie ausführen möchten, wenn die WSL-Instanz gestartet wird. Dieser Befehl wird als Stammbenutzer*in ausgeführt. Beispiel: service docker start.

wsl.conf-Beispieldatei

Die folgende Beispieldatei wsl.conf veranschaulicht einige der verfügbaren Konfigurationsoptionen. In diesem Beispiel ist die Distribution Ubuntu-20.04, und der Dateipfad lautet \\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 2 ausgeführt werden.

  • Die WSLCONFIG-Datei ist standardmäßig nicht vorhanden. Sie muss erstellt und in Ihrem %UserProfile%-Verzeichnis 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 Basisverzeichnis zuzugreifen (in der Regel Ihr Benutzerprofil C:\Users\<UserName>). Alternativ können Sie Windows-Datei-Explorer öffnen und %UserProfile% in die Adressleiste eingeben. Der Verzeichnispfad sollte in etwa wie folgt 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 Konfiguration pro Distribution finden Sie unter wsl.conf.)

Informationen zum Speicherort der WSLCONFIG-Datei finden Sie unter .wslconfig.

Hinweis

Globale Konfigurationseinstellungen mit .wslconfig sind nur für Distributionen verfügbar, die als WSL 2 in Windows-Build 19041 und höher ausgeführt werden. Bedenken 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 übernommen werden.

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 value default notes
kernel path Der von Microsoft integrierte Kernel, der standardmäßig verfügbar ist Ein absoluter Windows-Pfad zu einem benutzerdefinierten Linux-Kernel.
memory size 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 die Verbindungsherstellung mit Ports, die an einen Platzhalter oder „localhost“ in der WSL 2-VM gebunden sind, vom Host über localhost:port möglich sein soll.
kernelCommandLine Zeichenfolge Leer 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 Gibt an, wie viel Auslagerungsbereich der WSL 2-VM hinzugefügt werden soll, wobei 0 für keine Auslagerungsdatei steht. Auslagerungsspeicher ist datenträgerbasierter RAM, der verwendet wird, wenn der Speicherbedarf das Limit von Hardwaregeräten überschreitet.
swapFile path %USERPROFILE%\AppData\Local\Temp\swap.vhdx Ein absoluter Windows-Pfad zur virtuellen Auslagerungsfestplatte.
pageReporting boolean true Die Standardeinstellung true ermöglicht es Windows, nicht genutzten Arbeitsspeicher freizugeben, der der WSL 2-VM zugeordnet ist.
guiApplications Boolescher Wert* true Ein boolescher Wert, um die Unterstützung für GUI-Anwendungen (WSLg) in WSL zu aktivieren oder zu deaktivieren. Ist nur für Windows 11 verfügbar.
debugConsole Boolescher Wert* false Ein boolescher Wert, um ein Ausgabekonsolenfenster zu aktivieren, das den Inhalt von dmesg beim Start einer WSL 2-Distributionsinstanz anzeigt. Ist nur für Windows 11 verfügbar.
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. Ist nur für Windows 11 verfügbar.
vmIdleTimeout Zahl* 60000 Die Anzahl von Millisekunden, für die sich eine VM im Leerlauf befindet, bevor sie heruntergefahren wird. Ist nur für Windows 11 verfügbar.
dnsProxy bool true Dies 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. Wenn dieser Wert auf „false“ festgelegt wird, werden DNS-Server von Windows zu Linux gespiegelt.
networkingMode** Zeichenfolge NAT Wenn der Wert ist mirrored, ist der gespiegelte Netzwerkmodus aktiviert. Standardmäßige oder nicht erkannte Zeichenfolgen führen zu NAT-Netzwerken.
firewall** bool 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** bool false Änderungen, wie DNS-Anforderungen von WSL zu Windows geleitet werden
autoProxy* bool false Zwingt WSL zur Verwendung der HTTP-Proxyinformationen von Windows

Einträge mit dem Wert path müssen Windows-Pfade mit umgekehrten Schrägstrichen als Escapezeichen sein, z. B. C:\\Temp\\myCustomKernel.

Einträge mit dem Wert size müssen eine Größe gefolgt von einer Einheit sein, z. B 8GB oder 512MB.

Einträge mit einem Sternchen (*) nach dem Werttyp sind nur unter Windows 11 verfügbar.

Einträge mit ** nach dem Werttyp erfordern Windows 11, Version 22H2 oder höher.

Experimentelle Einstellungen

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

.wslconfig-Abschnittsbezeichnung: [experimental]

Einstellungsname Wert Standard Hinweise
autoMemoryReclaim Zeichenfolge deaktiviert Gibt automatisch zwischengespeicherten Speicher frei, nachdem Leerlauf in der CPU-Auslastung erkannt wurde. Für die langsame Veröffentlichung auf gradual und für die sofortige Freigabe des zwischengespeicherten Speichers auf dropcache festlegen.
sparseVhd bool false Wenn dieser Wert auf wahr festgelegt ist, wird jede neu erstellte VHD automatisch auf spärlich eingestellt.
useWindowsDnsCache** bool false Gilt nur, wenn wsl2.dnsTunneling auf wahr festgelegt ist. Wenn diese Option auf falsch festgelegt ist, umgehen DNS-Anforderungen, die von Linux getunnelt werden, zwischengespeicherte Namen in Windows, um die Anforderungen immer einzureihen.
bestEffortDnsParsing** bool false Gilt nur, wenn wsl2.dnsTunneling auf wahr festgelegt ist. Wenn der Wert auf wahr festgelegt ist, extrahiert Windows die Frage aus der DNS-Anforderung und versucht sie zu lösen, wobei die unbekannten Einträge ignoriert werden.
initialAutoProxyTimeout* Zeichenfolge 1000 Gilt nur, wenn wsl2.autoProxy auf wahr 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 lässt WSL eine Bindung an Port 53 in Linux für Docker Desktop zu, da nur Anforderungen innerhalb des Linux-Containers empfangen werden. Sollte als durch Kommas getrennte Liste formatiert sein, z. B.: 3000,9000,9090
hostAddressLoopback** bool false Gilt nur, wenn wsl2.networkingMode auf mirrored festgelegt ist. Bei Festlegung auf True kann der Container über eine IP-Adresse, die dem Host zugewiesen ist, eine Verbindung mit dem Host herstellen, oder der Host mit dem Container. Die 127.0.0.1-Loopbackadresse kann immer verwendet werden. Diese Option ermöglicht die Verwendung aller zusätzlich zugewiesenen lokalen IP-Adressen. Nur dem Host zugewiesene IPv4-Adressen werden unterstützt.

Einträge mit einem Sternchen (*) nach dem Werttyp sind nur unter Windows 11 verfügbar.

Einträge mit einem ** nach dem Werttyp erfordern Windows-Version 22H2 oder höher.

WSLCONFIG-Beispieldatei

Die folgende Beispieldatei .wslconfig veranschaulicht einige der verfügbaren Konfigurationsoptionen. In diesem Beispiel wird der Pfad C:\Users\<UserName>\.wslconfig verwendet.

# 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

# 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

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false

# 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

# Enable experimental features
[experimental]
sparseVhd=true

Zusätzliche Ressourcen