在win11上安装wsl2的ubuntu子系统流程记录(个人向)

安装 wsl2 子系统的步骤如下:(推荐先看后面配置代理部分,和.wslconfig 有关)

  1. 为 windows 启用 linux 子系统,命令行输入 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. 启用虚拟机功能,命令行输入 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. 重启。必须重启使启用的功能被应用。
  4. 下载 linux 内核更新包 并安装。
  5. 在 Microsoft Store 中搜索 ubuntu20.04 并安装。
  6. 打开 ubuntu20.04,设置用户名和密码,完成安装。在命令行输入 wsl -l -v 可查看所有安装的 wsl 子系统详细信息。
  7. 在命令行输入 wsl.exe --set-version Ubuntu-20.04 2 设置 ubuntu-20.04 为 wsl2 版本。

通过以上步骤安装的 wsl2 的 ubuntu 系统在 C 盘下,可以通过以下步骤 打包并安装到别处

  1. 打包系统。在命令行输入 wsl --export Ubuntu-20.04 D:/Ubuntu-20.04.tar,系统将以 tar 文件的形式被打包放在 D 盘下。
  2. 注销系统。在命令行输入 wsl --unregister Ubuntu-20.04 注销子系统。
  3. 导入系统。在命令行输入 wsl --import Ubuntu-20.04 D:\Ubuntu-20.04-wsl2 D:\ubuntu-20.04.tar--import 的第一个参数为系统名,第二个参数为你希望子系统导入的路径,第三个参数为打包好系统的路径,注意和步骤 1 里的文件路径一致。

和 vscode 联动,在 vscode 中打开 wsl2 文件夹:先打开 wsl2,输入目标路径,然后输入 code .。过程中会自动提示安装 vscode 的 wsl 扩展,安装即可。

常用的还有 给子系统配置代理。新版的 wsl2 支持镜像网络,根据官方文档,编辑 C:/Users/你的用户/.wslconfig。如果没有,需要自行创建。可以在创建子系统前就创建和编辑该文件。如果已经有了子系统,编辑该文件后需要在命令行输入 wsl --shutdown 关闭子系统,等待一段时间后再打开,使.wslconfig 生效。编辑内容如下:

[wsl2]
nestedVirtualization=true
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
sparseVhd=true

关键就是 networkingMode=mirrored,镜像 windows 的网络。以及 autoProxy=true,代理和 windows 同步。dnsTunneling=true 也必须有。如果在 windows 端改变了代理状态,wsl2 需要重启才能同步代理。注意,不要关闭 windows 防火墙,因为其中用到了 hyper-v 防火墙。笔者此前因为安装绿色软件补丁被 windows 防火墙不停删除而使用组策略强行关闭防火墙,镜像网络失效。

image-20240807185349757

在windows下改变代理状态时,有上图的消息通知说明autoProxy生效了。

以后还有什么踩坑会继续补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值