WSL2
常用功能
端口转发
一次配置,可以实现 Windows端口==WSL端口
- 在WINDOWS用户目录下创建一个
.wslconfig文件
[wsl2] |
- PS 如果Windows本地启动了指定端口, 这时WSL中可以使用相同的端口, 但是localhost:port 将指向Windows的服务
- 也可以直接在wsl的设置里将网络模式选择为Mirrored
vhdx 内存优化
导入Hyper-V
# 启用Hyper-V功能(如果需要) |
运行优化命令
optimize-vhd命令需要在管理员权限的PowerShell中运行,并且需要Hyper-V模块支持。
optimize-vhd -Path "D:\00.wsl\ext4.vhdx" -Mode full |
windows 找出端口占用并释放
netstat -ano | findstr :5000 # 找到端口占用的pid |
开启ssh远程连接
powershell管理员
# 安装 OpenSSH 服务端 |
windows usb 转到 wsl
WSL2 没有原生 USB 主机支持,标准做法是用 usbipd-win(USB/IP 转发)。Windows 11 + WSL2 内核已内置 USB/IP 客户端。
- Windows 侧(管理员 PowerShell)
winget install --id dorssel.usbipd-win |
想插上就自动接管:
usbipd attach --wsl --busid 2-4 --auto-attach # 前台常驻 |
注意:attach 期间 Windows 侧会失去该设备(独占转移),detach 或 usbipd detach –busid 2-4 才归还。
- Ubuntu 侧
sudo apt install linux-tools-generic hwdata |
串口类设备会出现在 /dev/ttyUSB0 或 /dev/ttyACM0。权限问题:
sudo usermod -aG dialout,plugdev $USER # 重开 shell 生效 |
/etc/wsl.conf 里加 [boot]\nsystemd=true 可以让 udev 正常跑,规则才生效。
- 驱动不在 WSL2 内核里怎么办
先试 sudo modprobe ftdi_sio(或 cp210x / ch341 / cdc_acm)。报 module not found 就得自己编 WSL2 内核(microsoft/WSL2-Linux-Kernel,改 .config 打开对应 driver,然后 .wslconfig 里 kernel= 指向
bzImage)。JTAG 仿真器(XDS100/J-Link)走的是 libusb,通常不需要内核驱动,lsusb 能看到就够了。
- 只是想读 U 盘/硬盘
别绕 usbipd,直接:
wsl –mount \.\PHYSICALDRIVE2 # 加 –bare 交给 Linux 自己处理分区
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 雷子集中营!

