wsl.conf w WSL: Konfiguracja systemd, dysków, sieci w Linuksie

2026-09-21 0 przez Redakcja plików

Plik `/etc/wsl.conf` to nic innego jak centralny punkt konfiguracji dla twojej konkretnej dystrybucji Linuksa działającej pod Windows Subsystem for Linux (WSL). Nie znajdziesz go bezpośrednio w systemie Windows – to plik tekstowy umieszczony w `/etc/` wewnątrz każdej instalacji Linuksa w WSL (np. Ubuntu, Debian). Służy on do globalnych ustawień, które WSL czyta *przed* uruchomieniem właściwego Linuksa. Brak rozszerzenia to standard w świecie Linuksa dla plików konfiguracyjnych.

Do czego służy /etc/wsl.conf i kto go używa?

Ten plik to fundament, na którym opiera się zachowanie twojej dystrybucji WSL. Jego głównym zadaniem jest dyktowanie, jak WSL ma się zachowywać podczas startu i jak ma integrować się z hostem Windows. Programem, który go „tworzy” w pewnym sensie, jest sam użytkownik (lub skrypty), a „używa” go bezpośrednio silnik WSL podczas inicjalizacji danej dystrybucji. To jest ten moment, kiedy decyzje podjęte w `wsl.conf` mają największe znaczenie. Bez kitu, to mocno kluczowy plik.

Możesz tu ustawić w cholerę ważnych rzeczy:

  • Integracja z systemd: Jeśli chcesz, by twoja dystrybucja WSL2 działała z systemd (co jest niezbędne do uruchamiania wielu usług, jak Docker, Apache, czy niektóre bazy danych), to właśnie w `wsl.conf` dodajesz sekcję `[boot]` i ustawiasz `systemd=true`. Bez tego, zapomnij o łatwym zarządzaniu usługami.
  • Montowanie dysków Windows: Kontroluje, jak i czy w ogóle dyski C:, D: z Windows są automatycznie montowane w Linuksie. Możesz zmienić ich punkty montowania, uprawnienia (np. `umask`, `fmask`, `dmask`) czy opcje dotyczące wrażliwości na wielkość liter (`case=dir`). To szczególnie ważne, gdy masz projekty programistyczne i potrzebujesz precyzyjnej kontroli nad uprawnieniami do plików.
  • Ustawienia sieciowe: Umożliwia konfigurowanie serwerów DNS, wyłączanie generowania `/etc/resolv.conf` przez WSL (jeśli chcesz mieć własny), czy kontrolę nad przekierowywaniem portów z localhosta.
  • Ustawienia startowe: Możesz określić, jakim domyślnym użytkownikiem ma startować dystrybucja, co jest bardzo wygodne, gdy nie chcesz zawsze zaczynać jako root.

Czy /etc/wsl.conf to wirus? Czy można go usunąć i co się stanie?

Nie, `/etc/wsl.conf` to nie jest wirus. To zwykły plik konfiguracyjny, w formacie INI-podobnym, zawierający tylko tekst. Jeśli widzisz go w swojej dystrybucji WSL, to jest to całkowicie normalne i oczekiwane.

Czy można go usunąć? Technicznie tak, możesz go usunąć. Ale to byłoby jak usunięcie instrukcji obsługi dla skomplikowanej maszyny. Skutki? WSL po prostu wróci do swoich domyślnych ustawień fabrycznych dla danej dystrybucji. Jeśli polegałeś na `systemd`, przestanie działać. Dyski Windows mogą być montowane inaczej, z innymi uprawnieniami, albo wcale. Sieć może zachowywać się inaczej. Krótko mówiąc: jeśli masz tam własne konfiguracje, ich usunięcie zepsuje to, co działało. Zamiast usuwać, lepiej jest skomentować problematyczne linie (dodając `#` na początku) lub po prostu edytować je.

Typowe problemy i błędy związane z /etc/wsl.conf

Mimo swojej prostoty, `wsl.conf` potrafi napsuć krwi:

  • Błędy składniowe: Nawet drobna literówka w nazwie sekcji (`[boot]` zamiast `[boot ]`) czy opcji (`systemd=true` zamiast `systemd = true`) może sprawić, że WSL całkowicie zignoruje dany wpis lub cały plik. Sprawdzaj podwójnie!
  • Zapomniany restart: Zmiany w `wsl.conf` nigdy nie są aktywne od razu. Musisz zawsze całkowicie zamknąć dystrybucję WSL (np. w PowerShell: `wsl –shutdown`, a potem uruchomić ją ponownie). Ile razy to widziałem — ludzie się dziwią, że nic nie działa, a potem przypominają sobie o restarcie. (Tak, serio — sprawdzałem to u siebie wiele razy).
  • Problemy z `systemd`: Najczęstszy błąd to brak sekcji `[boot]` z `systemd=true`, albo problemy z jej formatowaniem. Potem płacz, że usługi nie chcą startować.
  • Montowanie dysków: Konflikty z uprawnieniami, zwłaszcza przy współdzieleniu plików między Windows a Linuksem. Jeśli `umask` jest źle ustawiony, możesz mieć problemy z dostępem do plików.
  • Błędy sieciowe: Niekiedy ręczna konfiguracja DNS w `wsl.conf` może kolidować z dynamicznym przydzielaniem adresów.

Dlaczego plik jest „systemowy” i wymaga uprawnień?

Plik `/etc/wsl.conf` znajduje się w katalogu `/etc` w Linuksie, który jest zarezerwowany dla konfiguracji systemowych. Oznacza to, że do jego modyfikacji potrzebujesz uprawnień roota (czyli używasz `sudo` przed edytorem, np. `sudo nano /etc/wsl.conf`). Nie jest on „read-only” w sensie twardego blokowania przez system Windows, ale jest chroniony przez standardowe mechanizmy uprawnień Linuksa. To logiczne – kontrolujesz nim zachowanie całego systemu, więc nie każdy użytkownik powinien móc go swobodnie zmieniać. To jest podstawowa zasada bezpieczeństwa w Linuksie. Kontrola dostępu. I dobra.

Co zrobisz z tym dalej — twoja sprawa.

Najczęstsze pytania

Czy muszę tworzyć plik /etc/wsl.conf, jeśli go nie mam?

Nie, nie musisz. Jeśli go nie ma, WSL użyje swoich domyślnych ustawień dla dystrybucji, co dla wielu użytkowników jest wystarczające.

Czy zmiany w wsl.conf wpływają na wszystkie moje dystrybucje WSL?

Nie, `wsl.conf` konfiguruje tylko konkretną dystrybucję WSL, w której się znajduje. Każda dystrybucja ma swój własny, niezależny plik `wsl.conf`.

Jak mogę szybko zrestartować dystrybucję WSL po zmianie wsl.conf?

Otwórz PowerShell lub Wiersz Polecenia w Windows i wpisz `wsl –shutdown`. Po tym możesz ponownie uruchomić swoją dystrybucję.