Konfigurering av .wslconfig og wsl.conf i WSL: En komplett praktisk guide

Siste oppdatering: 29/10/2025
Forfatter: Isaac
  • Forstå omfanget: .wslconfig er global (WSL 2) og wsl.conf er per distribusjon.
  • Start WSL på nytt (8-sekundersregelen) på riktig måte for å bruke endringene.
  • Optimaliserer ressurser og I/O: minne, swap, filsystem Linux og DrvF-er.
  • Styrk sikkerhet og administrasjon med Intune, GPO og passende nettverksmoduser.

Konfigurering av WSL med .wslconfig og wsl.conf

Hvis du jobber med Linux i Windows, ligger nøkkelen til å maksimere ytelse og stabilitet i to konfigurasjonsfiler: .wslconfig og wsl.confMed disse innstillingene kan du justere alt fra hvor mye minne WSL 2 VM bruker til hvordan disker er montert, hvilke DNS-servere som brukes, eller om systemd er aktivert i distribusjonen din. Her finner du en Veiledning for å lage miljøer med WSL2 og Docker, praktisk og detaljert for å mestre disse alternativene uten å komplisere livet ditt.

Før du starter, er det viktig å være klar over to ideer: .wslconfig bruker globale WSL-innstillinger (kun WSL 2) y wsl.conf definerer virkemåten for hver distribusjonVidere finnes det en uskreven regel: hver gang du endrer noe, må du starte WSL på nytt på riktig måte for at endringene skal tre i kraft. Herfra skal vi gå i gang med alt du trenger å vite og gjøre, ved hjelp av eksempler fra den virkelige verden. kommandoer og god praksis.

Viktige forskjeller mellom .wslconfig og wsl.conf

Det er en veldig klar grense mellom de to filene: .wslconfig er global og finnes utenfor Linux (på Windows), mens wsl.conf er lokal for hver distro og den er lagret i selve Linux-systemet. Å forstå dette sparer deg for hodebry når du feilsøker problemer.

I sammendrag: .wslconfig ligger i %UserProfile%\\.wslconfig (Den finnes ikke som standard; du må opprette den) og kontrollerer WSL 2 VM (minne, CPU, kjerne, nettverk osv.). For sin del, wsl.conf ligger i /etc/wsl.conf innenfor distribusjonen og styrer automatiske sammenstillinger, interne nettverksalternativer, interoperabilitet med Windows, standardbruker, boot og mer.

Viktig: .wslconfig-alternativene påvirker bare WSL 2Hvis du har en distro som kjører WSL 1, vil ikke disse globale alternativene gjelde.

.wslconfig-fil for å konfigurere den virtuelle WSL 2-maskinen

«8-sekundersregelen» og hvordan du starter WSL på riktig måte

Når du endrer en parameter i .wslconfig eller wsl.confDet er ikke nok å bare lukke vinduet terminalDu må vente til WSL VM stopper helt, noe som vanligvis tar omtrent 8 sekunder etter å ha avsluttet alle økter.

Hvis du vil tvinge frem en ren omstart, se kommandoer for å starte WSL på nytt og bruker PowerShell med disse kommandoene: wsl --list --running (for å sjekke hvilke distroer som fortsatt er aktive) og wsl --shutdown (for å stenge dem alle ned). Du kan også avslutte en bestemt distribusjon med wsl --terminate <NombreDistro>Dette trinnet er viktig for endringene er riktig anvendt.

wsl.conf: konfigurasjon etter distribusjon (WSL 1 og WSL 2)

Filen /etc/wsl.conf Den lar deg justere oppførselen på distribusjonsnivå. Den støtter INI-type seksjoner: , , , , i tillegg til , y I nyere systemer er det perfekt for å bestemme hvordan stasjoner monteres, om Windows PATH skal legges til, eller hvilken bruker som brukes som standard.

Du kan åpne den med favorittredigeringsprogrammet ditt, som f.eks. root: sudo nano /etc/wsl.confHvis den ikke finnes, opprett den. Etter redigering, husk å bruke WSL-avstengningsregelen slik at endringer trer i kraft.

Aktiver systemd på distroen din

WSL har støtte for systemd i nyere versjoner (WSL 0.67.6 eller høyere). Hvis arbeidsflyten din krever det (for eksempel tjenester som starter via systemd), kan du aktivere det med to linjer i wsl.conf:


systemd=true

Sjekk din versjon med wsl --version og, etter redigering, kjør wsl.exe --shutdownFor å bekrefte, bruk systemctl list-unit-files --type=service og du vil se statusen til tjenestene. Denne funksjonen bringer WSL nærmere en ekte Linux-opplevelse. Hvis du trenger mer dyptgående administrasjonsinformasjon, kan du se hvordan administrere tjenester med systemd for å se praktiske eksempler.

Windows Drive Automount (DrvF-er)

Denne delen definerer hvordan disker som C: eller D: monteres i Linux ved hjelp av DrvF-er. Du kan aktivere eller deaktivere den, endre roten eller legge til tillatelsesalternativer.

  • aktivert (boolsk): Som standard sann, monteres C:/ eller D:/ under /mnt.
  • montereFsTab (boolsk): som standard sann, fører til at WSL behandles /etc/fstab i starten.
  • root (streng): som standard /mnt/Du kan endre det til /windir/ og du vil se /windir/c.
  • alternativerDrvFs-spesifikk kommaseparert liste (tillatelser og metadata).

Nyttige DrvF-alternativer: uid, gid, umask, fmask, dmask, metadata og store og små bokstaverHvis du aktiverer metadataDu kan bruke masker som umask=022 o dmask=000 og finjuster tillatelsene slik du ville gjort i «ren» Linux. Hvis arbeidsflyten din krever det Få tilgang til Linux-partisjoner fra WindowsDenne delen og DrvF-er er nøkkelen til å justere tillatelser og samling.

  Slik optimaliserer du bilder for bruk på nettsteder for å forbedre hastighet og SEO

Hva er egentlig DrvFs?

DrvFs er filsystembroen mellom Windows og Linux i WSL. Den lar deg montere Windows-disker i /mnt/c, /mnt/dosv., og definer hvordan tillatelser, store og små bokstaver og metadata administreres. Hvis du trenger mer Linux-lignende oppførsel, aktive metadata og juster tillatelsesmasker etter din smak.

Nettverk, interoperabilitet, standardbruker og oppstart

Du kan kontrollere vertsnavnet og om WSL skal generere det automatisk. /etc/hosts y /etc/resolv.confDet er nyttig å justere dette hvis du foretrekker å administrere DNS manuelt for å oppnå mer stabile eller raskere oppløsninger.

Denne delen definerer om du kan starte Windows-prosesser fra Linux (for eksempel notepad.exeog hvis Windows PATH legges til $PATHHvis du er ute etter et mer «isolert» Linux-miljø, deaktiver disse alternativene for å unngå forstyrrelser.

Her velger du standardbrukeren som distroen starter opp som. Det er best å sette den til din vanlige brukerkonto og ikke root av sikkerhetshensyn, selv om du alltid kan logge inn som root av og til. wsl -u root.

Med dette kan du utløse en kommando når WSL starter (for eksempel, service docker startog beskytte den automatiske genereringen av binfmt hvis du har systemd. Det er en praktisk måte å automatisere tjenester ved oppstart.

GPU og tidssynkronisering

Seksjonen lar deg bestemme om apps Linux kan få tilgang til Windows GPU gjennom paravirtualisering. Som standard kommer det aktivert=sann, ideelt for arbeidsmengder på IA eller grafikk.

Du kan få WSL til å bruke og synkronisere Windows-tidssonen med useWindowsTimezone=trueDet er et enkelt hjelpemiddel for unngå avvik og uoverensstemmelser når du endrer tidssoner eller setter datamaskinen i hvilemodus. Hvis målet ditt er å bruke GPU-en til databehandling, sjekk hvordan Installer CUDA på WSL og forlater drivere og oppdaterte verktøysett.

Komplett eksempel på wsl.conf

Dette eksemplet viser flere nyttige alternativer: rotendring av samlingerDrvFs-tillatelser, Egen DNS og standardbruker. Merk: Husk å starte WSL på nytt for å se effektene. Hvis du setter opp et utviklingsmiljø, kan du følge disse trinnene for å Konfigurer et utviklingsmiljø med WSL som integrerer disse alternativene.

# /etc/wsl.conf

enabled=true
root=/
options="metadata,uid=1003,gid=1003,umask=077,fmask=011,case=off"
mountFsTab=true


hostname=DemoHost
generateHosts=false
generateResolvConf=false


enabled=false
appendWindowsPath=false


default=DemoUser


command=service docker start

.wslconfig: Globale innstillinger for WSL 2 VM

Det er her du bestemmer hvor mye minne, CPU-er eller vekslingsenhet den virtuelle maskinen skal ha, om du bruker en tilpasset kjerne, og hvordan nettverket oppfører seg. Opprett filen i %Brukerprofil%\\.wslconfigFor å åpne mappen fra PowerShell, bruk cd ~ eller skriv inn banen direkte i Utforskeren med % Brukerprofil%.

Viktige parametere i seksjonen:

  • kjerneabsolutt sti i Windows til en tilpasset Linux-kjerne.
  • kjernemodulerVHD med tilpassede kjernemoduler.
  • minneRAM-grense (standard 50 % av Windows RAM).
  • prosessorerlogiske kjerner for WSL 2 VM.
  • lokalvertVideresending: eksponerer WSL-porter i localhost:puerto av verten.
  • kjerneKommandolinjeekstra kjerneparametere (f.eks. vsyscall=emulate).
  • sikkermodus: sikker modus for å gjenopprette problematiske distroer (Windows 11).
  • swap y byttefilstørrelse og bane til vekslingsdisken.
  • sideRapportering: returnerer automatisk ubrukt minne til verten.
  • gui-applikasjoner– Aktiverer eller deaktiverer WSLg (Linux GUI-apper).
  • feilsøkingskonsoll, maks. antall krasjdumper: feilsøking og dumphåndtering.
  • nestet virtualisering: nestet av/på-virtualisering.
  • vmIdleTimeoutmillisekunder med inaktivitet før den virtuelle maskinen slås av.
  • dnsProxy, nettverksmodus, brannmur, dnsTunneling, autoProxyAvanserte nettverks- og proxy-kontroller.
  • standardVhd-størrelse: maksimal størrelse på distribusjonens VHD (f.eks. 1 TB).

Formatering av notater: oppføringer av typen banen De må bruke Windows-ruter med dobbel omvendt skråstrek, for eksempel: C:\\Temp\\myCustomKernelStørrelser godtar enheter (MB/GB). Hvis du utelater enheten, tolkes de som byte. Noen alternativer krever Windows 11 og nyere versjoner av WSL.

Nettverk: NAT, speilet, Virtio og mer

med nettverksmodus Du velger nettverksmodus: NAT (misligholde), mirrored, virtioproxy, bridged (foreldet) eller noneI NAT vises WSL bak en intern NAT; i speilet konfigurasjon reflekteres nettverksstakken, noe som forenkler tilgangen fra LAN til WSL-tjenester; med virtioProxy brukes en alternativ backend. Hvis du bruker speiles, kan du finjustere med ignorertePorter å tillate Linux å binde porter selv om Windows bruker dem.

For å eksponere tjenester på det lokale nettverket ditt ved hjelp av speiling, legg til .wslconfig:


networkingMode=mirrored

Etter wsl --shutdownDu kan justere Hyper-V-brannmuren ved hjelp av PowerShell (administrator):

New-NetFirewallHyperVRule -DisplayName WSLPrivateInboundRule -Profiles Private -Direction Inbound -Action Allow -VMCreatorId ((Get-NetFirewallHyperVVMCreator).VMCreatorId)
# (Menos seguro) Desactivar la protección de Hyper-V por completo:
# Set-NetFirewallHyperVVMSetting -Name ((Get-NetFirewallHyperVVMCreator).VMCreatorId) -Enabled False

Behold aktiv brannmur på offentlige nettverk og begrense eksponering. Hvis du trenger produksjon, bør du vurdere Omvendt proxy og TLS.

  Metoder for å se alle i Microsoft Groups Assembly

eksperimentelt oppsett

I denne delen kan du aktivere funksjoner i forhåndsvisningen. Blant annet: automatiskMinnegjenvinning (disabled, gradual, dropCache), sparseVhd (spredte VHD-er), bestEffortDNSParsing, dnsTunnelingIP-adresse, initialAutoProxyTimeout, ignorertePorter y vertsadressetilbakekoblingNoen krever Windows 11 22H2+ og er beregnet for optimalisere minne og nettverk i spesifikke scenarier.

Eksempel på en kommentert .wslconfig

Dette eksemplet begrenser ressurser, bruker en tilpasset kjerne, justerer swap og aktiverer feilsøkingsfunksjoner. Perfekt for standardisere miljøer i utviklingsteam.

# %UserProfile%\\.wslconfig

memory=4GB
processors=2
kernel=C:\\temp\\myCustomKernel
kernelModules=C:\\temp\\modules.vhdx
kernelCommandLine=vsyscall=emulate
swap=8GB
swapFile=C:\\temp\\wsl-swap.vhdx
pageReporting=false
localhostForwarding=true
nestedVirtualization=false
debugConsole=true
maxCrashDumpCount=10


sparseVhd=true

Optimaliser I/O- og minneytelse

For intensivt arbeid (for eksempel behandler hundrevis av 20 MP-bilder (med ODM) anbefales det å justere globale ressurser og jobbe i det opprinnelige Linux-filsystemet for å unngå I/O-straffer på /mnt/cAngi tilstrekkelig minne og byttegrenser i .wslconfig og sjekk den faktiske bruken med htop o free -h.

Praktiske anbefalinger: lagre prosjektet ditt i /hjem/Deaktiver automatiske monteringer hvis du ikke trenger dem, og hvis prosessen fortsatt går tom for minne, økning i bytte (f.eks. 16 GB) og tildelt RAM (f.eks. 8–12 GB avhengig av maskinen din). Hvis du oppretter .wslconfig Hvis det er første gang og «det ikke fungerer», sørg for at det er i % Brukerprofil%, at navnet er bokstavelig .wslconfig (uten skjult utvidelse) og av Start WSL på nytt helt.

DNS og navneløsning

Som standard bruker WSL vertens DNS-servere, men du kan velge å ikke generere dem automatisk. resolv.conf og sett serverne dine (Cloudflare, Google, bedrifter) i stand til å oppnå mer forutsigbare oppløsninger. i /etc/wsl.conf:


generateResolvConf=false

Deretter oppretter eller redigerer /etc/resolv.conf med de ønskede oppføringene:

nameserver 1.1.1.1
nameserver 8.8.8.8

Hvis du bruker moduser som dnsProxy o dnsTunneling fra .wslconfigSjekk også parametrene og juster om nødvendig dnsTunnelingIP-adresse eller aktiv bestEffortDNSParsing for å løse forespørsler som ignorerer ukjente poster.

Installasjon og første trinn

WSL følger med Windows, men du må aktiver den og installer en distroI moderne versjoner (20262+), kjør ganske enkelt fra PowerShell eller CMD: wsl --installDenne kommandoen aktiverer WSL- og VM-plattformkomponentene, laster ned kjernen, setter WSL 2 som standard og installerer Ubuntu (kan kreve en omstart).

Når du åpner distroen fra Start for første gang, blir du bedt om å opprette Linux-brukernavn og passordDe er uavhengige av Windows-kontoen din, og den kontoen vil være den som logger på som standard. For å endre passordet, bruk passwdHvis du glemmer det, åpne distroen som root med wsl -u root o wsl -d <Distro> -u root og løp passwd <usuario>.

Oppdater pakker og velg hvor du vil lagre prosjektene dine

Hold pakkene dine oppdatert med sudo apt update && sudo apt upgrade (Ubuntu/Debian). Og husk denne gylne regelen: Arbeid i FS der verktøyene dine befinner segHvis du kompilerer og kjører med Linux-verktøy, lagrer du i \\wsl$\\<Distro>\\home\\<Usuario>Hvis du bruker Windows-verktøy, må du beholde filene i C:\\Users\\<Usuario>.

For å åpne gjeldende WSL-katalog i Utforsker, kjør explorer.exe .Du kan også navigere til ruter som \\wsl$\\Debian\\home\\tu-usuario Fra Windows. Hvis mappen ser tom ut, åpner du en WSL-terminal for å aktivere den virtuelle maskinen.

Windows Terminal og koderedigerere

Opplevelsen er betraktelig forbedret med Windows Terminal (faner, paneler, GPU-gjengivelse, temaer…). Hver installerte distro vil vises som en konfigurerbar profil. For utvikling er det mest praktiske alternativet vanligvis… Visual Studio Code med WSL-utvidelsen (Remote Development Support). Start distribusjonen code . og du vil ha et komplett redigeringsmiljø i WSL.

Hvis du jobber i C++, integrerer Visual Studio 2022 innebygd støtte for CMake-prosjekter rettet mot WSL o SSH, slik at du kan kompilere og feilsøke på Linux fra samme instans av VS.

Git, containere og databaser

konfigurerer Git i WSL Og hvis du trenger det, legitimasjonsbehandleren, slik at du ikke trenger å skrive inn passord. Sjekk linjeavslutninger og filer. .gitignore For å unngå plattformspesifikke problemer integrerer VS Code Git-kommandoer som fungerer sømløst med WSL.

med DockerDesktop Med WSL 2 kan du bruke containere på en smidig måte, og hvis du er interessert, koble prosjektet ditt til en ekstern utviklingscontainer. databaserWSL støtter det uten problemer MySQL, PostgreSQL, MongoDB, Redis, SQL Server eller SQLiteDet er et ideelt miljø for lokal utvikling på tvers av plattformer.

  Angi en snarvei til alltid å kjøre som administrator

GPU-akselerasjon og grafikkapper

WSL lar deg dra nytte av GPU-en til laget For tunge arbeidsmengder (AI, CUDA osv.). I praksis bør du bare sørge for at du har oppdaterte drivere og verktøysett, og om nødvendig, valider med containere som nvidia/cudaI tillegg, med wslg du kan løpe Linux GUI-applikasjoner uten å sette opp en ekstern X-server.

Nyttige interoperabilitetskommandoer

Det er en veldig praktisk sameksistens mellom begge verdener. Fra Windows: wsl ls -la å liste med Linux-verktøy og filtrere med findstr eller omvendt (blanding dir y grepFra Linux, start hvilken som helst Windows-app med .exefor eksempel notepad.exe .bashrc. Du har også wslpath å oversette ruter mellom systemer: wslpath RUTA_WINDOWS o wslpath -w RUTA_LINUX.

Montering av disker og arbeid med eksterne stasjoner

Hvis du trenger tilgang til en fysisk disk eller minne USB Fra WSL 2 kan du sette det opp ved hjelp av wsl --mount og administrer det slik du ville gjort i Linux. Husk å sjekke filsystemet og om root-rettigheter kreves for å unngå monteringsfeil.

Sikkerhet og administrasjon i bedriften (Intune og GPO)

Nå kan du administrere WSL med verktøy som Microsoft IntuneFra portalen oppretter du en konfigurasjonskatalogprofil og søker etter «Windows-undersystem for Linux» for å se alle tilgjengelige alternativer. Dette er ideelt for å håndheve policyer som eksklusiv bruk av WSL-butikken, deaktiver WSL 1 eller forhindre tilpassede kjerne- og nettverkskonfigurasjoner.

Anbefaling for herding i bedriftsmiljøer: deaktiver Tillat innboksWSL (tving Store-versjon), TillatWSL1, The feilsøkingsskallKjerne-/kommandolinjekonfigurasjon, tilpasset nettverk, brannmur via .wslconfig, nestet virtualisering eller kjernefeilsøking. Disse gruppepolicyobjektene er definert ved hjelp av WSL ADMX, tilgjengelig på GitHub, og kan importeres for lokal administrasjon.

Adgangskontroll og kommandoer

Retningslinjer TillatWSL, Tillat innboksWSL y TillatWSL1 De kontrollerer hvem som kan bruke WSL og hvilken versjon. Du kan også tillate eller blokkere brukere. wsl --debug-shell y wsl --mount i henhold til dine sikkerhetskrav. Det er et ekstra lag for unngå uønskede konfigurasjoner i administrerte team.

Feilsøking: Oppretting av .wslconfig og minnetilfeller

Hvis .wslconfig «ikke gjør noe», må du bekrefte at filen er i %Brukerprofil%\\.wslconfig, uten skjult utvidelse eller merkelig BOM, og at syntaksen er gyldig (avsnitt og nøkkel=verdi-par). Etter at du har opprettet eller endret den, kjør wsl --shutdown og åpne distroen.

For minneintensive belastninger (som f.eks. grupper på 470 20MP-bilder), øker den tildelte RAM-en og vekselplassen. Eksempel på utgangspunkt:


memory=12GB
processors=8
swap=16GB
swapFile=C:\\WSL\\swap.vhdx
pageReporting=true

Sjekk også at prosjektet er i Linux FSHvis du fortsetter å motta meldinger om at det ikke er nok minne, sjekk verktøyets egne grenser (ODM-parametere) og aktiver automatiskMinnegjenvinning Hvis du er interessert i å raskt gjenopprette hurtigbufferen og overvåke bruken, top/ htopIkke glem at Windows også trenger tilstrekkelig med ledig RAM.

Ekstra gode fremgangsmåter og ressurser

Når du eksperimenterer med nettverksspeiling, juster brannmuren nøye; hvis Du deaktiverer regler For å teste, aktiver dem på nytt etterpå. Hvis du trenger ytterligere dokumentasjon eller alternative eksempler, kan du utforske eksterne ressurser som denne PDF-filenOg hvis du jobber med GPU-er, må du validere stakken din (drivere, CUDA/verktøysett, versjoner) før du begynner.

For de som administrerer flåter, kombinasjonen Intune + ADMX Det gir fin kontroll over hva som kan endres i .wslconfig, hvilke kommandoer som er tillatt, og om WSL 1-distribusjoner aksepteres. Dette bidrar til å standardisere miljøer, redusere hendelser og heve sikkerhetsnivået.

Med disse innstillingene har du en helhetlig veiledning for å sette opp WSL profesjonelt: Bruk wsl.conf til å profilere hver distro, .wslconfig for å styre den globale virtuelle maskinenStart WSL på nytt med omhu, dra nytte av Linux' innebygde FS for ytelse, utnytt GPU-er og avansert nettverksbygging, og hvis du jobber i et selskap, stol på policyer for å holde alt under kontroll.

Slik konfigurerer du WSL2 med en tilpasset Linux-kjerne og red-3
Relatert artikkel:
Slik konfigurerer du WSL2 med en tilpasset Linux-kjerne og nettverk