WSL

本文最后更新于:2026年3月8日 下午

信息

WSL是适用于 Linux 的 Windows 子系统
可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销

注意WSL安装的版本
系统中默认安装的是 WSL 而非 WSL2
推荐使用 WSL2, 能避免解决很多问题(比如 Docker 部署数据库出现无端的端口占用报错)

微软官方WLS文档

安装WSL

  1. 加入 Windows用户预览计划
    win10左下角标->设置->更新和安全->windows预览体验计划 中加入即可
    加入需要一个微软账户。若无, 注册即可

    可能會有的问题:Windows预览体检计划空白
    管理员身份打开 powershell, 运行代码

    1
    2
    3
    4
    5
    >$path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection"
    ># Telemetry level: 1 - basic, 3 - full
    >$value = "3"
    >New-ItemProperty -Path $path -Name AllowTelemetry -Value $value -Type Dword -Force
    >New-ItemProperty -Path $path -Name MaxTelemetryAllowed -Value $value -Type Dword -Force
  2. 安装WSL2
    参考官方文档, 按步骤操作即可

微软软件商城中安装需要的内容

这里以Ubuntu举例

进入微软软件商城-Ubuntu20.04页面, 点击获取即可

安装完毕后,在 windows powershell 中查看 Ubuntu 的 WSL 版本

1
wsl --list --verbose

开始菜单中可以打开 Ubuntu 进行使用

注意:
root用户一开始没有密码,需要设置密码后才能切换过去
IDE 安装插件/进行配置 可以使得IDE 能够进入 Ubuntu 中,使用其中的环境对程序进行 运行/调试

WSL2 网络代理

允许局域网连接代理
Windows: v2rayN客户端开启“允许来自局域网的连接”

需要使用局预网的方式连接至宿主机。
以下脚本先查找宿主机虚拟网卡的IP地址,然后设置其为代理服务器结点

打开bash配置文件

1
vim ~/.bashrc

加入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# add for proxy
export hostip=$(ip route | grep default | awk '{print $3}')
export hostport=10811
alias proxy='
export https_proxy="http://${hostip}:${hostport}";
export http_proxy="http://${hostip}:${hostport}";
export all_proxy="http://${hostip}:${hostport}";
echo -e "Acquire::http::Proxy \"http://${hostip}:${hostport}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null;
echo -e "Acquire::https::Proxy \"http://${hostip}:${hostport}\";" | sudo tee -a /etc/apt/apt.conf.d/proxy.conf > /dev/null;
'
alias unproxy='
unset https_proxy;
unset http_proxy;
unset all_proxy;
sudo sed -i -e '/Acquire::http::Proxy/d' /etc/apt/apt.conf.d/proxy.conf;
sudo sed -i -e '/Acquire::https::Proxy/d' /etc/apt/apt.conf.d/proxy.conf;
'

其中 hostport 是 v2rayN 中 http局域网代理的端口。默认应该是10811
如果你做过修改或使用其它客户端,请注意区别。一定是局域网可访问的代理端口

重新读取配置文件

1
source ~/.bashrc

启动代理
每次开启WSL2,都需要输入以下命令激活代理

1
2
3
4
# 启动代理
proxy
# 关闭代理
unproxy

测试

1
curl google.com

有回应就是成功

如果出问题,请重新修改~/.bashrc文件,并重新读取


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!