Skip to main content

Windows Subsystem for Linux (WSL)

Linux映射到主机端口

ref: https://zhuanlan.zhihu.com/p/425312804

# 添加端口映射
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=localhost

# 查看所有端口映射
netsh interface portproxy show all

# 删除某个端口映射
netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0

关闭所有实例

wsl --shutdown

开启 v2 支持(转换到v2)

参考:https://docs.docker.com/desktop/wsl/#enabling-docker-support-in-wsl-2-distros

从 v1 转换到 v2

注意:这一过程会很消耗 内存和硬盘资源,注意当前的工作负载

# 1. 检查wsl的版本
wsl.exe -l -v

# 2. 转换版本
wsl.exe --set-version (distro name) 2

设置默认版本

wsl.exe --set-default-version 2

Compact WSL Disk

回收已删除仍然在占用的磁盘空间,此方法适用于vhdx虚拟磁盘文件。

一般情况下,位置在: C:\Users\{user}\AppData\Local\Packages\{id.WSL_Dist_id}\LocalState\ext4.vhdx

cmd.exe
diskpart

select vdisk file="C:\Users\{user}\AppData\Local\Packages\{id.WSL_distribution_id}\LocalState\ext4.vhdx"

# 以只读方式挂载
# 如果 wsl 正在开着无法挂载 使用 `wsl --shutdown` 来立即关机
attach vdisk readonly
# 压缩空间
compact vdisk
# 分离
detach vdisk

ref:

Alpine WSL

reset root password

# To (re-)set root password run:
wsl.exe --user root --distribution Alpine passwd