Đối với nhiều lập trình viên, quản trị hệ thống hoặc đơn giản là những người thích khám phá Linux, WSL (Windows Subsystem for Linux) gần như đã trở thành một công cụ không thể thiếu trên Windows 11. Chỉ cần mở Terminal lên là có thể sử dụng Ubuntu, Debian hoặc nhiều bản phân phối Linux khác ngay bên trong Windows mà không cần cài máy ảo nặng nề.
Thế nhưng có những ngày mọi thứ không diễn ra như mong muốn.
Bạn mở Ubuntu lên và nhận được thông báo lỗi. Hoặc nhập lệnh:
wsl
nhưng cửa sổ Terminal đứng yên không phản hồi. Có khi WSL khởi động rồi tự động đóng ngay sau vài giây. Thậm chí một số trường hợp còn xuất hiện các mã lỗi khó hiểu như:
- WSL has not been enabled.
- WSL failed to start.
- Error code 0x8007019e.
- Error code 0x80370102.
- The virtual machine could not be started.
Nhìn thấy những thông báo này quả thật không dễ chịu chút nào. Đặc biệt nếu bạn đang có công việc cần hoàn thành gấp.
May mắn là phần lớn lỗi khiến WSL không chạy được trên Windows 11 đều có thể xử lý mà không cần cài lại hệ điều hành. Hãy cùng đi từng bước để tìm ra nguyên nhân.
WSL là gì và tại sao nó quan trọng?
WSL là viết tắt của Windows Subsystem for Linux.
Công nghệ này cho phép người dùng chạy môi trường Linux trực tiếp bên trong Windows mà không cần khởi động kép (Dual Boot).
Nhờ WSL, bạn có thể:
- Chạy Ubuntu trên Windows.
- Sử dụng Bash.
- Cài Docker.
- Phát triển ứng dụng web.
- Quản lý máy chủ Linux.
- Học tập và nghiên cứu hệ điều hành mã nguồn mở.
Đó là lý do khi WSL ngừng hoạt động, rất nhiều công việc có thể bị gián đoạn.
Kiểm tra xem WSL đã được kích hoạt hay chưa
Nghe có vẻ đơn giản nhưng đây lại là nguyên nhân phổ biến nhất.
Nhiều người cài Ubuntu từ Microsoft Store nhưng quên kích hoạt thành phần WSL trong Windows.
Mở PowerShell với quyền Administrator và nhập:
wsl --status
Nếu hệ thống báo rằng WSL chưa được cài đặt hoặc chưa được bật thì hãy kích hoạt bằng lệnh:
wsl --install
Sau đó khởi động lại máy.
Trong rất nhiều trường hợp, mọi thứ sẽ hoạt động bình thường ngay sau bước này.
Kiểm tra Virtual Machine Platform
WSL 2 phụ thuộc vào Virtual Machine Platform.
Nếu thành phần này bị tắt, WSL sẽ không thể khởi động.
Mở PowerShell dưới quyền quản trị:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
Tiếp theo:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
Khởi động lại máy sau khi hoàn tất.
Nghe có vẻ kỹ thuật một chút, nhưng thực chất chỉ mất vài phút.
Kiểm tra Virtualization trong BIOS
Đây là bước rất quan trọng.
WSL 2 sử dụng công nghệ ảo hóa phần cứng. Nếu Virtualization bị vô hiệu hóa trong BIOS, WSL gần như chắc chắn sẽ không chạy.
Để kiểm tra nhanh:
- Nhấn Ctrl + Shift + Esc.
- Mở Task Manager.
- Chọn tab Performance.
- Chọn CPU.
Quan sát dòng:
Virtualization
Nếu hiển thị:
Disabled
thì bạn cần truy cập BIOS và bật:
- Intel VT-x
- Intel VT-d
- AMD-V
- SVM Mode
Tùy thuộc vào loại CPU đang sử dụng.
Nhiều người tìm đủ mọi cách trong Windows nhưng lại không để ý đến chi tiết này.
Cập nhật WSL Kernel
Đôi khi WSL vẫn được cài đặt đầy đủ nhưng kernel Linux lại quá cũ hoặc bị lỗi.
Hãy thử:
wsl --update
Sau đó:
wsl --shutdown
Tiếp tục mở lại Ubuntu hoặc bản phân phối Linux bạn đang sử dụng.
Một bản cập nhật nhỏ đôi khi có thể giải quyết hàng loạt lỗi phát sinh.
Kiểm tra phiên bản WSL
Một số ứng dụng hiện đại yêu cầu WSL 2 thay vì WSL 1.
Kiểm tra bằng lệnh:
wsl -l -v
Kết quả sẽ hiển thị:
- Tên bản phân phối.
- Phiên bản WSL đang sử dụng.
- Trạng thái hoạt động.
Nếu cần chuyển sang WSL 2:
wsl --set-version Ubuntu 2
Tất nhiên hãy thay “Ubuntu” bằng tên bản phân phối thực tế của bạn.
Đây là bước khá quan trọng đối với Docker Desktop và nhiều công cụ phát triển hiện nay.
Sửa lỗi do bản phân phối Linux bị hỏng
Đôi khi vấn đề không nằm ở WSL mà nằm ở chính Ubuntu hoặc Debian.
Bạn có thể thử:
wsl --terminate Ubuntu
Tiếp theo:
wsl --shutdown
Nếu vẫn không hoạt động:
- Gỡ bản phân phối khỏi hệ thống.
- Cài đặt lại từ Microsoft Store.
Đúng là hơi mất công một chút, nhưng thường hiệu quả hơn nhiều so với việc cố sửa một môi trường đã bị lỗi nặng.
Kiểm tra các dịch vụ liên quan
WSL phụ thuộc vào một số dịch vụ hệ thống.
Nhấn:
Windows + R
Nhập:
services.msc
Kiểm tra các dịch vụ:
- Hyper-V Host Compute Service
- Hyper-V Virtual Machine Management
- LxssManager
Đảm bảo chúng đang hoạt động.
Nếu bị dừng:
- Nhấn Start.
- Chuyển Startup Type sang Automatic.
Đôi khi nguyên nhân chỉ đơn giản là một dịch vụ bị vô hiệu hóa bởi phần mềm tối ưu hệ thống.
Cập nhật Windows 11
Có những trường hợp lỗi không nằm ở WSL mà nằm ở chính Windows.
Microsoft thường xuyên phát hành các bản vá để cải thiện:
- Hyper-V.
- WSL.
- Virtualization.
- Windows Terminal.
Hãy truy cập:
Settings → Windows Update
và cài đặt toàn bộ bản cập nhật đang chờ xử lý.
Một hệ điều hành lỗi thời đôi khi là nguồn gốc của rất nhiều vấn đề khó hiểu.
Thiết lập lại WSL từ đầu
Nếu đã thử mọi giải pháp nhưng WSL vẫn không hoạt động, việc cài đặt lại hoàn toàn có thể là lựa chọn hợp lý.
Trước tiên:
wsl --unregister Ubuntu
Tiếp theo:
wsl --install
Sau đó:
- Tải lại Ubuntu.
- Khởi tạo môi trường Linux mới.
- Kiểm tra hoạt động.
Nghe có vẻ cực đoan nhưng nhiều trường hợp đây lại là giải pháp nhanh nhất.
Thay vì mất hàng giờ dò lỗi, đôi khi bắt đầu lại từ đầu lại hiệu quả hơn.
Khi nào nên kiểm tra phần cứng?
Mặc dù khá hiếm, nhưng vẫn có những trường hợp:
- BIOS lỗi.
- CPU không hỗ trợ đầy đủ tính năng ảo hóa.
- Cấu hình firmware gặp vấn đề.
Nếu tất cả giải pháp phần mềm đều thất bại, hãy kiểm tra:
- Phiên bản BIOS.
- Trạng thái Virtualization.
- Khả năng tương thích phần cứng.
Đây thường là bước cuối cùng trước khi nghĩ đến việc cài mới Windows.
Kết luận
Lỗi WSL không chạy được trên Windows 11 có thể xuất phát từ nhiều nguyên nhân khác nhau, từ việc chưa kích hoạt WSL, Virtual Machine Platform bị tắt, kernel lỗi thời cho đến cấu hình ảo hóa trong BIOS.
Tin vui là hầu hết các trường hợp đều có thể xử lý bằng những thao tác tương đối đơn giản. Chỉ cần kiểm tra lần lượt từng bước, khả năng khôi phục môi trường Linux là rất cao.
Điều quan trọng là không nên vội vàng cài lại Windows ngay khi gặp lỗi. WSL được xây dựng dựa trên nhiều thành phần liên kết với nhau, vì vậy chỉ cần một mắt xích gặp vấn đề là toàn bộ hệ thống có thể ngừng hoạt động.
Kiên nhẫn một chút, kiểm tra có phương pháp và thực hiện đúng quy trình. Rất có thể chỉ sau vài phút, bạn sẽ lại nhìn thấy cửa sổ Ubuntu quen thuộc hoạt động bình thường như chưa từng có sự cố xảy ra.
