Udostępnij za pośrednictwem


Konfiguracja ustawień zaawansowanych w programie WSL

Pliki wsl.conf i .wslconfig służą do konfigurowania ustawień zaawansowanych w programie WSL, które zostaną zastosowane podczas uruchamiania maszyny wirtualnej programu WSL. wsl.conf służy do stosowania ustawień dla każdej dystrybucji WSL z osobna, a .wslconfig służy do stosowania ustawień globalnych dla WSL. Więcej informacji na temat różnic można uzyskać poniżej.

Aspekt .wslconfig wsl.conf
Zakres Ustawienia ogólne, które mają zastosowanie do wszystkich usług WSL Ustawienia tylko dla dystrybucji WSL
Konfiguruje Włączanie funkcji w programie WSL, ustawienia maszyny wirtualnej obsługującej program WSL 2 (pamięć RAM, jądro do rozruchu, liczba procesorów CPU itp.) Ustawienia dystrybucji w programie WSL, takie jak opcje rozruchu, automatyczne montowanie DrvFs, sieć, współdziałanie z systemem Windows, użycie systemd i domyślny użytkownik
Lokalizacja %UserProfile%\.wslconfig, poza dystrybucją WSL /etc/wsl.conf, będąc wewnątrz dystrybucji WSL

Obecnie wszystkie ustawienia .wslconfig mają zastosowanie tylko do dystrybucji WSL 2. Dowiedz się , jak sprawdzić, którą wersję systemu WSL uruchamiasz.

8-sekundowa reguła dotycząca zmian konfiguracji

Należy poczekać na całkowite zatrzymanie i ponowne uruchomienie podsystemu uruchamiającego dystrybucję systemu Linux, aby zmiany ustawień konfiguracji zostały zastosowane. Zwykle trwa to około 8 sekund po zamknięciu WSZYSTKICH wystąpień powłoki dystrybucyjnej.

Jeśli uruchomisz dystrybucję (np. Ubuntu), zmodyfikuj plik konfiguracji, zamknij dystrybucję, a następnie uruchom ją ponownie, możesz założyć, że zmiany konfiguracji zostały natychmiast wprowadzone. Obecnie tak nie jest, ponieważ podsystem nadal może działać. Należy poczekać na zatrzymanie podsystemu przed jego ponownym uruchomieniem, aby dać wystarczająco dużo czasu na przejęcie zmian. Możesz sprawdzić, czy dystrybucja systemu Linux (powłoka) jest nadal uruchomiona po jego zamknięciu przy użyciu programu PowerShell z poleceniem: wsl --list --running. Jeśli żadne dystrybucje nie są uruchomione, otrzymasz odpowiedź: "Nie ma uruchomionych dystrybucji". Teraz możesz ponownie uruchomić dystrybucję, aby zobaczyć zastosowane aktualizacje konfiguracji.

Polecenie wsl --shutdown jest szybką ścieżką do ponownego uruchomienia dystrybucji WSL 2, ale zamknie wszystkie uruchomione dystrybucje, więc użyj mądrze. Można również użyć wsl --terminate <distroName>, aby zakończyć określoną dystrybucję, która jest uruchomiona natychmiast.

wsl.conf

Skonfiguruj ustawienia lokalne dla każdej dystrybucji przy użyciu wsl.conf dla systemów Linux działających na WSL 1 lub WSL 2.

  • Przechowywane w katalogu /etc dystrybucji jako plik unix.
  • Służy do konfigurowania ustawień dla poszczególnych dystrybucji. Ustawienia skonfigurowane w tym pliku będą stosowane tylko do określonej dystrybucji systemu Linux zawierającej katalog, w którym jest przechowywany ten plik.
  • Można używać do dystrybucji działających na wersji WSL 1 lub WSL 2.
  • Aby uzyskać dostęp do katalogu /etc dla zainstalowanej dystrybucji, użyj wiersza polecenia dystrybucji z cd /, aby uzyskać dostęp do katalogu głównego, a następnie ls wyświetlić pliki lub explorer.exe . do wyświetlenia w Eksploratorze plików systemu Windows. Ścieżka katalogu powinna wyglądać następująco: /etc/wsl.conf.

Notatka

Dostosowywanie ustawień dla każdej dystrybucji za pomocą pliku wsl.conf jest dostępne tylko w wersji Windows 17093 i nowszych.

Ustawienia konfiguracji dla pliku wsl.conf

Plik wsl.conf konfiguruje ustawienia dla poszczególnych dystrybucji. (Aby uzyskać globalną konfigurację dystrybucji WSL 2, zobacz .wslconfig).

Plik wsl.conf obsługuje cztery sekcje: automount, network, interopi user. (modelowane po konwencji plików .ini klucze są deklarowane w sekcji, takiej jak pliki gitconfig).) Zobacz wsl.conf, aby uzyskać informacje na temat miejsca przechowywania pliku wsl.conf.

obsługa systemu

Wiele dystrybucji systemu Linux domyślnie używa systemu systemd (w tym Ubuntu), a WSL niedawno wprowadził wsparcie dla tego systemu/menedżera usług, co sprawia, że WSL jest jeszcze bardziej podobny do korzystania z ulubionych dystrybucji Linux na komputerze fizycznym. Aby włączyć systemd, będzie potrzebna wersja 0.67.6 lub nowsza WSL. Sprawdź wersję programu WSL za pomocą polecenia wsl --version. Jeśli musisz zaktualizować, możesz pobrać najnowszą wersję programu WSL w sklepie Microsoft Store. Dowiedz się więcej w ogłoszeniu na blogu .

Aby włączyć systemd, otwórz plik wsl.conf w edytorze tekstu, używając sudo do uzyskania uprawnień administratora, i dodaj następujące wiersze do /etc/wsl.conf:

[boot]
systemd=true

Następnie należy zamknąć dystrybucję WSL przy użyciu wsl.exe --shutdown w PowerShell, aby ponownie uruchomić instancje WSL. Po ponownym uruchomieniu dystrybucji systemd powinien być uruchomiony. Możesz potwierdzić przy użyciu polecenia : systemctl list-unit-files --type=service, które pokaże stan usług.

Ustawienia automatycznego montowania

etykieta sekcji wsl.conf: [automount]

klucz wartość domyślny Notatki
enabled boolean true true powoduje automatyczne zamontowanie dysków stałych (tj. C:/ lub D:/) przy użyciu funkcji DrvFs w /mnt. false oznacza, że dyski nie będą instalowane automatycznie, ale nadal można je zainstalować ręcznie lub za pośrednictwem fstab.
mountFsTab boolean true true ustawia /etc/fstab do przetworzenia podczas uruchamiania WSL. /etc/fstab to plik, w którym można zadeklarować inne systemy plików, takie jak udział SMB. W związku z tym można automatycznie zainstalować te systemy plików w programie WSL podczas uruchamiania.
root struna /mnt/ Ustawia katalog, w którym dyski stałe zostaną automatycznie zainstalowane. Domyślnie jest to ustawione na /mnt/, więc dysk C systemu Windows jest zamontowany do /mnt/c/. Jeśli zmienisz /mnt/ na /windir/, powinieneś oczekiwać, że dysk C zostanie zamontowany na /windir/c.
options rozdzielona przecinkami lista wartości, takich jak uid, gid itp., zobacz poniżej opcje automatycznego montowania pusty łańcuch znaków Wartości opcji instalacji automatycznej są wymienione poniżej i są dołączane do domyślnego ciągu opcji instalacji drvFs. Można określić tylko opcje specyficzne dla DrvFs.

Opcje instalacji automatycznej są stosowane jako opcje instalacji dla wszystkich automatycznie zainstalowanych dysków. Aby zmienić opcje tylko dla określonego dysku, zamiast tego użyj pliku /etc/fstab. Opcje, które plik binarny instalacji zwykle analizuje do flagi, nie są obsługiwane. Jeśli chcesz jawnie określić te opcje, musisz włączyć każdy dysk, dla którego chcesz to zrobić, do /etc/fstab.

Opcje automatycznego montowania

Ustawienie różnych opcji instalacji dla dysków z systemem Windows (DrvFs) może kontrolować sposób obliczania uprawnień plików dla plików systemu Windows. Dostępne są następujące opcje:

Klucz Opis Domyślny
uid Identyfikator użytkownika używany dla właściciela wszystkich plików Domyślny identyfikator użytkownika dystrybucji WSL (podczas pierwszej instalacji jest to domyślnie 1000)
gid Identyfikator grupy używany dla właściciela wszystkich plików Domyślny identyfikator grupy dystrybucji WSL (podczas pierwszej instalacji jest to domyślnie 1000)
umask ósemkowa maska uprawnień do wykluczenia dla wszystkich plików i katalogów 022
fmask Ośmiokowa maska uprawnień do wykluczenia dla wszystkich plików 000
dmask ósemkowa maska uprawnień do wykluczenia dla wszystkich katalogów 000
metadata Czy metadane są dodawane do plików systemu Windows w celu obsługi uprawnień systemu Linux disabled
case Określa katalogi traktowane jako wrażliwe na wielkość liter i czy nowe katalogi utworzone za pomocą programu WSL będą miały ustawiony flagę. Aby uzyskać szczegółowe wyjaśnienie opcji, zobacz rozróżnianie wielkości liter. Opcje obejmują off, dirlub force. off

Domyślnie usługa WSL ustawia identyfikator uid i gid na wartość domyślnego użytkownika. Na przykład w systemie Ubuntu domyślnym użytkownikiem jest uid=1000, gid=1000. Jeśli ta wartość jest używana do określenia innej opcji gid lub uid, domyślna wartość użytkownika zostanie zastąpiona. W przeciwnym razie wartość domyślna będzie zawsze dołączana.

Maska trybu tworzenia plików użytkownika (maska umask) ustawia uprawnienia dla nowo utworzonych plików. Wartość domyślna to 022. Tylko ty możesz zapisywać dane, ale każdy może odczytywać dane. Wartości można zmienić, aby odzwierciedlić różne ustawienia uprawnień. Na przykład, ustawienie umask=077 zmienia uprawnienia na całkowicie prywatne, dzięki czemu żaden inny użytkownik nie może odczytywać ani zapisywać danych. Aby dodatkowo określić uprawnienia, można również użyć maski fmask (dla plików) i dmask (dla katalogów).

Notatka

Maski uprawnień są umieszczane przez operację logiczną OR przed zastosowaniem do plików lub katalogów.

Co to jest drvFs?

DrvFs to wtyczka systemu plików do systemu plików WSL, która została zaprojektowana w celu obsługi współdziałania między systemami WSL i Windows. DrvFs umożliwia programowi WSL montowanie dysków z obsługiwanymi systemami plików w folderze /mnt, takich jak /mnt/c, /mnt/d itp. Aby uzyskać więcej informacji na temat określania domyślnego zachowania czułości na wielkość liter podczas montowania dysków lub katalogów systemu Windows lub Linux, zobacz stronę dotyczącą czułości na wielkość liter.

Ustawienia sieci

Etykieta sekcji w wsl.conf: [network]

klucz wartość domyślny Notatki
generateHosts boolean true true ustawia system WSL w celu wygenerowania /etc/hosts. Plik hosts zawiera statyczną mapę nazw hostów odpowiadających adresom IP.
generateResolvConf bool true true ustawia WSL, aby wygenerował /etc/resolv.conf. resolv.conf zawiera listę serwerów DNS, które są zdolne do zamiany danej nazwy hosta na jego adres IP.
hostname struna Nazwa hosta systemu Windows Ustawia nazwę hosta do użycia na potrzeby dystrybucji WSL.

Ustawienia interoperacyjności

Etykieta sekcji wsl.conf: [interop]

Te opcje są dostępne w programie Insider Build 17713 lub nowszym.

klucz wartość domyślny Notatki
enabled boolean true Ustawienie tego klucza określi, czy program WSL będzie obsługiwać uruchamianie procesów systemu Windows.
appendWindowsPath boolean true Ustawienie tego klucza spowoduje określenie, czy program WSL doda elementy ścieżki systemu Windows do zmiennej środowiskowej $PATH.

Ustawienia użytkownika

Etykieta sekcji wsl.conf: [user]

Te opcje są dostępne w kompilacji 18980 i nowszych.

klucz wartość domyślny Notatki
default struna Początkowa nazwa użytkownika utworzona podczas pierwszego uruchomienia Ustawienie tego klucza określa, jako którego użytkownika uruchomić sesję WSL przy jej pierwszym uruchomieniu.

Ustawienia rozruchu

Ustawienie rozruchu jest dostępne tylko w systemach Windows 11 i Server 2022.

etykieta sekcji wsl.conf: [boot]

klucz wartość domyślny Notatki
command struna "" Ciąg polecenia, który chcesz uruchomić po uruchomieniu wystąpienia programu WSL. To polecenie jest uruchamiane jako użytkownik root. np. service docker start.

Przykładowy plik wsl.conf

Poniższy przykładowy plik wsl.conf przedstawia niektóre dostępne opcje konfiguracji. W tym przykładzie dystrybucja to Ubuntu-20.04, a ścieżka pliku jest \\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

Skonfiguruj ustawienia globalne przy użyciu .wslconfig we wszystkich zainstalowanych dystrybucjach uruchomionych w programie WSL.

  • Plik .wslconfig nie istnieje domyślnie. Aby zastosować te ustawienia konfiguracji, należy go utworzyć i zapisać w katalogu %UserProfile%.
  • Służy do globalnego konfigurowania ustawień we wszystkich zainstalowanych dystrybucjach systemu Linux uruchomionych jako wersja WSL 2.
  • Można użyć tylko w przypadku dystrybucji uruchamianych przez program WSL 2. Dystrybucje działające jako WSL 1 nie będą miały wpływu na tę konfigurację, ponieważ nie są uruchomione jako maszyna wirtualna.
  • Aby uzyskać dostęp do katalogu %UserProfile%, w programie PowerShell użyj cd ~, aby uzyskać dostęp do katalogu macierzystego (który jest zazwyczaj profilem użytkownika, C:\Users\<UserName>) lub otworzyć Eksploratora plików systemu Windows i wprowadzić %UserProfile% na pasku adresu. Ścieżka katalogu powinna wyglądać następująco: C:\Users\<UserName>\.wslconfig.

Program WSL wykryje istnienie tych plików, odczytuje zawartość i automatycznie zastosuje ustawienia konfiguracji za każdym razem, gdy uruchamiasz program WSL. Jeśli brakuje pliku lub jest on źle sformułowany (nieprawidłowe formatowanie znaczników), program WSL będzie nadal działać normalnie bez zastosowanych ustawień konfiguracji.

Ustawienia konfiguracji pliku wslconfig

Plik .wslconfig konfiguruje ustawienia globalnie dla wszystkich dystrybucji systemu Linux uruchomionych z programem WSL 2. (w przypadku konfiguracji dla poszczególnych dystrybucji zobacz wsl.conf).

Aby uzyskać informacje na temat miejsca przechowywania pliku wslconfig, zobacz .wslconfig.

Notatka

Konfigurowanie ustawień globalnych przy użyciu .wslconfig jest dostępne tylko dla dystrybucji działających jako WSL 2 w systemie Windows Build 19041 i nowszych. Pamiętaj, że może być konieczne uruchomienie wsl --shutdown, aby zamknąć maszynę wirtualną WSL 2, a następnie ponownie uruchomić wystąpienie programu WSL, aby te zmiany zaczęły obowiązywać.

Ten plik może zawierać następujące opcje wpływające na maszynę wirtualną, która obsługuje dowolną dystrybucję WSL 2:

Główne ustawienia WSL

Etykieta sekcji .wslconfig: [wsl2]

klucz wartość domyślny Notatki
kernel ścieżka Wbudowane jądro firmy Microsoft dostarczone w skrzynce odbiorczej Bezwzględna ścieżka systemu Windows do niestandardowego jądra systemu Linux.
kernelModules ścieżka Bezwzględna ścieżka systemu Windows do niestandardowego VHD z modułami jądra Linux.
memory rozmiar 50% całkowitej ilości pamięci w systemie Windows Ilość pamięci do przypisania do maszyny wirtualnej WSL 2.
processors liczba Ta sama liczba procesorów logicznych w systemie Windows Ile procesorów logicznych do przypisania do maszyny wirtualnej WSL 2.
localhostForwarding logiczny true Wartość logiczna określająca, czy w maszynie wirtualnej WSL 2 porty powiązane z symbolami wieloznacznymi lub localhost powinny być możliwe do połączenia z hosta za pośrednictwem localhost:port.
kernelCommandLine struna Pusty Dodatkowe argumenty wiersza polecenia jądra.
safeMode boolean false Uruchom program WSL w trybie awaryjnym, który wyłącza wiele funkcji i ma być używany do odzyskiwania dystrybucji, które są w nieprawidłowych stanach. Dostępne tylko dla systemów Windows 11 i WSL w wersji 0.66.2 lub nowszej.
swap rozmiar 25% rozmiaru pamięci w systemie Windows zaokrąglone do najbliższego gigabajta Ile pamięci wymiany dodać do maszyny wirtualnej WSL 2, 0 dla braku pliku wymiany. Pamięć wymiany to pamięć RAM na dysku używana, gdy zapotrzebowanie na pamięć przekracza limit na urządzeniu.
swapFile ścieżka %USERPROFILE%\AppData\Local\Temp\swap.vhdx Bezwzględna ścieżka systemu Windows do wirtualnego dysku twardego wymiany.
pageReporting boolean true Domyślne ustawienie true umożliwia systemowi Windows odzyskanie nieużywanej pamięci przydzielonej do maszyny wirtualnej WSL 2.
guiApplications boolean true Wartość logiczna do włączania lub wyłączania obsługi aplikacji graficznego interfejsu użytkownika (WSLg) w programie WSL.
debugConsole* boolean false Wartość logiczna umożliwiająca włączenie okna konsoli, które przy starcie instancji dystrybucji WSL 2 pokazuje zawartość dmesg. Dostępne tylko dla systemu Windows 11.
nestedVirtualization* boolean true Wartość logiczna umożliwiająca włączenie lub wyłączenie wirtualizacji zagnieżdżonej, umożliwiając uruchamianie innych zagnieżdżonych maszyn wirtualnych wewnątrz programu WSL 2. Dostępne tylko dla systemu Windows 11.
vmIdleTimeout* liczba 60000 Liczba milisekund bezczynności maszyny wirtualnej przed jej zamknięciem. Dostępne tylko dla systemu Windows 11.
dnsProxy boolean true Dotyczy tylko trybu networkingMode = NAT. Wartość logiczna informująca usługę WSL o skonfigurowaniu serwera DNS w systemie Linux na translatorze adresów sieciowych na hoście. Ustawienie wartości false spowoduje dublowanie serwerów DNS z systemu Windows do systemu Linux.
networkingMode** struna NAT Jeśli wartość jest mirrored, to włącza tryb sieci lustrzanej. Domyślne lub nierozpoznane ciągi znaków skutkują siecią NAT.
firewall** boolean true Ustawienie tej opcji na wartość true pozwala regułom zapory systemu Windows, a także regułom specyficznym dla ruchu sieciowego Hyper-V, filtrować ruch sieciowy WSL.
dnsTunneling** boolean true Zmienia sposób, w jaki żądania DNS są przekazywane z WSL do systemu Windows
autoProxy* typ logiczny true Wymusza użycie informacji o serwerze proxy HTTP systemu Windows przez WSL.
defaultVhdSize rozmiar 1099511627776 (1 TB) Ustaw rozmiar wirtualnego dysku twardego (VHD), który przechowuje system plików dystrybucji systemu Linux (na przykład Ubuntu). Można użyć do ograniczenia maksymalnego rozmiaru, który może przyjąć system plików dystrybucji.

Wpisy z wartością path muszą być ścieżkami systemu Windows z unikniętymi ukośnikami odwrotnymi, np. C:\\Temp\\myCustomKernel

Wpisy z wartością size muszą być rozmiarem, po którym następuje jednostka, na przykład 8GB lub 512MB.

Wpisy, które mają * po typie wartości, są dostępne tylko w systemie Windows 11.

Wpisy oznaczone ** po typie wartości wymagają Windows 11 w wersji 22H2 lub nowszej.

Ustawienia eksperymentalne

Te ustawienia są wersjami zapoznawczymi funkcji eksperymentalnych, które chcemy ustawić jako domyślne w przyszłości.

Etykieta sekcji .wslconfig: [experimental]

Nazwa ustawienia Wartość Domyślny Notatki
autoMemoryReclaim struna dropCache Automatycznie zwalnia pamięć podręczną po wykryciu bezczynności procesora. Ustaw wartość gradual na potrzeby powolnego wydania i dropCache na potrzeby natychmiastowego wydania pamięci podręcznej.
sparseVhd Bool false Gdy opcja jest włączona, wszystkie nowo utworzone wirtualne dyski twarde będą automatycznie ustawiane jako rzadkie.
bestEffortDnsParsing** bool false Ma zastosowanie tylko wtedy, gdy wsl2.dnsTunneling jest ustawiona na wartość true. Po ustawieniu wartości true system Windows wyodrębni pytanie z żądania DNS i spróbuje go rozwiązać, ignorując nieznane rekordy.
dnsTunnelingIpAddress** struna 10.255.255.254 Ma zastosowanie tylko wtedy, gdy wsl2.dnsTunneling jest ustawiona na wartość true. Określa serwer nazw, który zostanie skonfigurowany w pliku resolv.conf systemu Linux, gdy włączone jest tunelowanie DNS.
initialAutoProxyTimeout* struna 1000 Ma zastosowanie tylko wtedy, gdy wsl2.autoProxy jest ustawiona na wartość true. Konfiguruje, jak długo (w milisekundach) program WSL będzie czekać na pobranie informacji o serwerze proxy HTTP podczas uruchamiania kontenera WSL. Jeśli ustawienia serwera proxy zostaną rozwiązane po tym czasie, należy ponownie uruchomić wystąpienie programu WSL, aby można było użyć pobranych ustawień serwera proxy.
ignoredPorts** struna zero Ma zastosowanie tylko wtedy, gdy wsl2.networkingMode jest ustawiona na wartość mirrored. Określa, z którymi portami mogą być powiązane aplikacje systemu Linux, nawet jeśli ten port jest używany w systemie Windows. Dzięki temu aplikacje mogą nasłuchiwać portu jedynie w obrębie systemu Linux, więc te aplikacje nie są blokowane nawet wtedy, gdy ten port jest używany do innych celów w systemie Windows. Na przykład protokół WSL umożliwi powiązanie z portem 53 w systemie Linux dla programu Docker Desktop, ponieważ nasłuchuje tylko żądań z poziomu kontenera systemu Linux. Należy sformatować na liście rozdzielanej przecinkami, np. 3000,9000,9090
hostAddressLoopback** Bool false Ma zastosowanie tylko wtedy, gdy wsl2.networkingMode jest ustawiona na wartość mirrored. Po ustawieniu wartości na Truemożliwe będzie łączenie kontenera z hostem lub hosta z kontenerem za pomocą adresu IP przypisanego do hosta. Adres pętli zwrotnej 127.0.0.1 zawsze może być używany, a ta opcja umożliwia również używanie wszystkich dodatkowo przypisanych lokalnych adresów IP. Obsługiwane są tylko adresy IPv4 przypisane do hosta.

Wpisy ze znakiem * po typie wartości są dostępne tylko w systemie Windows 11.

Wpisy z wartością ** po typie wartości wymagają windows w wersji 22H2 lub nowszej.

Przykładowy plik wslconfig

Poniższy przykładowy plik .wslconfig przedstawia niektóre dostępne opcje konfiguracji. W tym przykładzie ścieżka pliku jest C:\Users\<UserName>\.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 custum 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

# 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

Dodatkowe zasoby