Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)

Giống mọi phần mềm, Windows Subsystem for Linux (WSL2) cũng có vấn đề riêng. Hướng dẫn khắc phục Các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux.

Sửa lỗi, Vấn đề & Sự cố Windows Subsystem for Linux

Danh sách lỗi cần khắc phục:

  1. Không thấy tùy chọn WSL 2
  2. Lỗi: 0x1bc
  3. Lỗi: 0x80040306 khi cài đặt
  4. Không truy cập file WSL từ Windows
  5. Không khởi động được WSL 2 distribution, chỉ thấy 'WSL 2' trong output
  6. Command Not Found
  7. Lỗi: 0x80370102 Máy ảo không khởi động được vì tính năng bắt buộc chưa cài đặt
  8. Lỗi: 0x80040154 sau Windows Update
  9. WSL dừng hoạt động với Lỗi 0x80070003
  10. Ngôn ngữ hiển thị thay đổi trong WSL
  11. Vấn đề cài đặt sau khôi phục hệ thống Windows
  12. Không có internet trong WSL
  13. Permission Denied khi dùng Ping
  14. Không boot được sau cài WSL 2
  15. Không chạy lệnh Windows bên trong distributor
  16. ICS bị tắt
  17. Bash bị treo (hung)
  18. Vấn đề kết nối OpenSSH-Server
  19. Không tìm thấy assembly được tham chiếu
  20. Sửa lỗi quyền (liên quan SSH)

1. Không thấy tùy chọn WSL 2

Nhiều người dùng ở build 1903 nhưng không thấy tùy chọn WSL 2. Nguyên do: máy chưa nhận backport cho WSL 2.

Sửa: kiểm tra cập nhật (Check for updates) là xong.

2. Lỗi: 0x1bc

Xảy ra khi Display Language hoặc System Locale không phải English.

wsl --set-default-version 2 Error: 0x1bc For information on key differences with WSL 2 please visit https://aka.ms/wsl2

Kiểm tra Kernel đã cài chưa:

dir %SystemRoot%\system32\lxss\tools\kernel
Nếu thiếu Kernel, tải từ aka.ms (cài với quyền Admin).

3. Lỗi: 0x80040306 khi cài đặt

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)

Cần tắt Legacy Console:

  1. Mở Command Prompt Admin từ Start Menu.
  2. Chuột phải icon cmd > Properties.
  3. Bỏ tích Use legacy console > OK.

4. Không truy cập file WSL từ Windows

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)

Nếu không truy cập WSL qua \\wsl$ trên Windows, có thể 9P protocol file server không khởi động.

Cách dễ nhất: cập nhật Windows và bật Receive updates for other Microsoft products when you update Windows trong Settings > Update & Security > Advanced options.

5. Không khởi động WSL 2 distribution, chỉ thấy 'WSL 2'

Bắt buộc xảy ra nếu display language không phải English. Output:

C:\Users\me>wsl WSL 2

Sửa: tải và cài Kernel thủ công từ aka.ms/wsl2kernel.

6. Command Not Found

Lỗi thường gặp khi chạy file .exe Windows trong Linux.

$ notepad.exe -bash: notepad.exe: command not found

Nguyên do: $PATH không tìm thấy .exe. Chạy lệnh sau trong Terminal:

export PATH=$PATH:/usr/sbin

7. Lỗi: 0x80370102 Máy ảo không khởi động được vì tính năng bắt buộc chưa cài đặt

Nhiều người gặp lỗi này khi cài Linux distributor. Có nhiều giải pháp:

  1. Bật Hyper-V
  2. Bật Hardware Virtualization
  3. Bật Nested Virtualization

Bật Hyper-V

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)

Không có Hyper-V không tạo được môi trường ảo. Bật:

  1. Control Panel > Programs and Features > Turn Windows features on or off.
  2. Tìm Hyper-V, tích chọn > OK.

Bật Hardware Virtualization

Bắt buộc khi chạy VM. Nếu gặp lỗi 0x80370102, bật Hardware Virtualization từ BIOS.

Bật Nested Virtualization

Cho phép chạy Hypervisor trong VM. Nếu vẫn lỗi, bật Nested Virtualization. Chạy PowerShell Admin:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

8. Lỗi: 0x80040154 sau Windows Update

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)

WSL bị tắt do Windows Update. Bật lại:

  1. Control Panel > Programs and Features > Turn Windows features on or off.
  2. Tìm Windows Subsystem for Linux, tích chọn > OK.

Restart máy và kiểm tra.

9. WSL dừng hoạt động với Lỗi 0x80070003

Xem hướng dẫn chi tiết cho mã lỗi này.

10. Ngôn ngữ hiển thị thay đổi trong WSL

WSL tự đổi locale Ubuntu khớp với ngôn ngữ Windows. Nếu không muốn, dùng lệnh:

sudo update-locale LANG=en_US.UTF8

(Đổi sang en-US).

11. Vấn đề cài đặt sau khôi phục hệ thống Windows

Xóa thư mục Windows Subsystem for Linux tại:

%windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux

Restart, cài lại Bash, kiểm tra.

12. Không có internet trong WSL

Nhiều người báo không truy cập internet trong WSL. Nguyên do thường do antivirus thứ 3 chặn firewall. Gỡ antivirus để khắc phục.

13. Permission Denied khi dùng Ping

Không ping được trong WSL = thiếu quyền admin. Chạy Ubuntu/Linux hoặc Bash.exe với quyền Admin.

14. Không boot được sau cài WSL 2

Nguyên nhân chưa rõ, Microsoft đang cập nhật fix. Thử 2 cách:

  • Dùng System Restore Point.
  • Cập nhật driver card đồ họa.

15. Không chạy lệnh Windows bên trong distributor

Một số distributor trên Windows Store chưa tối ưu chạy tất cả lệnh Windows. Lỗi:

-bash: powershell.exe: command not found
powershell.exe /c start

Sửa: chạy

echo $PATH
. Kiểm tra output có /mnt/c/Windows/system32 không. Nếu thiếu > là nguyên nhân.

Kiểm tra Profile settings:

cat /etc/profile
. Nếu gán Path bắt đầu bằng #, comment block đó. Kiểm tra wsl.conf không có appendWindowsPath=false, nếu có comment nó.

Restart distribution:

wsl -t <tên distributor>
hoặc
wsl --shutdown
.

16. ICS bị tắt

WSL không hoạt động tanpa ICS (Internet Connection Sharing). Host Network Service (HNS) dùng ICS xây dựng mạng ảo cơ bản cho WSL 2 tạo NAT, DNS, DHCP, chia sẻ kết nối host.

Bật ICS:

  1. Mở Services từ Start Menu.
  2. Double-click Internet Connection Sharing (ICS), nếu Stopped > Start.
  3. Apply > OK.

Cũng chỉnh policy. Mở Group Policy Editor, điều hướng:

Computer Configuration > Administrative Templates > Network > Network Connections

Tắt các policy:

  • Prohibit installation and configuration of Network Bridge on your DNS domain network
  • Prohibit the use of Internet Connection Firewall on your DNS domain network
  • Prohibit the use of Internet Connection Sharing on your DNS domain network
  • Require domain users to elevate when setting a network's location

17. Bash bị treo (hung)

Khi Bash treo/deadlock không phản hồi: restart máy (sửa lỗi) hoặc report memory dump (có thể crash hệ thống, lưu công việc trước).

18. Vấn đề kết nối OpenSSH-Server

Kiểm tra OpenSSH-Server có chạy không:

sudo service ssh status
. Nếu không chạy:
sudo service ssh start
. Nếu chạy:
sudo service ssh restart
. Nếu chưa khắc phục, chạy SSHD debug mode. Stop SSH:
sudo service ssh stop
. Start debug:
sudo /usr/sbin/sshd -d
.

19. Không tìm thấy assembly được tham chiếu

Gặp khi bật tính năng WSL thêm. Thử bật Windows Subsystem for Linux từ Control Panel và cập nhật Windows.

20. Sửa lỗi quyền (liên quan SSH)

Nếu gặp lỗi:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/artur/.ssh/private-key.pem' are too open.

Microsoft khuyên: vào file /etc/wsl.conf thêm:

[automount]
enabled = true
options = metadata,uid=1000,gid=1000,umask=0022

Đảm bảo có đủ quyền trước khi làm.

Đây là các lỗi WSL phổ biến và cách khắc phục. Hy vọng giúp ích.

Khắc phục các Thông báo lỗi và Mã lỗi Windows Subsystem for Linux (WSL2)