WSL2 安装踩坑

WSL2 安装踩坑


错误码:0x80370102
排查适用于 Linux 的 Windows 子系统问题

安装WSL的很多问题都源于Hyper-V。如果同时使用VMWare,其15.5以上版本已不再与Hyper-V冲突。另外,reboot解决一切问题

前置


确保BIOS虚拟化设置打开

任务管理器 → 性能 → CPU

在这里插入图片描述

ARM64

特殊地,不支持虚拟化的设备只能装WSL1,且需要手动指定wsl --set-default-version 1,比如运行win10-arm64的部分设备。
相比于WSL2,WSL1没有完整的Linux内核,通过翻译层将Linux系统调用转为Windows系统调用,不支持开发内核程序。

确保如下WIndows功能打开
  • Hyper-V
  • Virtual Machine Platform
  • Windows Subsystem for Linux

重启生效。你也可以使用PS命令Enable-WindowsOptionalFeature进行设置。

确保启动虚拟机监控程序
 bcdedit /set hypervisorlaunchtype auto
 # 查询
 bcdedit /enum | findstr -i hypervisorlaunchtype
 > hypervisorlaunchtype Auto

安装WSL2及Ubuntu


PS执行如下命令

wsl --install  # 指定版本:-d Ubuntu
wsl --set-default-version 2

下载LInux内核更新包(?)
双击安装。

如果把Ubuntu装在C盘,在Microsoft Shop搜索安装适当版本即可。


重启,打开Ubuntu,提示输入用户名,安装成功。PS执行wsl -l -v,应该能看到当前Ubuntu版本。
此外,ARM64设备不支持通过wsl命令从PowerShell启动WSL,若要执行该命令,请使用PowerShell Core或命令提示符。

错误


关闭功能 Hyper-V / VMP / WSL,卸载Ubuntu,重启,重复流程。

内存控制


当前用户名下创建文件.wslconfig

/mnt/c/Users/<username>: ~$ cat > .wslconfig
[wsl2]
processors=8
memory=8GB  # 因人而异
localhostForwarding=true
^C

重启WSL

# 关闭WSL
wsl --shutdown
# 看到的Ubuntu状态应该是STOPPED
wsl -l -v

重启Ubuntu后执行free -m,看到的内存被限制为8GB。
有时会遇到设置无效,可能是Windows自动添加了文件后缀。PS进入目录执行code .wslconfig重新编辑文件后生效。


参考博客




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值