WSL2安装与使用指南
一、WSL2安装与卸载
1-1、安装WSL
一键安装(推荐)
1 | wsl --install |
此命令会自动完成:
- 启用必要的 Windows 功能
- 安装最新的 Linux 内核
- 默认安装 Ubuntu 发行版
安装完成后需要重启计算机

1-2、WSL常用命令
| 命令 | 说明 |
|---|---|
wsl | 启动默认发行版 |
wsl --list --online | 查看可安装的发行版 |
wsl --list | 查看已安装的发行版名称 |
wsl --list --verbose | 显示已安装的发行版名称、运行状态和WSL版本 |
wsl -d Ubuntu-22.04 | 启动指定发行版 |
wsl --shutdown | 关闭所有正在运行的发行版 |
wsl --update | 更新 WSL |
wsl --version | 查看 WSL 版本 |
wsl --set-default Ubuntu-22.04 | 设置默认发行版 |
wsl --set-version Ubuntu-22.04 2 | 转换发行版版本(WSL 1 ↔ WSL 2) |
1-4、注意事项
- 安装 WSL 需要管理员权限
- 卸载发行版会完全删除所有数据,卸载前请备份
- WSL 2 性能更好,推荐使用
1-4、常见问题排查
❌ 问题1:计算机不支持WSL2

在powershell下输入wsl -l -v 也不显示版本
首先确保Hyper-v和适用于linux的windows子系统以及虚拟机平台是开启的

如果这些都没问题,在powershell(管理员模式)下输入如下命令
1 | bcdedit /enum | findstr -i hypervisorlaunchtype |
应该会显示off,那就说明有问题,那就再输入
1 | bcdedit /set hypervisorlaunchtype Auto |
即可解决
二、安装AlmaLinux-9系统
一般企业服务器都是用的**CentOS Linux系统,由于其2021 年底终止更新,于是乎企业环境中出现了CentOS 替代方案** Rocky Linux、AlmaLinux等等
2-1、AlmaLinux-9包管理工具
默认使用 dnf(Dandified Yum),
它是 yum 的下一代版本,在语法上几乎完全兼容 yum。
换句话说:
在 AlmaLinux-9 上,
yum命令仍然可以用,但底层实际上调用的就是dnf。
2-2、卸载Ubuntu Server
在 **PowerShell(管理员)**中执行:
1️⃣ 查看已安装的发行版
1 | wsl --list --verbose |
2️⃣ 注销并卸载(特定发行版)
1 | wsl --unregister Ubuntu |
根据你安装的具体发行版名称,例如:
1 | wsl --unregister Ubuntu-22.04 |
⚠️ 注意:这会删除该发行版的所有数据!
验证卸载
1 | # 检查是否还有发行版 |
如果显示为空或报错,说明卸载成功。
2-3、开始安装
在 PowerShell 中执行:
1 | wsl --install AlmaLinux-9 |
安装过程:
- 系统会开始下载AlmaLinux镜像(文件较大,请耐心等待)
- 显示进度条:
正在下载: AlmaLinux OS 9 [====70.3%====] - 下载完成后开始安装
- 安装完成后会显示:
已成功安装分发。可以通过 "wsl.exe -d AlmaLinux-9" 启动它
2-4、安装完成标志
1 | 正在安装: AlmaLinux OS 9 |
2-5、初始化系统
第一步:启动AlmaLinux
1 | wsl -d AlmaLinux-9 |
第二步:创建UNIX用户账户
系统会提示输入以下信息:
1 | Please create a default UNIX user account. The username does not need to match your Windows username. |
输入步骤:
输入用户名(例如:
admin)1
Enter new UNIX username: admin
设置密码(输入时不会显示)
1
New password:
重复确认密码
1
Retype new password:
第三步:初始化完成
输入完成后,系统会进入bash shell,显示类似:
1 | [admin@host ~]$ |
✅ AlmaLinux初始化完成!
3-3、常用命令
1 | dnf list installed // 列出所有已安装的包 |
三、WSL2基础操作
3-1、查看IP地址
方法一:使用 ip 命令
1 | ip addr show eth0 |
方法二:使用 hostname 命令(推荐)
1 | hostname -I |
方法三:使用 ifconfig 命令
1 | ifconfig eth0 |
注意:此方法需要先安装 net-tools
1 | sudo dnf install net-tools |
卸载某个软件包:
1 | # 卸载指定软件包,但保留配置文件和数据文件 |
关于 IP 地址说明
- eth0: WSL2 虚拟网络接口,通常在
172.x.x.x段 - lo: 本地回环地址
127.0.0.1
示例输出:
1 | $ hostname -I |
这个 IP 地址可以用于从 Windows 访问 WSL2 中的服务
3-2、查看用户信息
查看用户信息
查看当前用户
1 | whoami |
查看所有用户
1 | cat /etc/passwd |
查看所有普通用户(UID >= 1000)
1 | awk -F: '$3 >= 1000 {print $1}' /etc/passwd |
查看当前登录用户的详细信息
1 | id |
密码管理
⚠️ 重要说明
无法直接查看密码,因为密码是加密存储的,在 /etc/shadow 文件中
查看密码状态
1 | sudo passwd -S username |
会显示状态:
P= 已设置密码NP= 未设置密码L= 账户被锁定
设置/修改密码
修改当前用户密码
1 | passwd |
修改其他用户密码(需要 root 权限)
1 | sudo passwd username |
从 Windows 重置 WSL 用户密码
如果忘记了密码,可以在 PowerShell 或 CMD 中执行:
1 | # 1. 以 root 为默认用户 |
或者一条命令:
1 | wsl -u root passwd your_username |
查看 sudo 权限用户
1 | # 查看 sudo 组成员 |
管理用户和权限
1 | # 创建新用户 |
提示:WSL2 首次安装时需要你创建用户和密码,如果忘记需要重置用户账号。
3-3、设置自启动WSL
使用任务计划程序设置自启动
1️⃣ 确认 WSL 发行版名称
在PowerShell终端输入
1 | wsl -l -v |

2️⃣ 打开任务计划程序
- 按
Win + R - 输入
taskschd.msc - 点击”确定”
3️⃣ 创建基本任务
- 在右侧”操作”面板,点击”创建基本任务”
- 名称输入:
自动启动WSL2 - 描述(可选):
开机自动启动AlmaLinux-9 - 点击”下一步”

4️⃣ 设置触发器
- 选择”当计算机启动时”
- 点击”下一步”
5️⃣ 设置操作
- 选择”启动程序”
- 点击”下一步”
6️⃣ 配置程序
- 程序或脚本:输入
wsl.exe - 添加参数:输入
-d AlmaLinux-9(使用创建基本任务描述中的名字AlmaLinux-9) - 点击”下一步”


1 | # 通过命令查找wsl安装路径 |
7️⃣ 完成创建
- 勾选”当单击’完成’时,打开此任务属性的对话框”
- 点击”完成”

8️⃣ 修改任务属性
- 在弹出的属性窗口中:
- 勾选”使用最高权限运行”
- 勾选”不管用户是否登录都要运行”
- 点击”确定”
- 可能需要输入 Windows 密码确认

9️⃣完成测试
1 | # 如果看到 AlmaLinux 在运行列表中,说明配置成功。 |

四、使用FinalShell连接WSL2
4-1、连接原理
WSL2 默认没有开启 SSH 服务,需要手动安装和配置。
4-2、安装和配置SSH服务
1️⃣ 在 WSL2 中安装 SSH 服务
1 | # 更新软件包列表 |
2️⃣ 配置 SSH 服务
自己用可用不配置 用默认的即可
| 配置项 | 默认值 | 说明 |
|---|---|---|
Port | 22 | 默认 SSH 端口 |
PermitRootLogin | prohibit-password | 允许 root 用密钥登录,禁止密码登录 |
PasswordAuthentication | yes | 默认允许密码认证 |
PubkeyAuthentication | yes | 默认启用密钥认证 |
1 | # 编辑 SSH 配置文件 |
修改以下配置项(使用 Ctrl+W 搜索):
1 | Port 22 # 确认端口 |
保存:
按 Ctrl + O(屏幕底部会提示 File Name to Write:)
然后按 Enter 确认保存。
退出:
按 Ctrl + X。
3️⃣ 启动 SSH 服务
1 | # 启动 SSH 服务 |
如果看到以下输出,说明 SSH 服务已成功启动:
1 | Active: active (running) since Sat 2026-01-17 19:50:01 CST; 4s ago |
状态是 active (running),说明服务正在运行。
关键信息:
1 | Server listening on 0.0.0.0 port 22. |
SSH 服务正在监听 22 端口,可以接受连接了。
4️⃣ 设置 SSH 自动启动(可选)
每次启动 WSL2 时自动启动 SSH:
1 | # 设置开机自启 |
5️⃣ 获取 WSL2 的 IP 地址
1 | hostname -I |
记录这个 IP,例如:172.24.240.100
6️⃣ 在 FinalShell 中创建连接
打开 FinalShell
新建连接 → 选择 SSH
填写信息:
- 名称:WSL2-Ubuntu(自定义)
- 主机:
172.x.x.x(你的 WSL2 IP) - 端口:
22 - 认证方式:密码
- 用户名:你的 WSL2 用户名
- 密码:你的 WSL2 密码
保存并连接
4-3、常见问题排查
❌ 问题1:连接超时
1 | # 检查 SSH 是否运行 |
❌ 问题2:端口被占用
1 | # 检查 22 端口是否占用 |
❌ 问题3:防火墙阻拦
1 | # 查看防火墙状态 |
❌ 问题4:IP 地址变化
问题原因:
WSL2 使用虚拟网络适配器,每次重启 WSL2 或 Windows 时,WSL2 的 IP 地址可能会发生变化(例如从 172.17.114.127 变成 172.24.240.100)。这会导致 FinalShell 中保存的连接配置失效,需要频繁更新 IP 地址。
解决方案A:使用 localhost + 端口转发(推荐)
通过 Windows 的端口转发功能,将 Windows 的某个端口映射到 WSL2 的 SSH 端口,这样无论 WSL2 的 IP 如何变化,都可以通过 localhost 连接。
步骤:
- 获取当前 WSL2 的 IP 地址
1 | # 在 WSL2 中执行 |
- 在 Windows PowerShell(管理员)中配置端口转发
1 | # 将 Windows 的 2222 端口转发到 WSL2 的 22 端口 |
- 在 FinalShell 中使用固定地址连接
- 主机:
localhost或127.0.0.1 - 端口:
2222
- 主机:
**⚠️ 注意:**每次 WSL2 IP 变化后,需要重新执行端口转发命令。可以创建一个 PowerShell 脚本自动获取 IP 并配置转发。
解决方案B:使用 Windows Terminal(最简单)
Windows Terminal 是 Windows 10/11 自带的终端工具,可以直接启动 WSL2,无需 SSH 连接。
优点:
- ✅ 无需配置 SSH
- ✅ 无需担心 IP 变化
- ✅ 启动速度快
- ✅ 集成度高
使用方法:
- 打开 Windows Terminal
- 点击下拉箭头,选择 Ubuntu(或你的发行版)
- 直接使用,就像使用 SSH 客户端一样
解决方案C:配置静态 IP(高级)
可以配置 WSL2 使用固定 IP,但需要修改 Windows 和 WSL2 的网络配置,比较复杂,不推荐普通用户使用。
❌ 问题5:密码认证失败
1 | # 确认密码认证已启用 |
4-4、快速测试连接
在 Windows CMD 或 PowerShell 中测试:
1 | ssh your_username@172.x.x.x |
如果能够连接,说明 SSH 配置正确,FinalShell 也应该能连接。
SSH 连接格式说明:
1 | ssh 用户名@IP地址 |
示例:
1 | ssh zheng_hb@172.17.114.127 |
五、关于IP地址变化的详细说明
5-1、为什么WSL2的IP地址会变化?
WSL2 使用虚拟网络适配器(Virtual Network Adapter)来创建独立的网络环境。每次:
- 重启 Windows
- 重启 WSL2(
wsl --shutdown后重新启动) - Windows 网络适配器重置
WSL2 的虚拟网络可能会重新分配 IP 地址,导致 IP 地址发生变化。
示例:
- 第一次启动:
172.17.114.127 - 重启后:
172.24.240.100 - 再次重启:
172.18.56.89
5-2、IP地址变化的影响
影响场景:
- ❌ FinalShell 中保存的连接配置失效
- ❌ 需要频繁更新 IP 地址
- ❌ 如果使用 IP 地址访问 WSL2 中的服务(如 Web 服务器),需要重新配置
不受影响:
- ✅ Windows Terminal 直接启动 WSL2(不依赖 IP)
- ✅ 在 Windows 中通过
localhost访问 WSL2 服务(Windows 会自动处理)
5-3、推荐解决方案对比
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Windows Terminal | 无需配置、稳定可靠、启动快 | 界面相对简单 | 日常开发使用(最推荐) |
| 端口转发 | 可以使用 FinalShell 等专业工具 | 需要手动配置、IP变化后需重新配置 | 需要 FinalShell 的高级功能 |
| 静态IP | IP 固定不变 | 配置复杂、容易出错 | 特殊需求场景 |
5-4、自动端口转发脚本(可选)
如果你坚持使用 FinalShell,可以创建一个 PowerShell 脚本自动配置端口转发:
创建脚本 wsl-port-forward.ps1:
1 | # 获取 WSL2 IP 地址 |
使用方法:
每次启动 WSL2 后,以管理员身份运行此脚本即可。
六、总结
本指南涵盖了 WSL2 的安装、卸载、基础操作和远程连接配置,帮助你快速上手使用 WSL2 开发环境。
主要功能:
- ✅ WSL2 安装与卸载
- ✅ IP 地址查看
- ✅ 用户管理
- ✅ SSH 服务配置
- ✅ FinalShell 远程连接
注意事项:
- 安装和卸载操作需要管理员权限
- 卸载发行版会删除所有数据,请提前备份
- WSL2 的 IP 地址可能会变化:
- 推荐方案:直接使用 Windows Terminal,无需配置,稳定可靠
- 备选方案:使用端口转发 + FinalShell,但需要处理 IP 变化问题
