Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Lỗi Windows

Cách cài đặt WSL trên Windows 10

Microsoft giới thiệu WSL (Windows Subsystem for Linux) năm 2017, cho phép người dùng chạy các lệnh và công cụ Linux khác nhau trong giao diện dòng lệnh trên PC Windows (không cần HyperV hay dual boot).

Năm 2019, Microsoft công bố phiên bản mới của WSL, tên là WSL 2. Phiên bản này hỗ trợ chạy ứng dụng Linux đồ họa trên Windows và sử dụng kernel Linux hoạt động đầy đủ với hiệu suất I/O file tốt hơn và system call nhanh hơn. Một thành tựu tuyệt vời khác của WSL 2 là được hỗ trợ trên phiên bản Home của Windows 10, trong khi WSL 1 chỉ hỗ trợ Windows 10 Pro.

Cách cài đặt WSL trên Windows 10

Yêu cầu để bật tính năng WSL

Máy tính của người dùng phải đáp ứng các yêu cầu sau để bật tính năng WSL:

  • Hỗ trợ Hyper V
  • Phiên bản Windows 64-bit
  • Windows 10 phiên bản 1903 trở lên. Đối với máy ARM, Windows 10 phiên bản 2004 trở lên. Windows 11 hỗ trợ WSL 2 gốc.

Nếu máy tính không đáp ứng yêu cầu này, bạn chỉ có thể dùng WSL 1 và làm theo hướng dẫn dưới nhưng bỏ qua phần liên quan đến WSL 2 (như đặt phiên bản mặc định là WSL 2).

Nếu máy đáp ứng yêu cầu hệ thống của WSL 2, bạn có thể làm theo hướng dẫn dưới đây:

Cài đặt WSL qua PowerShell

Microsoft đã giúp người dùng dễ dàng hơn bằng cách dùng một lệnh PowerShell duy nhất để cài đặt tính năng WSL cùng với cài đặt Ubuntu mặc định (có thể thay đổi). Lệnh này sẽ bật thành phần WSL cần thiết, tải và cài đặt kernel Linux mới nhất, đặt WSL 2 làm mặc định và cài đặt Ubuntu. Làm theo các bước dưới để thiết lập WSL với một lệnh (lệnh này chỉ hỗ trợ Windows 10 2004 trở lên):

  1. Chuột phải Windows và chọn PowerShell (Admin).
  2. Thực thi lệnh sau:
    wsl --install
    Cách cài đặt WSL trên Windows 10
  3. Đợi cho đến khi quá trình cài đặt tất cả thành phần hoàn tất và sau đó khởi động lại PC.
  4. Sau reboot, bạn có thể thiết lập phân phối Ubuntu theo yêu cầu (thảo luận sau) và sẵn sàng khám phá Linux.

Bạn có thể dùng ứng dụng Ubuntu trong menu Start Windows hoặc dùng ứng dụng Windows Terminal để khám phá các tính năng Ubuntu.

Cài đặt bản phân phối Linux không mặc định qua lệnh PowerShell

Nếu người dùng muốn cài đặt bản phân phối khác thay vì Ubuntu mặc định? Đừng lo, đây là quy trình đơn giản:

  1. Mở Windows PowerShell (Admin) và thực thi lệnh sau để kiểm tra danh sách bản phân phối Linux có sẵn cho WSL:
    wsl --list --online

    hoặc

    wsl -l -o
    Cách cài đặt WSL trên Windows 10
  2. Kiểm tra danh sách bản phân phối Linux có sẵn và tìm bản phù hợp yêu cầu. Thường có các bản sau:
    Ubuntu Debian kali-linux opensuse-42 SLES-12
  3. Thực thi lệnh sau để cài đặt bản phân phối Linux cần thiết (thay bằng tên bản phân phối):
    wsl --install -d <Distribution Name>

    Ví dụ, để cài đặt Debian, dùng lệnh:

    wsl --install -d Debian
    Cách cài đặt WSL trên Windows 10
  4. Đợi cài đặt hoàn tất và khởi động lại hệ thống.

Sau reboot, thiết lập bản phân phối Linux theo yêu cầu (như thảo luận sau).

Cài đặt bản phân phối Linux tùy chỉnh

Có người dùng cần dùng bản phân phối Linux không có trong Microsoft Store. Những người này có thể tham khảo trang tham khảo chính thức của Microsoft để nhập bất kỳ bản phân phối Linux nào để dùng với WSL (không trong phạm vi bài viết này).

Cài đặt nhiều bản phân phối Linux trong WSL

Nếu người dùng muốn dùng nhiều bản phân phối Linux, có thể làm theo lệnh đã thảo luận trong PowerShell (đừng quên thay bằng tên bản phân phối, ví dụ Debian):

wsl --install -d <Distribution Name>

Trường hợp cài nhiều bản phân phối, người dùng có thể kiểm tra các bản phân phối WSL đã cài đặt bằng cách thực thi một trong các lệnh sau trong PowerShell (Admin):

wsl -l -v

hoặc

wsl --list --all
Cách cài đặt WSL trên Windows 10

Lưu ý: nếu bạn thực thi lệnh WSL trong bash, hãy thêm .exe vào cuối WSL, ví dụ: để cài bản phân phối Linux từ bên trong bash, thực thi:

wsl.exe --install -d <Distribution Name>

Cài đặt WSL trên Server

Nếu bạn cài đặt WSL trên máy chủ, có thể tham khảo Hướng dẫn cài đặt WSL cho Windows Server chính thức của Microsoft.

Cài đặt WSL trên Windows dựa trên VM

Nếu người dùng cài đặt WSL trên Windows dựa trên VM, có thể thực thi lệnh sau trong PowerShell (Admin) của host để mở rộng cờ ảo hóa của host cho VM:

Set-VMProcessor -VMName MyWSL -ExposeVirtualizationExtensions $true

Xác nhận cài đặt bản phân phối Linux và phiên bản WSL

Để xác nhận các bản phân phối Linux đã cài đặt thành công và phiên bản WSL được đặt là WSL 2, người dùng có thể thực thi các lệnh sau (mỗi lệnh một) trong PowerShell (Admin):

wsl.exe --list --all wsl --list --verbose
Cách cài đặt WSL trên Windows 10

Sử dụng phương pháp GUI để cài đặt WSL

Nhiều người dùng Windows không thích dùng dòng lệnh để cài đặt ứng dụng/tiện ích. Ngoài ra, WSL phiên bản 1 không thể cài đặt bằng lệnh PowerShell đơn lẻ như đã thảo luận. Hơn nữa, người dùng Windows 10 phiên bản 1903 và 1909 không thể dùng phương pháp cài đặt WSL. Vì vậy, đây là phương pháp dựa trên GUI để dùng WSL trên Windows.

Bật tính năng WSL trên Windows 10

  1. Nhấn Windows, tìm và mở Turn Windows Features on or off.Cách cài đặt WSL trên Windows 10
  2. Bật hai tính năng sau bằng cách tích vào ô checkbox:
    Virtual Machine Platform Windows Subsystem for Linux
    Cách cài đặt WSL trên Windows 10
  3. Nhấn nút OK và để hệ thống tải/cài đặt các file liên quan (đảm bảo có kết nối Internet).
  4. Sau khi xong, khởi động lại hệ thống.

Windows Subsystem for Linux (WSL) cũng có thể bật bằng cách thực thi lệnh sau trong PowerShell (Admin):

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Cách cài đặt WSL trên Windows 10

Virtual Machine Platform có thể bật bằng cách thực thi lệnh sau trong PowerShell (Admin):

Đối với Windows Version 2004 trở lên:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Cách cài đặt WSL trên Windows 10

Đối với Windows Version 1903 và 1909:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

Tải và cài đặt bản cập nhật Kernel WSL mới nhất

Sau khi bật các tính năng cần thiết, người dùng phải cập nhật kernel WSL.

  1. Tải bản cập nhật kernel WSL mới nhất từ Microsoft. Người dùng máy ARM64 có thể tải gói ARM64 WSL.
  2. Sau khi tải xong, chuột phải vào file, chọn Run as Administrator, và làm theo hướng dẫn để cập nhật kernel WSL.Cách cài đặt WSL trên Windows 10

Đặt phiên bản mặc định của WSL thành WSL 2

Sau khi cập nhật kernel WSL, người dùng phải đặt phiên bản WSL mặc định thành 2. Trước đó, kiểm tra phiên bản WSL nào được đặt làm mặc định bằng cách thực thi lệnh sau trong PowerShell (Admin):

wsl -l -v

Nếu WSL 2 không phải là mặc định, mở PowerShell (Admin) và thực thi:

wsl --set-default-version 2
Cách cài đặt WSL trên Windows 10

Điều này sẽ thay đổi WSL cho tất cả cài đặt mới của bản phân phối Linux thành WSL 2. Nếu người dùng đã cài đặt bản phân phối với WSL, có thể thực thi lệnh sau (thay bằng tên bản phân phối) để đổi phiên bản WSL của nó thành 2:

wsl --set-version <DistributionName> 2

Ví dụ:

wsl --set-version Ubuntu 2
Cách cài đặt WSL trên Windows 10

Cài đặt bản phân phối Linux từ Microsoft Store

Sau khi thiết lập phiên bản WSL mặc định thành 2, người dùng phải cài đặt bản phân phối Linux.

  1. Nhấn Windows, tìm và mở Microsoft Store.
  2. Tìm bản phân phối Linux ưa thích. Danh sách các bản phân phối có sẵn:
    Ubuntu openSUSE Leap 15.1 SUSE Linux Enterprise Server 12 SP5 Kali Linux Debian GNU/Linux Fedora Remix for WSL Pengwin Pengwin Enterprise Alpine WSL Raft (Free Trial)
  3. Chọn bản phân phối Linux mong muốn và nhấn Get.
  4. Nhấn Install và để bản phân phối cài đặt (ví dụ Ubuntu).
  5. Sau đó, khởi động lại hệ thống và cấu hình bản phân phối như bước tiếp theo.Cách cài đặt WSL trên Windows 10

Cấu hình bản phân phối Linux sau khi cài đặt

  1. Sau khi bản phân phối Linux được cài đặt, khởi chạy nó (từ menu Start hoặc công cụ dòng lệnh) và cửa sổ Command Prompt sẽ hiển thị.
  2. Nhập tên người dùng (chữ thường) cho Ubuntu (có thể khác thông tin đăng nhập Windows).
  3. Nhập mật khẩu cho tài khoản Ubuntu và sau đó xác nhận mật khẩu.Cách cài đặt WSL trên Windows 10
  4. Bây giờ sử dụng các lệnh Linux khác nhau theo yêu cầu.
  5. Để thoát bash Ubuntu, thực thi Exit trong bash.

Các phương pháp mở bản phân phối Linux trong WSL

Có nhiều phương pháp mở bản phân phối Linux đã cài đặt trong Windows:

  1. Gõ tên bản phân phối Linux trong menu Start Windows và khởi chạy từ đó.Cách cài đặt WSL trên Windows 10
  2. Từ Windows Command Prompt hoặc PowerShell sau khi gõ tên bản phân phối (như Ubuntu) và nhấn Enter.
  3. Thực thi WSL.exe trong Command Prompt hoặc PowerShell để mở terminal Linux trong shell hiện tại hoặc dùng wsl [command] để thực thi lệnh WSL. Trường hợp nhiều bản phân phối, người dùng có thể cấu hình bản phân phối mặc định bằng lệnh:
    wsl -s <DistributionName>

    Ví dụ

    wsl -s Debian
  4. Để mở bản phân phối WSL cụ thể, thực thi lệnh sau trong PowerShell (Admin):
    wsl -d <DistributionName>
  5. Cuối cùng và cũng là yêu thích của chúng tôi: Windows Terminal.

Cài đặt Windows Terminal

Windows Terminal là trình giả lập terminal của Microsoft hỗ trợ nhiều tab và thay thế cho Windows console. Việc sử dụng WSL trở nên rất dễ dàng với Windows Terminal. Để cài đặt Windows Terminal:

  1. Mở Microsoft Store và tìm Windows Terminal.
  2. Nhấn Get rồi Install.
  3. Sau khi cài xong, khởi chạy và dùng để thực thi lệnh WSL.Cách cài đặt WSL trên Windows 10

Cập nhật bản phân phối Linux và Kernel lên bản mới nhất

Sau khi cấu hình bản phân phối Linux, bước đầu tiên nên cập nhật nó vì Microsoft không tự động cập nhật các bản phân phối này. Để làm vậy, thực thi lệnh sau trong bash Linux:

sudo apt update && sudo apt upgrade
Cách cài đặt WSL trên Windows 10

Để cập nhật kernel WSL, thực thi lệnh sau trong PowerShell (Admin):

wsl –update
Cách cài đặt WSL trên Windows 10

Để kiểm tra trạng thái chung của WSL, thực thi lệnh sau trong PowerShell (Admin):

wsl --status

Cài đặt các gói Linux phổ biến

Sau khi cập nhật bản phân phối, người dùng có thể muốn cài đặt các gói Linux khác nhau trong WSL. Có thể dùng kho APT và thực thi lệnh sau trong bash (ví dụ cài htop):

$ sudo apt install htop
Cách cài đặt WSL trên Windows 10

Và htop có thể khởi chạy bằng lệnh sau trong bash:

$ htop

Để cài GUI Win-Kex cho Kali-Linux, thực thi lần lượt các lệnh sau trong bash:

sudo apt update sudo apt install -y kali-win-kex

Sau khi cài xong, bạn có thể chạy Win-Kex với các tùy chọn khác nhau. Chi tiết xem tài liệu chính thức của Kali.

WSL và Hệ thống file Windows

File Linux nằm ở đâu trong Windows? Câu hỏi tự nhiên nảy sinh trong đầu người dùng. WSL có Hệ thống file được cài đặt tại vị trí sau (không thay đổi hoặc xóa file trong thư mục này):

%LOCALAPPDATA%\Lxss\

Trong quá trình sử dụng, người dùng có thể cần truy cập hệ thống file của host trong WSL. Để làm vậy, thực thi lệnh sau trong bash:

/mnt/c/
Cách cài đặt WSL trên Windows 10

Bật tính năng WSL 1

Có lúc người dùng cần cài WSL 1 (không phải WSL 2), chỉ cần làm theo các bước trên, bỏ qua phần WSL 2. Để đổi WSL mặc định, thực thi lệnh sau trong PowerShell (Admin):

wsl --set-default-version 1

Sau đó, người dùng có thể cài bản phân phối Linux mới để đáp ứng yêu cầu (như đã thảo luận trước).

Nếu không thể đổi phiên bản WSL thành 1, thực thi lệnh sau trong PowerShell (Admin):

New-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss DefaultVersion -Value 1 -Force

Sau đó, khởi động lại hệ thống và sau reboot, tắt Virtual Machine Platform. Hệ thống sẽ được cấu hình dùng WSL 1.

Gỡ bỏ WSL và bản phân phối Linux khỏi hệ thống

Nếu bạn không còn dùng WSL và muốn gỡ bỏ, quy trình đơn giản:

  1. Chuột phải Windows và mở Apps & Features.
  2. Mở rộng bản phân phối Linux (ví dụ Ubuntu) và nhấn Uninstall.Cách cài đặt WSL trên Windows 10
  3. Xác nhận gỡ cài đặt bản phân phối và khởi động lại PC.
  4. Sau reboot, tắt Virtual Machine Platform và Windows Subsystem for Linux (như đã thảo luận) trong Turn Windows Features on or off.Cách cài đặt WSL trên Windows 10
  5. Khởi động lại PC và sau reboot, WSL đã bị gỡ khỏi máy.

Vậy là xong, hy vọng bài viết này đã phục vụ mục đích và làm rõ các khái niệm cơ bản của WSL.