适用于 Linux 的 Windows 子系统 WSL(Windows Subsystem for Linux)是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双重启动。
WSL 分为两个版本,本文使用 WSL2:
- WSL1:模拟 Linux 环境,无真实内核,兼容性差、不支持 GPU 加速,仅适合简单文件交互,不推荐开发使用。
- WSL2:搭载完整 Linux 内核,虚拟化架构优化,性能拉满、兼容性 100%,支持 GPU 加速、容器部署,是 AI/后端开发首选版本。
1、先决条件
Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
在任务管理器 -> 性能 -> CPU右下角查看虚拟化功能是否启用,未启用需要进 Bios 开启Inter (VMX) Virtualization/AMD-V- 在
控制面板 -> 程序 -> 程序和功能 -> 启用或关闭 Windows 功能中勾选适用于 Linux 的Windows子系统、虚拟机平台,保存后重启电脑
2、安装
以管理员身份运行 cmd 命令提示符或 PowerShell
# 将 WSL 版本更新为最新版本
wsl --update
# 设置系统默认 WSL 版本为2
wsl --set-default-version 2
# 查看可安装的 Linux 发行版
wsl --list --online
# 安装指定发行版到指定目录下,根据提示修改用户名和设置密码
wsl --install -d Ubuntu-24.04 --location E:\WSL


3、使用
安装 Windows Terminal,可以通过终端来启动、切换子系统

或者在命令提示符或 PowerShell 中输入命令来进入子系统
# 在用户主目录中启动 WSL
wsl ~
# 退出 Linux,回到 Windows 终端
exit
# 导出备份整个环境
wsl --export Ubuntu-24.04 E:\WSL\ubuntu24_backup.tar
# 先创建用于存放新发行版数据的文件夹
mkdir E:\WSL\Ubuntu
# 执行导入
wsl --import Ubuntu-New D:\WSL\Ubuntu D:\wsl_backup\ubuntu_backup.tar --version 2
4、其它命令
打开 WSL Setting,在网络下将默认网络模式(Nat)改为镜像模式(Mirrored),修改后子系统的 IP 会和电脑在同一网段。(需要 Windows 11 22H2 及更高版本)
# 卸载已安装的发行版
wsl --unregister Ubuntu-24.04
# 在 Linux 终端中打开当前目录到 Windows 资源管理器
explorer.exe .
# 终止指定的子系统或阻止其运行
wsl --terminate Ubuntu-24.04
# 终止所有正在运行的子系统
wsl --shutdown
# 已安装的子系统,* 号表示当前使用的子系统
wsl --list -v
# 查看 Linux 分发版是否设置为 WSL 1 或 WSL 2
wsl -l -v
# 设置默认 Linux 发行版
wsl --set-default kali-linux
# 运行指定的 Linux 发行版
wsl --distribution kali-linux --user nine
# 卸载 Linux 发行版
wsl --unregister kali-linux
参考:WSL 的基本命令
5、SSH 登录
# 在用户主目录中启动 WSL
wsl ~
# 切换到 root 用户下
sudo -i
# Ubuntu 24.04 版本及以上更换成国内源
sed -i 's@//.*archive.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list.d/ubuntu.sources && sed -i 's@//.*security.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list.d/ubuntu.sources && apt update
# 安装 OpenSSH 服务端
apt install -y openssh-server
# 启动 SSH 服务,并设置为开机自启
systemctl enable ssh --now
6、固定 IP
# 查看当前 IP
ip a
# 启用 systemd
vim /etc/wsl.conf
[boot]
systemd=true
command = ip address flush dev eth0
[network]
generateResolvConf = false
# 配置静态 IP
vim /etc/systemd/network/static-ip.network
[Match]
Name=eth0
[Network]
Address=192.168.160.100/24
Gateway=192.168.160.1
DNS=114.114.114.114
# 启用并启动服务
systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-resolved
ln -sfv /run/systemd/resolve/resolv.conf /etc/resolv.conf
# 查看 IP 是否配置成功
ip a
7、其它优化
# 用户名高亮显示,重新登录后生效
sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' ~/.bashrc
# 修改主机名称,重新登录后生效
hostnamectl set-hostname nine-test
- 本文作者:Nine
- 本文链接:https://blog.nine.gt.tc/2026/08/26/windows-install-wsl/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)