- WSL2 tích hợp các bản phân phối Linux thực sự vào Windows, với nhân đầy đủ và hỗ trợ lệnh gọi hệ thống đầy đủ.
- Quá trình cài đặt được đơn giản hóa bằng lệnh wsl --install, cho phép các thành phần, cài đặt kernel và cấu hình Ubuntu theo mặc định.
- Sự kết hợp giữa WSL2, Windows Terminal và VS Code cho phép tạo ra môi trường phát triển gần giống với môi trường sản xuất.
- WSL2 cải thiện đáng kể việc sử dụng Docker, cơ sở dữ liệu và các công cụ Linux, đồng thời vẫn duy trì sự tiện lợi của máy tính để bàn Windows.
Nếu bạn lập trình trên Windows nhưng triển khai trên máy chủ Linux, có lẽ bạn đã từng gặp khó khăn không chỉ một lần với sự khác biệt về môi trường, các thư viện chỉ gặp lỗi khi chạy trên môi trường thực tế, hoặc Docker chạy không ổn định. WSL được tạo ra chính xác để tránh cơn ác mộng đó, và với WSL2 Microsoft cuối cùng đã giải quyết được vấn đề: một Linux gần như bản địa, được tích hợp vào Windows và không cần phải thiết lập máy ảo nặng nề.
Đây đã là lựa chọn ưu tiên của hàng ngàn nhà phát triển vì nó cho phép bạn mở terminal Ubuntu, Debian hoặc Kali trong Windows 10 hoặc 11, chạy lệnh, Docker, cơ sở dữ liệu hoặc công cụ dòng lệnh như trên máy chủ Linux mà không cần phải sử dụng các ứng dụng và trò chơi Windows. Hãy cùng tìm hiểu cách thức hoạt động, cách cài đặt, sự khác biệt so với WSL1 và cách tận dụng tối đa công cụ này trong công việc hàng ngày của bạn.
WSL là gì và tại sao nó lại thay đổi cuộc sống của nhà phát triển Windows?
WSL là từ viết tắt của Windows Subsystem cho LinuxHệ thống con cho phép bạn chạy các bản phân phối GNU/Linux trong Windows mà không cần máy ảo truyền thống hoặc khởi động kép. Bạn có thể cài đặt Ubuntu, Debian, Kali, openSUSE, Arch (sử dụng appx) hoặc các bản phân phối khác và sử dụng các công cụ điều khiển của chúng trực tiếp từ màn hình nền Windows.
Không giống như WSL1, WSL2 Nó sử dụng một hạt nhân Linux thực sự Nó chạy trên một máy ảo nhẹ được quản lý bởi Windows (Hyper-V và nền tảng máy ảo), hỗ trợ đầy đủ các lệnh gọi hệ thống ELF64. WSL1 là một lớp dịch hệ thống, nhanh cho một số tác vụ nhất định nhưng có những hạn chế nghiêm trọng về khả năng tương thích, đặc biệt là với các công cụ như Docker.
Đối với các nhà phát triển web, nhà phát triển backend, DevOps hoặc chuyên gia dữ liệu, điều này có nghĩa là bạn có thể làm việc trong một môi trường gần giống với môi trường sản xuất (trong hầu hết các trường hợp là Linux), sử dụng cùng các thư viện, trình quản lý cơ sở dữ liệu, hàng đợi, máy chủ nhắn tin, v.v. mà không phải rời bỏ Windows. Câu cửa miệng "nó hoạt động trên máy của tôi" giờ đã là chuyện cũ vì bạn phát triển trên Windows và triển khai trên một bản phân phối Linux hoàn toàn khác.
WSL2 không phải là một máy tính để bàn đồ họa Linux hoàn chỉnh Tương tự như máy ảo GNOME hoặc KDE, giao diện chính là terminal. Tuy nhiên, ngày nay bạn cũng có thể chạy các ứng dụng GUI Linux trên WSL2, và thậm chí tận dụng khả năng tăng tốc GPU cho các khối lượng công việc như học máy hoặc đồ họa nâng cao. Nếu cần truy cập ứng dụng từ xa, bạn có thể cấu hình Chrome Remote Desktop trên Windows.
Windows so với Linux: vấn đề môi trường phát triển cổ điển
Windows vẫn là hệ điều hành được cài đặt nhiều nhất trên máy tính để bànTrong khi hầu hết các triển khai ứng dụng sản xuất đều được thực hiện trên Linux, tính chất kép này luôn tạo ra xung đột cho các nhà phát triển làm việc trên Windows nhưng bảo trì hoặc triển khai ứng dụng trên máy chủ Linux.
người dùng macOS theo truyền thống đã trải nghiệm ít ma sát hơn Bởi vì macOS chia sẻ nền tảng tương tự Unix, và nhiều công cụ hoạt động tương tự Linux. Đó là một trong những lý do khiến nhiều nhà phát triển chuyển sang Mac nhiều năm trước: họ tìm kiếm một thiết bị đầu cuối tốt và môi trường gần với môi trường sản xuất hơn.
Bước ngoặt lớn đã đến với phu bến tàuContainer trở nên thiết yếu cho quá trình phát triển và triển khai, nhưng trên Windows, hiệu suất và trải nghiệm người dùng khá kém, với các lớp tương thích không hiệu quả. WSL2 giải quyết nhiều vấn đề này, cung cấp một môi trường mà Docker hoạt động tốt hơn nhiều.
WSL1 so với WSL2: sự khác biệt và lý do tại sao bạn nên sử dụng phiên bản 2
WSL tồn tại ở hai phiên bản chính: WSL1 và WSL2Mặc dù cả hai đều cho phép bạn chạy Linux trên Windows, nhưng kiến trúc của chúng đã thay đổi rất nhiều và điều đó thể hiện rõ qua hiệu suất và khả năng tương thích.
- WSL1 dịch các lệnh gọi hệ thống Linux vào nhân Windows. Điều này mang lại thời gian khởi động rất nhanh và khả năng tích hợp tệp tốt, nhưng khả năng tương thích hạn chế với một số ứng dụng, đặc biệt là những ứng dụng cần nhân Linux thực sự, chẳng hạn như một số công cụ cơ sở dữ liệu hoặc Docker chạy hết công suất.
- WSL2 sử dụng máy ảo nhẹ với hạt nhân Linux đầy đủ.Được quản lý bởi Windows. Nó cung cấp khả năng tương thích hoàn toàn với các lệnh gọi hệ thống, cải thiện hiệu suất hệ thống tệp (đặc biệt là trên chính hệ thống tệp Linux) và hỗ trợ các tính năng nâng cao như Docker gốc trên WSL2 và truy cập trực tiếp vào kernel.
- Cả hai phiên bản đều có một số tính năng chungƯu điểm của nó bao gồm tích hợp với Windows, thời gian khởi động nhanh, tương thích với các công cụ ảo hóa như VMWare hoặc VirtualBox (trong các phiên bản gần đây) và hỗ trợ nhiều bản phân phối. Tuy nhiên, chỉ WSL2 mới có kernel Linux đầy đủ và hỗ trợ lệnh gọi hệ thống hoàn chỉnh.
Tất cả những điều trên, Tùy chọn được đề xuất hiện nay là sử dụng WSL2Trừ khi bạn có lý do rất cụ thể để tiếp tục sử dụng WSL1. Ví dụ, Docker Desktop được thiết kế để tích hợp với WSL2, và nhiều hướng dẫn và công cụ hiện đại đã coi phiên bản này là tiêu chuẩn.

Yêu cầu để cài đặt WSL2 trên Windows 10 và Windows 11
Để sử dụng WSL2, bạn cần có phiên bản Windows tương đối mới. Nhìn chung, bạn phải đáp ứng các điều kiện sau:
- Windows 10 phiên bản 2004 trở lên (bản dựng 19041 trở lên) sử dụng lệnh đơn giản hóa
wsl --install. - Riêng đối với WSL2, Windows 10 phiên bản 1903, bản dựng 18362 trở lênhoặc Windows 11.
- Kiến trúc 64 bitWSL2 không khả dụng trên Windows 10 32-bit.
Bên cạnh đó, Bạn phải đảm bảo rằng ảo hóa được bật trong BIOS của nhóm bạn. Nếu không, bạn có thể gặp phải các lỗi như 0x80370102Những thông báo này thường cho biết tính năng ảo hóa phần cứng không hoạt động. Hãy vào BIOS/UEFI, tìm các tùy chọn liên quan đến CPU hoặc "Công nghệ Ảo hóa" và bật nó lên.
Cài đặt WSL2 từ đầu bằng lệnh wsl –install
Trong các phiên bản Windows 10 và Windows 11 hiện đại, việc cài đặt đã được đơn giản hóa rất nhiều: chỉ cần một lệnh và khởi động lại.
1. Mở PowerShell với tư cách quản trị viênTìm kiếm “PowerShell” trong menu Bắt đầu, nhấp chuột phải và chọn “Chạy với tư cách quản trị viên”. Chấp nhận lời nhắc Kiểm soát tài khoản người dùng (UAC) nếu xuất hiện.
2. Chạy lệnh cài đặt hoàn chỉnh:
Lệnh: wsl --install
Lệnh này xử lý một số bước nội bộ mà bạn không cần phải động vào bất cứ thứ gì khác:
- Kích hoạt các thành phần tùy chọn cần thiết: Hệ thống con Windows cho Linux y Nền tảng máy ảo.
- Tải xuống và cài đặt hạt nhân Linux mới nhất cho WSL.
- Cấu hình WSL2 là phiên bản mặc định.
- Tải xuống và cài đặt bản phân phối Linux mặc định (thường là Ubuntu).
3. Khởi động lại máy tính khi Windows yêu cầu.Điều này rất cần thiết để các tính năng mới được kích hoạt có thể hoạt động.
4. Khi khởi động lần đầu tiên bản phân phối Linux (Ubuntu, trừ khi bạn chỉ định khác), một cửa sổ bảng điều khiển sẽ mở ra để giải nén các tệp. Lần đầu tiên sẽ mất nhiều thời gian hơn một chút; các lần khởi động tiếp theo thường diễn ra gần như ngay lập tức.
Chọn và thay đổi bản phân phối Linux trong WSL
- Theo mặc định, lệnh
wsl --installthường cài đặt Ubuntu là bản phân phối mặc định. Tuy nhiên, bạn có thể chọn một bản phân phối khác trong và sau khi cài đặt. - Để xem danh sách các bản phân phối có sẵn trực tuyếnMở PowerShell và nhập:
- Danh sách:
wsl.exe --list --online - Để cài đặt một bản phân phối cụ thể từ bảng điều khiển, sử dụng tùy chọn
-dghi rõ tên của bạn: - Cài đặt bản phân phối:
wsl.exe --install -d NombreDeLaDistro - Nếu bạn muốn thay đổi bản phân phối mặc định (cái mở ra khi bạn chỉ cần chạy
wsl), bạn có thể làm: - Mặc định:
wsl.exe --set-default NombreDeLaDistro - Và nếu bạn chỉ muốn tung ra một bản phân phối cụ thể một lần Không thay đổi mặc định, hãy sử dụng:
- Ra mắt đúng giờ:
wsl.exe --distribution NombreDeLaDistro
Ngoài các bản phân phối của Microsoft Store, Có thể nhập các bản phân phối tùy chỉnh từ tệp TAR hoặc cài đặt các gói .appx trong vài trường hợpchẳng hạn như Arch Linux. Bạn thậm chí có thể tạo hình ảnh WSL tùy chỉnh của riêng mình để chuẩn hóa môi trường trong công ty.

Cấu hình tên người dùng và mật khẩu Linux của bạn trong WSL
Lần đầu tiên bạn mở bản phân phối Linux được cài đặt với WSLBạn sẽ được nhắc tạo tên người dùng và mật khẩu UNIX. Tài khoản này sẽ là người dùng mặc định cho bản phân phối đó.
Hãy ghi nhớ một số thông tin quan trọng về người dùng này:
- Nó không được liên kết với tài khoản người dùng Windows của bạn.; bạn có thể (và điều này được khuyến khích) đặt tên khác.
- Khi bạn nhập mật khẩu, sẽ không có gì hiển thị trên màn hình. (Không có dấu sao). Điều này được gọi là đầu vào "mù", hoàn toàn bình thường trong Linux.
- Người dùng này được coi là quản trị viên trên bản phân phối đó và có thể sử dụng
sudođể thực hiện các lệnh có quyền cao hơn. - Mỗi bản phân phối có một tập hợp người dùng riêng và mật khẩu; nếu bạn thêm bản phân phối mới, bạn sẽ phải lặp lại quy trình tạo tài khoản.
Nếu bạn muốn đổi mật khẩu Tiếp theo, mở bản phân phối và chạy: Đổi mật khẩu: passwd
Nếu bạn quên mật khẩu người dùng cho bản phân phối Nhưng nếu bạn vẫn có quyền quản trị viên trong Windows, bạn có thể lấy lại quyền kiểm soát như sau:
- Mở Command Prompt hoặc PowerShell với tư cách quản trị viên và đăng nhập với tư cách là root trên bản phân phối mặc định:
wsl -u root
Đối với một bản phân phối cụ thể:
wsl -d NombreDistro -u root - Bên trong thiết bị đầu cuối gốc đó, chạy:
passwd nombre_usuariovà đặt mật khẩu mới. - Đăng xuất khỏi WSL với
exitvà đăng nhập lại bình thường bằng tài khoản người dùng đã khôi phục.
Các cách khởi động và sử dụng bản phân phối Linux của bạn trên Windows
Sau khi bạn đã cài đặt một số bản phân phốiBạn có thể mở chúng theo nhiều cách khác nhau, tùy thuộc vào cách nào thuận tiện nhất cho bạn tại thời điểm đó.
- Windows Terminal (khuyến nghị). Windows Terminal là trình giả lập terminal hiện đại của Microsoft. Mỗi khi bạn cài đặt một bản phân phối Linux mới trong WSL, một cấu hình mới sẽ xuất hiện trong Windows Terminal, bạn có thể tùy chỉnh (biểu tượng, bảng màu, lệnh khởi động, v.v.). Đây là cách thuận tiện nhất để làm việc với nhiều dòng lệnh cùng lúc.
- Từ menu Bắt đầu. Bạn có thể nhập tên bản phân phối (“Ubuntu”, “Debian”, “Kali Linux”…). Nhấp vào đó sẽ mở trực tiếp trong cửa sổ bảng điều khiển riêng.
- Từ PowerShell hoặc CMD. Bạn có thể trực tiếp nhập tên của bản phân phối (ví dụ:
ubuntu) hoặc sử dụng lệnh chung:
wslđể vào bản phân phối mặc định hoặc
wsl -d NombreDistrođể nhập một cái cụ thể. - Thực hiện lệnh Linux cụ thể từ Windows. Sử dụng cú pháp:
wsl
Ví dụ:wsl ls -la,wsl pwd,wsl datev.v. Bằng cách này, bạn có thể kết hợp các lệnh Windows và Linux trong cùng một đường ống.

Windows Terminal: người bạn đồng hành hoàn hảo cho WSL2
Để tận dụng tối đa WSL2, bạn nên cài đặt Thiết bị đầu cuối Windows từ Microsoft Store. Nó tiện lợi và mạnh mẽ hơn nhiều so với Command Prompt cổ điển hoặc thậm chí là cửa sổ PowerShell mặc định.
Windows Terminal cho phép tạo hồ sơ cho từng bản phân phốiXác định thiết bị đầu cuối nào mở theo mặc định (PowerShell, CMD, Ubuntu, v.v.), sử dụng tab, bảng điều khiển chia đôi, chủ đề màu khác nhau, phông chữ tùy chỉnh, hình nền và phím tắt nâng cao.
Đối với nhiều nhà phát triển trên WindowsWindows Terminal + WSL2 là sự kết hợp gần nhất với trải nghiệm làm việc của hệ thống Linux gốc hoặc macOS với một thiết bị đầu cuối nâng cao mà không cần phải thoát khỏi môi trường Windows thông thường của bạn.
Thiết lập môi trường phát triển của bạn: VS Code, Visual Studio, Git và cơ sở dữ liệu
Khi WSL2 đã được thiết lập và chạy, bước hợp lý tiếp theo là tích hợp trình soạn thảo hoặc IDE yêu thích của bạn với môi trường đó. Microsoft đã nỗ lực rất nhiều để làm cho Visual Studio Code và Visual Studio hoạt động hoàn hảo với WSL.
Mã VS
Lý tưởng nhất là bạn nên cài đặt Gói phát triển từ xaTiện ích mở rộng này cho phép bạn mở một thư mục nằm trong WSL như thể nó là một dự án cục bộ, nhưng chạy máy chủ VS Code trong bản phân phối. Chỉ cần nhập:
code .
Từ thiết bị đầu cuối WSL, trong thư mục dự án của bạn, VS Code sẽ mở đường dẫn "từ xa" đó với toàn bộ hệ sinh thái của nó: tiện ích mở rộng, gỡ lỗi, thiết bị đầu cuối tích hợp, v.v., nhưng thực tế là hoạt động trên Linux.
Visual Studio
Nó cho phép bạn cấu hình WSL làm mục tiêu cho các dự án C++ bằng CMake. Bạn có thể biên dịch và gỡ lỗi trên Windows, WSL hoặc máy từ xa, chuyển đổi mục tiêu ngay trong IDE.
Về kiểm soát phiên bản, sử dụng Git trong WSL cũng đơn giản như cài đặt nó với trình quản lý gói của bản phân phối của bạn (ví dụ: sudo apt install git (trên Ubuntu) và cấu hình thông tin xác thực, tệp loại trừ, kết thúc dòng, v.v. Bạn cũng có thể sử dụng Windows Credential Manager để tích hợp xác thực.
Cấu hình cơ sở dữ liệu trong WSL (MySQL, PostgreSQL, MongoDB, Redis, SQL Server, SQLite, v.v.) rất giống với việc thực hiện trên bất kỳ máy chủ Linux nào. Bạn có thể khởi động các dịch vụ trong bản phân phối hoặc sử dụng container Docker trên WSL2, sau đó kết nối các ứng dụng của mình từ Windows hoặc từ chính WSL, tùy theo nhu cầu.
Quản lý ổ đĩa ngoài, GUI và bản sao lưu của các bản phân phối
WSL2 cũng cho phép gắn ổ đĩa ngoài hoặc ổ USB trực tiếp trong môi trường Linux. Có tài liệu cụ thể để gắn đĩa bằng lệnh wsl --mountĐiều này mang lại cho bạn nhiều sự linh hoạt khi làm việc với dữ liệu bạn có trong các đơn vị khác.
Nếu bạn muốn chạy các ứng dụng đồ họa Linux (GUI) trong WSL2 giờ đây đã khả thi nhờ sự hỗ trợ của Microsoft dành cho các ứng dụng GUI. Điều này cho phép bạn mở các trình soạn thảo đồ họa, công cụ thiết kế hoặc môi trường máy tính để bàn nhẹ mà không cần phải khởi động máy ảo truyền thống.
Để làm sao lưu hoặc di chuyển toàn bộ bản phân phối sang máy tính khácWSL bao gồm hai lệnh rất hữu ích:
- Xuất bản một bản phân phối:
wsl --export NombreDistro backup-wsl.tar
Thao tác này sẽ tạo ra một tệp TAR có toàn bộ hệ thống tệp của nó. - Nhập bản phân phối:
wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
Thao tác này sẽ khôi phục bản phân phối đó cùng với toàn bộ nội dung của nó sang một đường dẫn khác và nếu muốn, đảm bảo rằng nó sử dụng WSL2.
Cơ chế xuất/nhập này rất tiện lợi để sao chép môi trường phát triển, chia sẻ chúng với đồng nghiệp hoặc chỉ đơn giản là duy trì bản sao lưu bảo mật trước khi thực hiện những thay đổi lớn.
WSL2 đã khẳng định mình là môi trường phát triển chính Đối với nhiều người dùng Windows không muốn từ bỏ việc chơi game, sử dụng phần mềm cụ thể hoặc quy trình làm việc trên hệ thống này nhưng cần một môi trường Linux thực sự để lập trình, thì việc dùng thử WSL2 có thể là một bước ngoặt đối với cách bạn làm việc.
Biên tập viên chuyên về các vấn đề công nghệ và internet với hơn mười năm kinh nghiệm trong các lĩnh vực truyền thông kỹ thuật số khác nhau. Tôi đã từng làm biên tập viên và người sáng tạo nội dung cho các công ty thương mại điện tử, truyền thông, tiếp thị và quảng cáo trực tuyến. Tôi cũng đã viết trên các trang web kinh tế, tài chính và các lĩnh vực khác. Công việc của tôi cũng là niềm đam mê của tôi. Bây giờ, qua bài viết của tôi trong Tecnobits, Tôi cố gắng khám phá tất cả những tin tức và cơ hội mới mà thế giới công nghệ mang đến cho chúng ta hàng ngày để cải thiện cuộc sống của chúng ta.
