如何解决Windows 10中的WSL(Windows子系统 for Linux)错误:0x80370102。该错误提示“虚拟机无法启动,因为缺少必要的功能”。本文将介绍如何验证Windows功能,并通过使用Windows子系统 for Linux版本1进行解决。

Windows子系统 for Linux - Ubuntu发行版

以下是您在运行Windows子系统 for Linux - Ubuntu发行版时可能遇到的完整错误信息:

  1. 安装中,这可能需要几分钟……
  2. WslRegisterDistribution失败,错误代码:0x80370102
  3. 错误:0x80370102 虚拟机无法启动,因为缺少必要的功能。
  4. 按任意键继续……

实际演示

关于Ansible故障排除的最佳方式是通过实际演示,展示如何解决错误0x80370102。以下是针对Windows 10版本10.0.19043(Build 19043)的WSL错误的现场演示。

错误代码

以下是复现WSL安装错误的步骤:

1. Windows PowerShell  
2. 版权所有 (C) Microsoft Corporation。保留所有权利。  
3. 尝试使用跨平台PowerShell:<https://aka.ms/psco>  
4. PS C:\Users\user> wsl --install  
5. 正在安装:虚拟机平台  
6. 虚拟机平台已安装。  
7. 正在安装:Windows子系统 for Linux  
8. Windows子系统 for Linux已安装。  
9. 正在下载:WSL内核  
10. 正在安装:WSL内核  
11. WSL内核已安装。  
12. 正在下载:Ubuntu  
13. 请求的操作已成功。重启系统后更改才会生效。  

复现Ubuntu WSL错误

1. 安装中,这可能需要几分钟……  
2. WslRegisterDistribution失败,错误代码:0x80370102  
3. 错误:0x80370102 虚拟机无法启动,因为缺少必要的功能。  
4. 按任意键继续……  

WSL版本2需要启用的Windows功能

  1. Windows子系统 for Linux
  2. Hyper-V平台
  3. Hyper-V虚拟机监视器

解决方案

如果您的CPU不支持虚拟化或虚拟化环境不受支持,可以尝试以下解决方案:

1. wsl --update  
2. wsl --set-default-version 1  
3. wsl --list -o  
4. wsl --install -d Ubuntu  

解决方案执行过程

以下是执行解决方案后的输出:

1. Windows PowerShell  
2. 版权所有 (C) Microsoft Corporation。保留所有权利。  
3. 尝试使用跨平台PowerShell:<https://aka.ms/psco>  
4. PS C:\Users\user> wsl --set-default-version 1  
5. 操作成功完成。  
6. PS C:\Users\user> wsl --update  
7. 正在检查更新……  
8. 可以通过“wsl --update”手动更新Windows子系统 for Linux内核,但由于您的系统设置,无法自动更新。  
9. 若要接收自动内核更新,请启用Windows更新设置:“在更新Windows时接收其他Microsoft产品的更新”。  
10. 更多信息请访问:<https://aka.ms/wsl2kern>  
11. PS C:\Users\user> wsl --list -o  
12. 以下是可以安装的有效发行版列表。  
13. 使用“wsl --install -d <Distro>”进行安装。  
14. NAME FRIENDLY NAME  
15. Ubuntu Ubuntu  
16. Debian Debian GNU/Linux  
17. kali-linux Kali Linux Rolling  
18. openSUSE-42 openSUSE Leap 42  
19. SLES-12 SUSE Linux Enterprise Server v12  
20. Ubuntu-16.04 Ubuntu 16.04 LTS  
21. Ubuntu-18.04 Ubuntu 18.04 LTS  
22. Ubuntu-20.04 Ubuntu 20.04 LTS  
23. PS C:\Users\user> wsl --install -d Ubuntu  
24. Ubuntu已安装。  
25. 启动Ubuntu……  
26. 安装中,这可能需要几分钟……  
27. 请创建默认的UNIX用户账户。用户名无需与Windows用户名匹配。  
28. 更多信息请访问:<https://aka.ms/wslusers>  
29. 输入新的UNIX用户名:ansiblepilot  
30. 新密码:  
31. 重新输入新密码:  
32. passwd:密码更新成功  
33. 安装成功!  
34. 若要以管理员(用户“root”)身份运行命令,请使用“sudo <command>”。  
35. 详情请参阅“man sudo_root”。  
36. 欢迎使用Ubuntu 20.04 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)  
37. * 文档:<https://help.ubuntu.com>  
38. * 管理:<https://landscape.canonical.com>  
39. * 支持:<https://ubuntu.com/advantage>  
40. 系统信息截至2021年10月26日15:28:03 UTC  
41. 系统负载:0.52 登录用户数:0  
42. /home使用情况:未知 eth0的IPv4地址:10.0.2.15  
43. 内存使用率:62% eth1的IPv4地址:169.254.149.103  
44. 交换区使用率:1% eth1的IPv4地址:192.168.0.202  
45. 进程数:7  
46. 可立即安装的更新数:0  
47. 安全更新数:0  
48. 可用更新列表已超过一周。  
49. 要检查新更新,请运行:sudo apt update  
50. 该消息每天显示一次。若要禁用,请创建/home/ansiblepilot/.hushlogin文件。  
51. ansiblepilot@demo:~$