Membandingkan Versi WSL

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.

Arsitektur WSL 2

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.

Kernel Linux WSL 2 sumber terbuka. Jika Anda ingin mempelajari lebih lanjut, lihat posting blog Pengiriman Kernel Linux dengan Windows yang ditulis oleh tim yang membuatnya.

Pelajari selengkapnya di Catatan Rilis untuk kernel Subsistem Windows untuk Linux.

Peningkatan performa IO file

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.
  • WSL 2 tidak menyertakan dukungan untuk mengakses port serial. Pelajari lebih lanjut di FAQ atau di masalah repositori WSL GitHub tentang dukungan serial.
  • Anda memiliki persyaratan memori yang ketat
    • 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.