WSL2疑难杂症
Mirrored镜像模式无法联网
.wslconfig配置错误
使用ifconfig可以看到检测不到宿主机网卡了
需要在个人主目录 .wslconfig 文件中,移除或注释 localhostForwarding ,即使是 false 也不可以!
[wsl2]
networkingMode=mirrored
# 必须删除下面这一行,不能留 localhostForwarding=false
# localhostForwarding=false
Tailscale 竞态
先关闭 TS,启动WSL,再开启TS
# 在powershell中
wsl --shutdown
tailscale down
wsl
然后再开powershell窗口,执行:tailscale up
WSL使用宿主机的代理
在 .bashrc 添加如下内容
# 获取正确的 WSL 宿主机 IP
export WINDOWS_HOST=$( \ ip route | grep '^default' | awk '{print $3}' | grep '^172\.' \ )
# 如果上述方法失败,使用备用方法(Powershell获取)
if [ -z "$WINDOWS_HOST" ]; then
export WINDOWS_HOST=$( \
powershell.exe -c "(Get-NetIPAddress | ? {\$_.IPAddress -like '172.*'}).IPAddress" | head -1 | tr -d '\r' \
)
fi
# 设置代理,修改端口为实际代理端口
export HTTP_PROXY="http://$WINDOWS_HOST:1087"
export HTTPS_PROXY="http://$WINDOWS_HOST:1087"
export ALL_PROXY="socks5://$WINDOWS_HOST:1086"
VS-Code无法连上WSL
资源分配不足
主要原因是只分配了4G内存、2核CPU,而我运行了pg、qdrant、vs code server、claude code 等一系列服务,导致了资源占用高峰期很不稳定。
打开配置: C:\Users\你的用户名.wslconfig
增加到8G内存、10核CPU、8G虚拟内存,重启wsl,现在没出问题了。
VS Code Server 重新安装时的网络问题
VS Code Server 是wsl下按需启动的进程。
当 Windows VS Code 尝试连接到 WSL 时,它会远程执行脚本来启动这些进程;当关闭 VS Code 窗口时,这些进程通常会在一段时间后自动退出。
从 VS Code 的 Terminal可以看到,VS Code Server 卡在了下载环节。
于是我调整宿主机VPN到全局,让它可以顺利下载,问题解决。