WSL trên Windows: Cài đặt và dùng hiệu quả

Hướng dẫn WSL cho Windows: WSL1 vs WSL2, cài đặt nhanh, dev cross‑platform, mẹo hiệu năng, FAQ. Tối ưu quy trình làm việc cho dev.

NHT
· 3 phút đọc
WSL trên Windows: Cài đặt và dùng hiệu quả

WSL là gì?

Windows Subsystem for Linux (WSL) là tính năng của Windows 10/11 cho phép chạy môi trường Linux ngay trên Windows. Bạn có được best‑of‑both‑worlds: app Windows quen thuộc + công cụ Linux mạnh mẽ. WSL ra mắt từ 2016 (WSL1) và nâng cấp lớn với WSL2 (kernel Linux thật) từ 2019. [Wikipedia]


WSL1 vs WSL2: Khác nhau ở đâu?

Tiêu chí

WSL1

WSL2

Kiến trúc

Lớp tương thích syscall

VM nhẹ với kernel Linux thật

Tương thích hệ thống

Hạn chế một số syscalls

Gần như đầy đủ

I/O trong Linux

Thấp hơn

Cao hơn rõ rệt

Truy cập file Windows từ Linux

Nhanh hơn

Chậm hơn

GUI app (WSLg)

Không

GPU cho AI/ML

Không

Có (CUDA on WSL)

Khuyến nghị: chọn WSL2 làm mặc định. Bạn vẫn có thể chạy song song WSL1 nếu có case đặc thù. [Learn Microsoft] [Developer NVIDIA]


Cài đặt WSL trên Windows (cực nhanh)

Yêu cầu: Windows 10 2004+ hoặc Windows 11, quyền admin.

  1. Mở PowerShell/Terminal (Admin) và chạy:
wsl --install

Lệnh này bật các thành phần cần thiết và cài distro Ubuntu mặc định. [Learn Microsoft]

  1. Khởi động lại máy → mở Ubuntu từ Start Menu → đặt username/password Linux.
  2. Cập nhật WSL và kernel khi cần:
wsl --update
  1. Đặt WSL2 làm mặc định (nếu cần):
wsl --set-default-version 2

Cài distro khác (tùy chọn):

wsl --install -d Debian

Bạn có thể làm gì với WSL?

  • Chạy ứng dụng Linux và tool CLI: grep, sed, awk, git, lsb_release…
    • Dùng WSLg để chạy GUI app Linux như GIMP ngay trong Windows. [Learn Microsoft]
  • Dev cross‑platform: Node, Python, Ruby, Go… trong Linux, nhưng vẫn xài VS Code trên Windows với extension Remote – WSL. [VS Code]
  • AI/ML có GPU: chạy TensorFlow, PyTorch trên WSL2 với CUDA tăng tốc. [Learn Microsoft]
  • Truy cập file 2 chiều:
    • Từ Linux → Windows: /mnt/c, /mnt/d
    • Từ Windows → Linux: \wsl$<DistroName>
  • Thiết lập dịch vụ: MySQL, PostgreSQL, Nginx/Apache để dev web nhanh gọn.

Ví dụ nhanh Python:

mkdir hello && cd hello
printf 'print("Xin chào từ Python trên Ubuntu!")\\n' > [hello.py](<http://hello.py>)
python3 [hello.py](<http://hello.py>)

Tài liệu Microsoft “What is WSL” mô tả chi tiết các khả năng này. [Learn Microsoft]


Mẹo hiệu năng và thực hành tốt

  • Dự án WSL2 nên để trong Linux FS: /home/<user>/projects để I/O nhanh.
  • Tránh thao tác nặng ở /mnt/c (NTFS) từ Linux.
  • VS Code: dùng “Remote – WSL” để mở thư mục Linux trực tiếp.
  • Nếu bật systemd trong WSL2, chỉ kích hoạt dịch vụ cần thiết để tiết kiệm tài nguyên.
  • Giải phóng RAM khi cần: wsl --shutdown.
  • Với monorepo lớn: exclude thư mục build/cache khỏi index của IDE.

FAQ

  • WSL2 có nặng máy không?
    • RAM dùng theo nhu cầu và giải phóng khi wsl --shutdown. Máy ít RAM vẫn ổn nếu quản lý dịch vụ tốt.
  • Dùng song song WSL1 và WSL2 được không?
    • Được. Có thể gán version riêng cho từng distro bằng wsl --set-version <Distro> 1|2.
  • Có chạy app Linux có GUI không?
  • Tôi nên chọn distro nào?
    • Ubuntu là mặc định, dễ dùng. Bạn có thể thử Debian, Kali… tùy nhu cầu.
  • Có hỗ trợ GPU cho AI/ML?
    • Có trên WSL2 (CUDA on WSL). Cần driver và thiết lập theo hướng dẫn của NVIDIA/Microsoft. [Developer NVIDIA]

Kết luận

WSL biến Windows thành “máy đa hệ”: giữ tiện lợi Windows, thêm sức mạnh Linux. Chọn WSL2, đặt project đúng chỗ, dùng VS Code Remote – WSL, bạn sẽ có trải nghiệm dev vừa nhanh vừa mượt.