Konfigurasi .wslconfig dan wsl.conf di WSL: Panduan praktis lengkap

Pembaharuan Terakhir: 29/10/2025
penulis: Isaac
  • Pahami cakupannya: .wslconfig bersifat global (WSL 2) dan wsl.conf per distribusi.
  • Mulai ulang WSL dengan benar (aturan 8 detik) untuk menerapkan perubahan.
  • Mengoptimalkan sumber daya dan I/O: memori, swap, sistem berkas Linux dan DrvFs.
  • Perkuat keamanan dan manajemen dengan Intune, GPO, dan mode jaringan yang sesuai.

Mengonfigurasi WSL dengan .wslconfig dan wsl.conf

Jika Anda bekerja dengan Linux di dalam Windows, kunci untuk memaksimalkan kinerja dan stabilitas terletak pada dua file konfigurasi: .wslconfig dan wsl.confDengan pengaturan ini, Anda dapat menyesuaikan semuanya, mulai dari jumlah memori yang digunakan VM WSL 2, cara pemasangan drive, server DNS mana yang digunakan, atau apakah systemd diaktifkan di distribusi Anda. Di sini Anda akan menemukan Panduan untuk membuat lingkungan dengan WSL2 dan Docker, praktis dan terperinci untuk menguasai pilihan ini tanpa mempersulit hidup Anda.

Sebelum memulai, penting untuk memperjelas dua ide: .wslconfig menerapkan pengaturan WSL global (hanya WSL 2) y wsl.conf mendefinisikan perilaku untuk setiap distribusiLebih lanjut, ada aturan tak tertulis: setiap kali Anda mengubah sesuatu, Anda harus memulai ulang WSL dengan benar agar perubahan tersebut berlaku. Dari sini, kita akan membahas semua yang perlu Anda ketahui dan lakukan, menggunakan contoh nyata. perintah dan praktik yang baik.

Perbedaan utama antara .wslconfig dan wsl.conf

Ada batasan yang sangat jelas antara kedua berkas tersebut: .wslconfig bersifat global dan ada di luar Linux (di Windows), sementara wsl.conf bersifat lokal untuk setiap distro dan disimpan di dalam sistem Linux itu sendiri. Memahami hal ini akan menghemat waktu Anda saat men-debug masalah.

Singkatnya: .wslconfig terletak di %UserProfile%\\.wslconfig (Tidak ada secara default; Anda harus membuatnya) dan mengontrol VM WSL 2 (memori, CPU, kernel, jaringan, dll.). Untuk bagiannya, wsl.conf terletak di /etc/wsl.conf dalam distribusi dan mengatur perakitan otomatis, opsi jaringan internal, interoperabilitas dengan Windows, pengguna default, boot dan banyak lagi

Penting: Opsi .wslconfig hanya memengaruhi WSL 2Jika Anda memiliki distro yang menjalankan WSL 1, opsi global ini tidak akan berlaku.

file .wslconfig untuk mengonfigurasi mesin virtual WSL 2

“Aturan 8 detik” dan cara memulai ulang WSL dengan benar

Ketika Anda mengubah parameter apa pun di .wslconfig atau wsl.confTidak cukup hanya menutup jendela terminalAnda harus menunggu VM WSL berhenti sepenuhnya, yang biasanya memakan waktu sekitar 8 detik setelah menutup semua sesi.

Jika Anda ingin memaksa reboot bersih, lihat perintah untuk memulai ulang WSL dan menggunakan PowerShell dengan perintah ini: wsl --list --running (untuk memeriksa distro mana yang masih aktif) dan wsl --shutdown (untuk mematikan semuanya). Anda juga dapat menghentikan distribusi tertentu dengan wsl --terminate <NombreDistro>Langkah ini penting untuk perubahan diterapkan dengan benar.

wsl.conf: konfigurasi berdasarkan distribusi (WSL 1 dan WSL 2)

file /etc/wsl.conf Ini memungkinkan Anda menyesuaikan perilaku di tingkat distribusi. Ini mendukung bagian tipe INI: , , , , Plus , y Pada sistem terkini, hal ini sempurna untuk memutuskan bagaimana drive dipasang, apakah akan menambahkan Windows PATH, atau pengguna mana yang digunakan secara default.

Anda dapat membukanya dengan editor favorit Anda seperti akar: sudo nano /etc/wsl.confJika belum ada, buatlah. Setelah mengedit, ingatlah untuk menerapkan aturan penutupan WSL agar perubahan mulai berlaku.

Aktifkan systemd pada distro Anda

WSL menggabungkan dukungan untuk systemd dalam versi terbaru (WSL 0.67.6 atau lebih tinggi). Jika alur kerja Anda memerlukannya (misalnya, layanan yang dimulai melalui systemd), Anda dapat mengaktifkannya dengan dua baris di wsl.conf:


systemd=true

Periksa versi Anda dengan wsl --version dan setelah diedit, jalankan wsl.exe --shutdownUntuk memverifikasi, gunakan systemctl list-unit-files --type=service dan Anda akan melihat status layanannya. Fitur ini membawa WSL lebih dekat ke pengalaman Linux yang sesungguhnya. Jika Anda membutuhkan informasi manajemen yang lebih mendalam, lihat caranya mengelola layanan dengan systemd untuk melihat contoh praktis.

Pemasangan Otomatis Drive Windows (DrvFs)

Bagian ini menjelaskan bagaimana drive seperti C: atau D: dipasang di Linux menggunakan DrvFs. Anda dapat mengaktifkan atau menonaktifkannya, mengubah root-nya, atau menambahkan opsi izin.

  • diaktifkan (boolean): Secara default benar, memasang C:/ atau D:/ di bawah /mnt.
  • pasangFsTab (boolean): secara default benar, menyebabkan WSL memproses /etc/fstab pada awalnya.
  • akar (string): secara default /mnt/Anda dapat mengubahnya menjadi /windir/ dan kamu akan melihat /windir/c.
  • Pilihan: Daftar yang dipisahkan koma khusus DrvFs (izin dan metadata).

Pilihan DrvFs yang berguna: uid, gid, umask, fmask, dmask, metadata dan caseJika Anda mengaktifkan metadataAnda dapat menggunakan masker seperti umask=022 o dmask=000 dan menyempurnakan izin seperti yang Anda lakukan di Linux "murni". Jika alur kerja Anda memerlukan Akses partisi Linux dari WindowsBagian ini dan DrvFs adalah kunci untuk menyesuaikan izin dan perakitan.

  Pelajari tentang folder terpenting di C:\Windows

Apa sebenarnya DrvFs?

DrvFs adalah jembatan sistem berkas antara Windows dan Linux di WSL. Ini memungkinkan Anda untuk memasang drive Windows di /menit/c, /menit/haridll., dan menentukan bagaimana izin, sensitivitas huruf besar/kecil, dan metadata dikelola. Jika Anda menginginkan perilaku yang lebih mirip Linux, metadata aktif dan sesuaikan masker izin sesuai keinginan Anda.

Jaringan, interoperabilitas, pengguna default, dan boot

Anda dapat mengontrol nama host, dan apakah WSL membuatnya secara otomatis. /etc/hosts y /etc/resolv.confMenyesuaikan ini berguna jika Anda lebih suka mengelola DNS secara manual untuk mencapai resolusi yang lebih stabil atau lebih cepat.

Bagian ini menentukan apakah Anda dapat meluncurkan proses Windows dari Linux (misalnya, notepad.exe) dan jika Windows PATH ditambahkan ke $PATHJika Anda mencari lingkungan Linux yang lebih "terisolasi", nonaktifkan opsi ini untuk menghindari gangguan.

Di sini, Anda memilih pengguna default yang digunakan untuk boot distro. Sebaiknya atur akun pengguna normal Anda, bukan akun root, demi alasan keamanan. Meskipun Anda juga bisa masuk sebagai root sesekali. wsl -u root.

Dengan ini Anda dapat memicu perintah saat WSL dimulai (misalnya, service docker startdan lindungi pembuatan binfmt secara otomatis jika Anda memiliki systemd. Ini adalah cara praktis untuk mengotomatiskan layanan saat startup.

GPU dan sinkronisasi waktu

Bagian ini memungkinkan Anda memutuskan apakah apps Linux dapat mengakses GPU Windows melalui paravirtualisasi. Secara default, ia datang diaktifkan=benar, ideal untuk beban kerja IA atau grafik.

Anda dapat membuat WSL menggunakan dan menyinkronkan zona waktu Windows dengan useWindowsTimezone=trueIni adalah bantuan sederhana untuk menghindari perbedaan dan ketidaksesuaian saat mengubah zona waktu atau menidurkan komputer. Jika tujuan Anda adalah menggunakan GPU untuk komputasi, periksa caranya Instal CUDA di WSL dan meninggalkan driver dan perangkat yang diperbarui.

Contoh lengkap wsl.conf

Contoh ini menunjukkan beberapa pilihan yang berguna: perubahan akar dari rakitanIzin DrvFs, DNS sendiri dan pengguna default. Catatan: Ingatlah untuk memulai ulang WSL untuk melihat efeknya. Jika Anda menyiapkan lingkungan pengembangan, Anda dapat mengikuti langkah-langkah berikut untuk Konfigurasikan lingkungan pengembangan dengan WSL yang mengintegrasikan opsi-opsi ini.

# /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: Pengaturan global VM WSL 2

Di sinilah Anda menentukan berapa banyak memori, CPU, atau swap yang akan dimiliki VM, apakah Anda menggunakan kernel khusus, dan bagaimana jaringan berperilaku. Buat file di %ProfilPengguna%\\.wslconfigUntuk membuka folder dari PowerShell, gunakan cd ~ atau ketik jalur langsung ke Explorer dengan %Profil pengguna%.

Parameter utama dalam bagian ini:

  • inti: jalur absolut di Windows ke kernel Linux khusus.
  • modul kernel: VHD dengan modul kernel khusus.
  • ingatan: Batas RAM (default 50% dari RAM Windows).
  • prosesor: inti logis untuk VM WSL 2.
  • localhostPenerusan: mengekspos port WSL di localhost:puerto dari tuan rumah.
  • kernelCommandLine: parameter kernel tambahan (misalnya, vsyscall=emulate).
  • Mode aman: mode aman untuk memulihkan distro yang bermasalah (Windows 11).
  • menukar y file swap: ukuran dan jalur disk swap.
  • halamanPelaporan: secara otomatis mengembalikan memori yang tidak digunakan ke host.
  • Aplikasi gui- Mengaktifkan atau menonaktifkan WSLg (aplikasi GUI Linux).
  • konsol debug, Jumlah Pembuangan Kerusakan Maksimum: debugging dan manajemen dump.
  • virtualisasi bersarang: virtualisasi aktif/nonaktif bersarang.
  • vmWaktu Habis: milidetik tidak aktif sebelum mematikan VM.
  • Proksi dns, mode jaringan, firewall, terowongan dns, Proksi otomatisKontrol jaringan dan proksi tingkat lanjut.
  • ukuranVHD default: ukuran maksimum VHD distro (misalnya, 1 TB).

Memformat catatan: entri bertipe path Mereka harus menggunakan rute Windows dengan garis miring terbalik ganda, misalnya: C:\\Temp\\myCustomKernelUkuran menerima satuan (MB/GB); jika Anda menghilangkan satuan tersebut, ukurannya akan ditafsirkan sebagai byte. Beberapa opsi memerlukan Windows 11 dan versi terbaru WSL.

Jaringan: NAT, mirrored, virtio, dan lainnya

dengan mode jaringan Anda memilih mode jaringan: NAT (bawaan), mirrored, virtioproxy, bridged (usang) atau noneDalam NAT, WSL muncul di belakang NAT internal; dalam konfigurasi cermin, tumpukan jaringan dicerminkan, menyederhanakan akses dari LAN ke layanan WSL; dengan virtioProxy, backend alternatif digunakan. Jika Anda menggunakan dicerminkan, Anda dapat menyempurnakannya dengan diabaikanPort untuk mengizinkan Linux mengikat port bahkan jika Windows menggunakannya.

Untuk mengekspos layanan pada jaringan lokal Anda menggunakan mirroring, tambahkan ke .wslconfig:


networkingMode=mirrored

Setelah wsl --shutdownAnda dapat menyesuaikan firewall Hyper-V menggunakan 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

Simpan firewall aktif di jaringan publik dan batasi paparan. Jika Anda membutuhkan produksi, pertimbangkan Proksi terbalik dan TLS.

  Cara memperbaiki masalah konektivitas League of Legends

pengaturan eksperimental

Bagian ini memungkinkan Anda mengaktifkan fitur-fitur dalam pratinjau. Antara lain: autoMemoryReclaim (disabled, gradual, dropCache), sparseVhd (VHD tersebar), penguraian DNS upaya terbaik, Alamat IP Terowongan dns, waktuproksiotomatisawal habis, diabaikanPort y hostAddressLoopbackBeberapa memerlukan Windows 11 22H2+ dan ditujukan untuk mengoptimalkan memori dan jaringan dalam skenario tertentu.

Contoh .wslconfig yang diberi komentar

Contoh ini membatasi sumber daya, menggunakan kernel khusus, menyesuaikan swap, dan mengaktifkan fitur debugging. Sempurna untuk standarisasi lingkungan dalam tim pengembangan.

# %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

Optimalkan kinerja I/O dan memori

Untuk pekerjaan intensif (misalnya, memproses ratusan gambar 20 MP (dengan ODM), disarankan untuk menyesuaikan sumber daya global dan bekerja di sistem file Linux asli untuk menghindari penalti I/O pada /mnt/cTetapkan batas memori dan swap yang cukup di .wslconfig dan periksa penggunaan sebenarnya dengan htop o free -h.

Rekomendasi praktis: simpan proyek Anda di /rumah/Nonaktifkan pemasangan otomatis jika Anda tidak membutuhkannya, dan jika proses masih kehabisan memori, peningkatan swap (misalnya, 16 GB) dan RAM yang dialokasikan (misalnya, 8–12 GB tergantung pada mesin Anda). Jika Anda membuat .wslconfig Jika ini pertama kalinya dan "tidak berhasil", pastikan itu ada di %Profil pengguna%, bahwa nama itu literal .wslconfig (tanpa ekstensi tersembunyi) dan Mulai ulang WSL sepenuhnya.

DNS dan resolusi nama

Secara default, WSL menggunakan server DNS host, tetapi Anda dapat memilih untuk tidak membuatnya secara otomatis. resolv.conf dan menempatkan server Anda (Cloudflare, Google, perusahaan) untuk mencapai resolusi yang lebih dapat diprediksi. Di /etc/wsl.conf:


generateResolvConf=false

Kemudian buat atau edit /etc/resolv.conf dengan entri yang diinginkan:

nameserver 1.1.1.1
nameserver 8.8.8.8

Jika Anda menggunakan mode seperti Proksi dns o terowongan dns dari .wslconfigPeriksa juga parameternya dan, jika perlu, sesuaikan Alamat IP Terowongan dns atau aktif penguraian DNS upaya terbaik untuk menyelesaikan permintaan yang mengabaikan catatan yang tidak dikenal.

Instalasi dan langkah pertama

WSL hadir dengan Windows, tetapi Anda harus aktifkan dan instal distroPada versi modern (20262+), jalankan saja dari PowerShell atau CMD: wsl --installPerintah ini mengaktifkan komponen WSL dan VM Platform, mengunduh kernel, menetapkan WSL 2 sebagai default, dan menginstal Ubuntu (mungkin memerlukan boot ulang).

Saat Anda membuka distro dari Mulai untuk pertama kalinya, Anda akan diminta untuk membuat Nama pengguna dan kata sandi LinuxKata sandi tersebut tidak bergantung pada akun Windows Anda, dan akun tersebut akan menjadi akun yang digunakan untuk masuk secara default. Untuk mengubah kata sandi, gunakan passwdJika Anda lupa, buka distro sebagai root dengan wsl -u root o wsl -d <Distro> -u root dan lari passwd <usuario>.

Perbarui paket dan pilih tempat menyimpan proyek Anda

Jaga paket Anda tetap terkini dengan sudo apt update && sudo apt upgrade (Ubuntu/Debian). Dan ingat aturan emas ini: Bekerja di FS tempat alat Anda beradaJika Anda mengkompilasi dan menjalankan menggunakan alat Linux, simpan di \\wsl$\\<Distro>\\home\\<Usuario>Jika Anda menggunakan alat Windows, simpan file di C:\\Users\\<Usuario>.

Untuk membuka direktori WSL saat ini di Explorer, jalankan explorer.exe .Anda juga dapat menavigasi ke rute seperti \\wsl$\\Debian\\home\\tu-usuario Dari Windows. Jika folder tampak kosong, buka terminal WSL untuk mengaktifkan VM.

Terminal Windows dan editor kode

Pengalamannya sangat ditingkatkan dengan Terminal Windows (tab, panel, rendering GPU, tema, dll.). Setiap distro yang terinstal akan muncul sebagai profil yang dapat dikonfigurasi. Untuk pengembangan, opsi yang paling nyaman biasanya adalah... Kode Visual Studio dengan ekstensi Remote Development Support (WSL). Dari distro, luncurkan code . dan Anda akan memiliki lingkungan pengeditan lengkap dalam WSL.

Jika Anda bekerja di C++, Visual Studio 2022 mengintegrasikan dukungan asli untuk Proyek CMake yang menargetkan WSL o SSH, yang memungkinkan Anda mengompilasi dan men-debug di Linux dari instansi VS yang sama.

Git, kontainer dan basis data

Konfigurasikan Git di WSL Dan, jika Anda membutuhkannya, pengelola kredensial agar Anda tidak perlu mengetik kata sandi. Periksa akhir baris dan berkas. .gitignore Untuk menghindari masalah spesifik platform, VS Code mengintegrasikan perintah Git yang bekerja lancar dengan WSL.

dengan Desktop Docker Dengan WSL 2, Anda dapat menggunakan kontainer dengan cara yang tangkas dan, jika Anda tertarik, menghubungkan proyek Anda ke kontainer pengembangan jarak jauh. databaseWSL mendukungnya tanpa masalah MySQL, PostgreSQL, MongoDB, Redis, SQL Server atau SQLiteIni adalah lingkungan yang ideal untuk pengembangan lokal lintas-platform.

  Cara membuat repositori perangkat lunak sendiri untuk Linux

Aplikasi akselerasi GPU dan grafis

WSL memungkinkan Anda memanfaatkan GPU tim Untuk beban kerja berat (AI, CUDA, dll.). Dalam praktiknya, pastikan Anda memiliki driver dan toolkit terbaru dan, jika perlu, validasi dengan kontainer seperti nvidia/cuda. Juga, dengan wslg kamu bisa berlari Aplikasi GUI Linux tanpa menyiapkan server X eksternal.

Perintah interoperabilitas yang berguna

Terdapat koeksistensi yang sangat praktis antara kedua dunia. Dari Windows: wsl ls -la untuk membuat daftar dengan alat Linux dan memfilter dengan findstr atau sebaliknya (campuran dir y grepDari Linux, luncurkan aplikasi Windows apa pun dengan .exe, sebagai contoh notepad.exe .bashrc. Anda juga punya wslpath untuk menerjemahkan rute antar sistem: wslpath RUTA_WINDOWS o wslpath -w RUTA_LINUX.

Memasang disk dan bekerja dengan drive eksternal

Jika Anda perlu mengakses disk fisik atau memori USB Dari WSL 2, Anda dapat mengaturnya menggunakan wsl --mount dan kelola seperti di Linux. Ingatlah untuk memeriksa sistem berkas dan apakah izin root diperlukan untuk menghindari kesalahan pemasangan.

Keamanan dan administrasi di perusahaan (Intune dan GPO)

Sekarang Anda dapat mengelola WSL dengan alat seperti Microsoft IntuneDari portal, buat profil katalog konfigurasi dan cari "Subsistem Windows untuk Linux" untuk melihat semua opsi yang tersedia. Ini ideal untuk menerapkan kebijakan seperti penggunaan eksklusif Toko WSL, nonaktifkan WSL 1 atau cegah konfigurasi kernel dan jaringan khusus.

Rekomendasi untuk pengerasan di lingkungan perusahaan: nonaktifkan Izinkan Kotak Masuk WSL (paksa versi Store), IzinkanWSL1, The shell debugKonfigurasi kernel/baris perintah, jaringan khusus, firewall melalui .wslconfig, virtualisasi bersarang, atau debugging kernel. GPO ini didefinisikan menggunakan WSL ADMX, tersedia di GitHub, dan dapat diimpor untuk manajemen lokal.

Kontrol akses dan perintah

Kebijakan Izinkan WSL, Izinkan Kotak Masuk WSL y IzinkanWSL1 Mereka mengontrol siapa yang dapat menggunakan WSL dan versinya. Anda juga dapat mengizinkan atau memblokir pengguna. wsl --debug-shell y wsl --mount sesuai dengan kebutuhan keamanan Anda. Ini adalah lapisan tambahan untuk hindari konfigurasi yang tidak diinginkan dalam tim yang dikelola.

Pemecahan Masalah: Membuat .wslconfig dan kasus memori

Jika .wslconfig “tidak melakukan apa pun”, verifikasi bahwa file tersebut ada di %ProfilPengguna%\\.wslconfig, tanpa ekstensi tersembunyi atau BOM aneh, dan sintaksnya valid (bagian dan pasangan kunci=nilai). Setelah membuat atau memodifikasinya, jalankan wsl --shutdown dan buka distro.

Untuk beban yang membutuhkan banyak memori (seperti kumpulan 470 gambar 20MP), meningkatkan alokasi RAM dan ruang swap. Contoh titik awal:


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

Periksa juga apakah proyek tersebut ada di Linux FSJika Anda terus menerima pesan “kehabisan memori”, periksa batasan alat itu sendiri (parameter ODM), dan aktifkan autoMemoryReclaim Jika Anda tertarik untuk memulihkan cache dan memantau penggunaan dengan cepat, top/ htopJangan lupa bahwa Windows juga membutuhkan RAM kosong yang cukup.

Praktik dan sumber daya tambahan yang baik

Saat bereksperimen dengan pencerminan jaringan, sesuaikan firewall dengan hati-hati; jika Anda menonaktifkan aturan Untuk menguji, aktifkan kembali setelahnya. Jika Anda memerlukan dokumentasi tambahan atau contoh alternatif, Anda dapat menjelajahi sumber daya eksternal seperti PDF iniDan jika Anda bekerja dengan GPU, validasi tumpukan Anda (driver, CUDA/toolkit, versi) sebelum memulai.

Bagi yang mengelola armada, combo Intune + ADMX Ini memberikan kontrol yang lebih baik atas apa yang dapat dimodifikasi di .wslconfig, perintah mana yang diizinkan, dan apakah distribusi WSL 1 diterima. Ini membantu untuk standarisasi lingkungan, mengurangi insiden dan meningkatkan tingkat keamanan.

Dengan pengaturan ini, Anda memiliki panduan holistik untuk menyiapkan WSL secara profesional: Gunakan wsl.conf untuk membuat profil setiap distro, .wslconfig untuk mengatur VM globalMulai ulang WSL dengan bijak, manfaatkan FS asli Linux untuk kinerja, manfaatkan GPU dan jaringan canggih, dan jika Anda bekerja di sebuah perusahaan, andalkan kebijakan untuk menjaga semuanya tetap terkendali.

Cara mengkonfigurasi WSL2 dengan kernel Linux khusus dan red-3
Artikel terkait:
Cara mengatur WSL2 dengan kernel dan jaringan Linux khusus