Pelajari selengkapnya tentang versi WSL yang berbeda, termasuk mengapa WSL 2 sekarang menjadi default dan skenario atau pengecualian tertentu yang mungkin menjamin pengalihan distribusi Linux yang diinstal ke arsitektur WSL 1 sebelumnya.
Membandingkan WSL 1 dan WSL 2
Panduan ini akan membandingkan WSL 1 dan WSL 2, termasuk pengecualian untuk menggunakan WSL 1 daripada WSL 2. Perbedaan utama antara WSL 1 dan WSL 2 adalah penggunaan kernel Linux aktual di dalam VM terkelola, dukungan untuk kompatibilitas panggilan sistem penuh, dan performa di seluruh sistem operasi Linux dan Windows. WSL 2 adalah versi default saat ini saat menginstal distribusi Linux dan menggunakan teknologi virtualisasi terbaru dan terbesar untuk menjalankan kernel Linux di dalam komputer virtual utilitas (VM) ringan. WSL2 menjalankan distribusi Linux sebagai kontainer terisolasi di dalam VM terkelola. Jika distribusi Anda saat ini menjalankan WSL 1 dan Anda ingin memperbarui ke WSL 2, lihat pembaruan dari WSL 1 ke WSL 2.
Membandingkan fitur
Fitur
WSL 1
WSL 2
Integrasi antara Windows dan Linux
✅
✅
Waktu boot cepat
✅
✅
Cetak kaki sumber daya kecil dibandingkan dengan Komputer Virtual tradisional
✅
✅
Berjalan dengan versi VMware dan VirtualBox saat ini
✅
❌
VM Terkelola
❌
✅
Kernel Linux Lengkap
❌
✅
Kompatibilitas panggilan sistem penuh
❌
✅
Performa di seluruh sistem file OS
✅
❌
dukungan systemd
❌
✅
Dukungan IPv6
✅
✅
Seperti yang Anda ketahui dari tabel perbandingan di atas, arsitektur WSL 2 mengungguli WSL 1 dalam beberapa cara, dengan pengecualian performa di seluruh sistem file OS, yang dapat ditangani dengan menyimpan file proyek Anda pada sistem operasi yang sama dengan alat yang Anda jalankan untuk mengerjakan proyek.
WSL 2 hanya tersedia di Windows 11 atau Windows 10, Versi 1903, Build 18362 atau yang lebih baru. Periksa versi Windows Anda dengan memilih kunci logo Windows + R, ketik winver, pilih OK. (Atau masukkan ver perintah di Prompt Perintah Windows). Anda mungkin perlu memperbarui ke versi Windows terbaru. Untuk build yang lebih rendah dari 14393, WSL tidak didukung sama sekali.
Untuk informasi selengkapnya tentang pembaruan WSL 2 terbaru, lihat blog Baris Perintah Windows, termasuk dukungan Systemd sekarang tersedia di pembaruan WSL dan WSL September 2023 untuk informasi selengkapnya tentang dukungan IPv6.
Catatan
WSL 2 akan bekerja dengan VMware 15.5.5+ dan meskipun VirtualBox 6+ menyatakan bahwa ada dukungan WSL, masih ada tantangan signifikan yang membuatnya tidak didukung. Pelajari lebih lanjut di FAQ kami .
Apa yang baru di WSL 2
WSL 2 adalah perombakan utama arsitektur yang mendasar dan menggunakan teknologi virtualisasi dan kernel Linux untuk mengaktifkan fitur baru. Tujuan utama pembaruan ini adalah untuk meningkatkan performa sistem file dan menambahkan kompatibilitas panggilan sistem penuh.
Pengalaman VM tradisional bisa lambat untuk di-boot, terisolasi, mengonsumsi banyak sumber daya, dan membutuhkan waktu Anda untuk mengelolanya. WSL 2 tidak memiliki atribut ini.
WSL 2 memberikan manfaat WSL 1, termasuk integrasi yang mulus antara Windows dan Linux, waktu boot cepat, jejak sumber daya kecil, dan tidak memerlukan konfigurasi atau manajemen VM. Sementara WSL 2 memang menggunakan VM, itu dikelola dan dijalankan di belakang layar, meninggalkan Anda dengan pengalaman pengguna yang sama dengan WSL 1.
Kernel Linux lengkap
Kernel Linux di WSL 2 dibangun oleh Microsoft dari cabang stabil terbaru, berdasarkan sumber yang tersedia di kernel.org. Kernel ini telah disetel secara khusus untuk WSL 2, mengoptimalkan ukuran dan performa untuk memberikan pengalaman Linux yang luar biasa di Windows. Kernel akan dilayankan oleh pembaruan Windows, yang berarti Anda akan mendapatkan perbaikan keamanan terbaru dan peningkatan kernel tanpa perlu mengelolanya sendiri.
Operasi intensif file seperti klon git, penginstalan npm, pembaruan apt, peningkatan apt, dan banyak lagi semuanya terasa lebih cepat dengan WSL 2.
Peningkatan kecepatan aktual akan tergantung pada aplikasi mana yang Anda jalankan dan bagaimana hal itu berinteraksi dengan sistem file. Versi awal WSL 2 berjalan hingga 20x lebih cepat dibandingkan dengan WSL 1 saat membuka kemasan tarball zip, dan sekitar 2-5x lebih cepat saat menggunakan klon git, npm instal dan cmake pada berbagai proyek.
Kompatibilitas panggilan sistem penuh
Biner Linux menggunakan panggilan sistem untuk melakukan fungsi seperti mengakses file, meminta memori, membuat proses, dan banyak lagi. Sedangkan WSL 1 menggunakan lapisan terjemahan yang dibangun oleh tim WSL, WSL 2 menyertakan kernel Linux sendiri dengan kompatibilitas panggilan sistem penuh. Manfaatnya mencakup:
Serangkaian aplikasi baru yang dapat Anda jalankan di dalam WSL, seperti Docker dan banyak lagi.
Setiap pembaruan ke kernel Linux segera siap digunakan. (Anda tidak perlu menunggu tim WSL menerapkan pembaruan dan menambahkan perubahan).
Pengecualian untuk menggunakan WSL 1 daripada WSL 2
Kami menyarankan agar Anda menggunakan WSL 2 karena menawarkan performa yang lebih cepat dan kompatibilitas panggilan sistem 100%. Namun, ada beberapa skenario tertentu di mana Anda mungkin lebih suka menggunakan WSL 1. Pertimbangkan untuk menggunakan WSL 1 jika:
File proyek Anda harus disimpan dalam sistem file Windows. WSL 1 menawarkan akses yang lebih cepat ke file yang dipasang dari Windows.
Jika Anda akan menggunakan distribusi WSL Linux Anda untuk mengakses file proyek pada sistem file Windows, dan file-file ini tidak dapat disimpan pada sistem file Linux, Anda akan mencapai performa yang lebih cepat di seluruh sistem file OS dengan menggunakan WSL 1.
Proyek yang memerlukan kompilasi silang menggunakan alat Windows dan Linux pada file yang sama.
Performa file di seluruh sistem operasi Windows dan Linux lebih cepat di WSL 1 daripada WSL 2, jadi jika Anda menggunakan aplikasi Windows untuk mengakses file Linux, Saat ini Anda akan mencapai performa yang lebih cepat dengan WSL 1.
Proyek Anda memerlukan akses ke port serial atau perangkat USB. Namun, dukungan perangkat USB sekarang tersedia untuk WSL 2 melalui proyek USBIPD-WIN. Lihat Koneksi perangkat USB untuk langkah-langkah penyuntingan.
Penggunaan memori WSL 2 tumbuh dan menyusut saat Anda menggunakannya. Ketika proses membebaskan memori, ini secara otomatis dikembalikan ke Windows. Namun, pada saat ini WSL 2 belum merilis halaman cache dalam memori kembali ke Windows sampai instans WSL dimatikan. Jika Anda memiliki sesi WSL yang berjalan lama, atau mengakses sejumlah besar file, cache ini dapat mengambil memori di Windows. Kami melacak pekerjaan untuk meningkatkan pengalaman ini pada masalah repositori WSL GitHub 4166.
Bagi mereka yang menggunakan VirtualBox, pastikan untuk menggunakan versi terbaru VirtualBox dan WSL 2. Lihat FAQ terkait.
Jika Anda mengandalkan distribusi Linux untuk memiliki alamat IP di jaringan yang sama dengan komputer host Anda, Anda mungkin perlu menyiapkan solusi untuk menjalankan WSL 2. WSL 2 berjalan sebagai komputer virtual hyper-v. Ini adalah perubahan dari adaptor jaringan yang dijejemahkan yang digunakan dalam WSL 1, yang berarti bahwa WSL 2 menggunakan layanan Network Address Translation (NAT) untuk jaringan virtualnya, alih-alih membuatnya dijenguk ke Network Interface Card (NIC) host yang menghasilkan alamat IP unik yang akan berubah saat dihidupkan ulang. Untuk mempelajari selengkapnya tentang masalah dan solusi yang meneruskan port TCP layanan WSL 2 ke OS host, lihat Masalah repositori WSL GitHub 4150, mode Jembatan NIC (Solusi TCP).
Catatan
Pertimbangkan untuk mencoba Ekstensi WSL Jarak Jauh Visual Studio Code untuk memungkinkan Anda menyimpan file proyek di sistem file Linux, menggunakan alat baris perintah Linux, tetapi juga menggunakan VISUAL Code di Windows untuk menulis, mengedit, men-debug, atau menjalankan proyek Anda di browser internet tanpa pelambatan performa yang terkait dengan bekerja di seluruh sistem file Linux dan Windows. Pelajari selengkapnya.
WSL di Microsoft Store
WSL telah mengangkat fungsionalitas pembaruan dari Gambar OS Windows ke dalam paket yang tersedia melalui Microsoft Store. Ini berarti pembaruan dan layanan yang lebih cepat segera setelah tersedia, daripada perlu menunggu pembaruan sistem operasi Windows Anda.
WSL awalnya disertakan dalam sistem operasi Windows sebagai komponen opsional yang perlu diaktifkan untuk menginstal distribusi Linux. WSL di Toko memiliki pengalaman pengguna yang sama, dan merupakan produk yang sama, tetapi menerima pembaruan dan layanan sebagai paket penyimpanan, bukan sebagai seluruh pembaruan OS. Dimulai di Windows versi 19044 atau lebih tinggi, menjalankan wsl.exe --install perintah akan menginstal pembaruan layanan WSL dari Microsoft Store. (Lihat posting blog yang mengumumkan pembaruan ini). Jika Anda sudah menggunakan WSL, Anda dapat memperbarui untuk memastikan bahwa Anda menerima fitur dan layanan WSL terbaru dari toko dengan menjalankan wsl.exe --update.
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Umpan balik Windows Subsystem for Linux
Windows Subsystem for Linux adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Dalam modul ini, Anda mempelajari cara menggunakan Subsistem Windows untuk Linux (WSL) dengan Visual Studio Code (VS Code). Kami menjelajahi proses penginstalan dan dasar-dasar penggunaan WSL. Selain itu, kami menginstal dan menggunakan ekstensi Visual Studio Code WSL. Terakhir, kami menunjukkan cara men-debug dan menjalankan kode Python di Visual Studio Code dalam lingkungan WSL kami.
Instal Subsistem Windows untuk Linux dengan perintah , wsl --install. Gunakan terminal Bash pada komputer Windows Anda yang dijalankan oleh distribusi Linux pilihan Anda - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, dan banyak lagi tersedia.