Windows11企业版安装WSL2和Ubuntu发布版(避坑)

背景

win10企业版升级win11企业版后,安装WSL2,最后安装WSL的Ubuntu发布版,尝试网上各种方法,还是出现文章第三节所写的问题,差点被这问题搞放弃了,全网少有针对这个问题的答案,有也不顶用,靠自己学习WSL知识,找到该问题可能的原因,搞定该问题。

一、win10企业版升级win11企业版

参考本人博客:
https://blog.csdn.net/Acecai01/article/details/136752860

二、安装WSL和发布版

注意WSL2与其他模拟器或虚拟机冲突

WSL2与绝大多数手游模拟器(MUMU、雷神等)都不兼容,如果有使用模拟器的需求,需要谨慎考虑
原因:WSL2需要开启Hyper-V,而模拟器使用不能开启Hyper-V
如果两者冲突导致WSL2不可用,参考下方链接
https://www.bilibili.com/read/cv13748859

2.1、配置防火墙

(1)打开 “Window 安全中心”
(2)点击 “应用和浏览器控制”
(3)拉到底点击"攻击防护设置"
(4)切换到 “程序设置” 选项卡,等待片刻刷新出程序列表
(5)拉到底部,看到"C:\WINDOWS\System32\vmcompute.exe",点击并编辑
(7)下滚到 “控制流保护 (CFG)” ,取消勾选"替代系统设置"
(8)在Powershell中执行 “net start vmcompute”, 启动vmcompute

2.2、修复系统

(1)以管理员身份打开PowerShell
(2)执行命令 “sfc /scannow”,等待完成
(3)执行命令 " dism /online /cleanup-image /restorehealth",等待完成
(4)重启电脑

2.3、安装

参考链接:
https://contabo.com/blog/how-to-install-wsl2-on-windows-10/

2.4、WSL问题排查

官方各类问题排查方法
https://learn.microsoft.com/zh-cn/windows/wsl/troubleshooting#installation-issues

WSL日志查看方法
《[问题已处理]-排查wsl崩溃的方法》
https://blog.csdn.net/xujiamin0022016/article/details/126557180

三、问题

报错问题是:WslRegisterDistribution failed with error: 0x80070490 Error: 0x80070490 ???
过程
在2.3节中安装Ubuntu发布版步骤时:

(base) PS C:\WINDOWS\system32> wsl.exe --install Ubuntu-22.04
。。。
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070490
Error: 0x80070490 ???

Press any key to continue...

他人解决方法
针对该问题,这里有几篇其他人的解决办法(环境和本人的不同,本人不适用)
https://edosha.hatenablog.jp/entry/2022/06/09/145453
https://superuser.com/questions/1820365/wsl2-ubuntu-20-04-6-lts-not-working-wslregisterdistribution-failed-with-error
https://github.com/microsoft/WSL/issues/7946

本人解决方法
通过2.4节中所述查看WSL日志方法,找到安装Ubuntu时所产生的日志文件logs.etl(以管理员身份开启两个PowerShell,一个监听日志(注意要翻墙后操作),一个安装ubuntu产生问题),将其转为logs.xml后定位到可能的问题信息:
在这里插入图片描述
如上图红框内容与所产生的问题在形式上很相似,猜测是NAT网络模式的问题,主机和WSL发布版无法连通,查阅WSL网络访问知识:
https://learn.microsoft.com/zh-cn/windows/wsl/networking
尝试了如下方法:
(1)手动创建配置文件 “C:\Users\Administrator\.wslconfig”, 文件内容如下:

[wsl2]
localhostForwarding=true
networkingMode=mirrored

保存后关闭。

(2)以管理员身份运行PowerShell,执行如下命令:

(base) PS C:\WINDOWS\system32> wsl --shutdown   # 重启WSL
(base) PS C:\WINDOWS\system32> netsh winsock reset    # 重置winsock,防止网络代理等问题

(3)重启电脑
(4)重新安装Ubuntu22.04,成功!!如下状态:

(base) PS C:\WINDOWS\system32> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值