安装并配置适用于Linux 的Windows子系统(WSL)
- 引言
- 一、安装WSL
- 二、手动下载并安装Ubuntu(或其他发行版)
-
- [2.1 从官方镜像站下载 WSL 发行版包](#2.1 从官方镜像站下载 WSL 发行版包)
- [2.2 手动导入并安装](#2.2 手动导入并安装)
- [2.3 验证安装](#2.3 验证安装)
- 三、给WSL更换清华源(可选)
- 四、使用Xshell连接WSL(可选)
-
- [4.1 下载并安装 Xshell](#4.1 下载并安装 Xshell)
- [4.2 在 WSL 中安装并配置 OpenSSH Server](#4.2 在 WSL 中安装并配置 OpenSSH Server)
- [4.3 在Xshell中配置连接](#4.3 在Xshell中配置连接)
- 五、WSL常用命令
-
- [5.1 基础信息查看](#5.1 基础信息查看)
- [5.2 动与关闭](#5.2 动与关闭)
- [5.3 安装与卸载发行版](#5.3 安装与卸载发行版)
- [5.4 导入与导出(迁移/备份)](#5.4 导入与导出(迁移/备份))
- [5.5 版本管理(WSL 1 ↔ WSL 2)](#5.5 版本管理(WSL 1 ↔ WSL 2))
- [5.6 网络与 SSH(连接 Xshell 等)](#5.6 网络与 SSH(连接 Xshell 等))
- [5.7 文件系统互访](#5.7 文件系统互访)
- [5.8 高级配置](#5.8 高级配置)
-
- [1. 全局配置文件(控制内存、swap、内核等)](#1. 全局配置文件(控制内存、swap、内核等))
- [2. 单个发行版配置](#2. 单个发行版配置)
- [5.9 清理与优化](#5.9 清理与优化)
- [5.10 实用技巧](#5.10 实用技巧)
- [5.11 总结:最常用 5 条命令](#5.11 总结:最常用 5 条命令)
引言
适用于 Linux 的 Windows 子系统(WSL)是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双重启动。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
一、安装WSL
右键单击并选择"以管理员身份运行 ",在管理员模式下打开 PowerShell,输入 wsl --install 命令,然后重新启动计算机。
bash
wsl --install
完成后在PowerShell下运行如下命令可以查看已经安装的Linux发行版:
bash
wsl --list --verbose

但是 ,不出意外的话就要出意外了。
国内环境下,由于 GitHub 连接不稳定,应该是无法直接安装 Linux 系统。运行上述代码时会出现如下错误:
无法从"https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json"提取列表分发。操作超时。
错误代码: Wsl/InstallDistro/WININET_E_TIMEOUT
出现上述问题则需要手动安装 Linux 发行版。
二、手动下载并安装Ubuntu(或其他发行版)
2.1 从官方镜像站下载 WSL 发行版包
访问 Ubuntu 资源官网:https://releases.ubuntu.com/
这里选择下载 Ubuntu 24.04 LTS:

点进去之后找到 WSL image 并下载:

2.2 手动导入并安装
在 WSL 中导入并安装 Linux 发行版的命令语法如下:
bash
wsl --import <发行版名称> <安装目录> <tar 或 wsl 包路径> [选项]
比如我在 PowerShell 中运行如下命令进行安装:
bash
wsl --import Ubuntu-24.04 "D:\ProgramData\WSL\Ubuntu-24.04" "C:\Users\wyq15\Downloads\ubuntu-24.04.3-wsl-amd64.wsl" --version 2
2.3 验证安装
完成后在 PowerShell 下运行如下命令可以查看已经安装完毕:
bash
wsl --list --verbose

三、给WSL更换清华源(可选)
在 WSL 中安装的 Ubuntu 版本在使用 apt 安装软件时速度较慢,因此更换国内源,这里采取自动更换的方式,确保更换无误。
备份原始配置:
bash
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
如果换源后出问题,可随时恢复:
bashsudo mv /etc/apt/sources.list.bak /etc/apt/sources.list sudo apt update
更换源代码如下:
bash
UBUNTU_CODENAME=$(lsb_release -cs)
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $UBUNTU_CODENAME main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $UBUNTU_CODENAME-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $UBUNTU_CODENAME-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $UBUNTU_CODENAME-security main restricted universe multiverse" | sudo tee /etc/apt/sources.list
更新软件包索引:
bash
sudo apt clean # 清理旧缓存
sudo apt update # 从新源拉取软件列表
四、使用Xshell连接WSL(可选)
在正常使用时 PowerShell 感觉用的并不习惯,因此采用 Xshell 通过 SSH 远程控制。这里需要下载一些搭配使用的软件。
4.1 下载并安装 Xshell
官网免费授权版本:https://www.xshell.com/zh/free-for-home-school/

直接下载并安装就行了,这里就不过多赘述了。
4.2 在 WSL 中安装并配置 OpenSSH Server
- 启动 WSL
bash
wsl -d Ubuntu-24.04
- 更新包列表并安装 openssh-server
bash
sudo apt update
sudo apt install openssh-server -y
由于后续要编辑配置,我习惯使用 vim ,因此这里也装个 vim :
bash
sudo apt install vim -y

- 修改
SSH配置(关键!关键!关键! )
默认SSH端口是22,但 Windows 可能已占用(如 Windows 自带的OpenSSH服务)。建议改为非冲突端口,例如2222:
bash
sudo vim /etc/ssh/sshd_config
找到 #Port 22,修改为:
bash
Port 2222

同时确保以下选项启用:
bash
PermitRootLogin yes # 如果你想用 root 登录
PasswordAuthentication yes # 允许密码登录(Xshell 需要)


修改完后保存::wq。
- 启动 SSH 服务
bash
sudo systemctl restart ssh

- 设置开机自启(可选)
bash
sudo systemctl enable ssh

- 设置root用户密码
bash
sudo passwd

4.3 在Xshell中配置连接

连接成功

五、WSL常用命令
当然可以!以下是一份 WSL(Windows Subsystem for Linux)常用命令速查清单 ,涵盖 管理发行版、启动/关闭、导入导出、版本切换、网络配置 等高频操作,适用于 WSL 1 和 WSL 2(以 PowerShell 或 CMD 为主)。
5.1 基础信息查看
| 命令 | 说明 |
|---|---|
wsl -l |
列出已安装的发行版(简略) |
wsl -l -v |
列出所有发行版 + 状态 + WSL 版本(最常用✅) |
wsl --status |
查看 WSL 整体状态(内核版本、默认发行版等) |
wsl -d <名称> |
启动指定发行版(如 wsl -d Ubuntu-24.04) |
wsl |
启动默认发行版 |
5.2 动与关闭
| 命令 | 说明 |
|---|---|
wsl --shutdown |
立即关闭所有 WSL 虚拟机(释放内存/CPU,推荐日常使用✅) |
wsl --terminate <发行版名> |
强制终止某个发行版(如 wsl --terminate Ubuntu-24.04) |
wsl -d <名称> -u <用户名> |
以指定用户身份启动(如 wsl -d Ubuntu -u alice) |
5.3 安装与卸载发行版
| 命令 | 说明 |
|---|---|
wsl --install |
安装默认发行版(Ubuntu)和 WSL 2(需管理员权限) |
wsl --install -d <发行版名> |
安装指定发行版(如 wsl --install -d Debian) |
wsl --unregister <发行版名> |
彻底删除该发行版及其所有数据(不可逆⚠️) |
wsl --set-default <发行版名> |
设置默认启动的发行版 |
💡 可用发行版列表:
Ubuntu,Debian,KaliLinux,openSUSE-Leap-15.5,SLES-15-SP5等(需先在 Microsoft Store 安装或手动导入)
5.4 导入与导出(迁移/备份)
| 命令 | 说明 |
|---|---|
wsl --export <名称> <备份路径.tar> |
导出发行版为 tar 包(用于备份或迁移) 例:wsl --export Ubuntu D:\backup\ubuntu.tar |
wsl --import <新名称> <安装目录> <tar路径> [--version 2] |
从 tar 包导入新发行版 例:wsl --import MyUbuntu D:\WSL\MyUbuntu D:\backup\ubuntu.tar --version 2 |
✅ 这是将 WSL 移到 D 盘的标准方法!
5.5 版本管理(WSL 1 ↔ WSL 2)
| 命令 | 说明 |
|---|---|
wsl --set-version <名称> 2 |
将发行版升级到 WSL 2(推荐✅) |
wsl --set-version <名称> 1 |
降级到 WSL 1(兼容性需求) |
wsl --default-version 2 |
设置新安装发行版默认使用 WSL 2 |
💡 WSL 2 性能更好,但需要 Windows 10 2004+ 或 Win11。
5.6 网络与 SSH(连接 Xshell 等)
| 操作 | 说明 |
|---|---|
在 WSL 中安装 SSH: sudo apt install openssh-server |
启用 SSH 服务 |
修改端口: sudo nano /etc/ssh/sshd_config → Port 2222 |
避免与 Windows 冲突 |
启动 SSH: sudo service ssh start |
手动启动 |
| Windows 防火墙放行 2222 端口 | 否则 Xshell 无法连接 |
Xshell 连接地址: 主机:127.0.0.1,端口:2222 |
本地回环连接 |
5.7 文件系统互访
| 路径 | 说明 |
|---|---|
| Windows → WSL | 在 WSL 中访问:/mnt/c/, /mnt/d/ 等 |
| WSL → Windows | 在 Windows 中访问: \\wsl$\<发行版名>\(资源管理器地址栏输入) 例:\\wsl$\Ubuntu-24.04\home |
✅ 推荐用
\\wsl$方式在 Windows 中直接操作 Linux 文件!
5.8 高级配置
1. 全局配置文件(控制内存、swap、内核等)
-
路径:
%USERPROFILE%\.wslconfig -
示例:
ini[wsl2] memory=4GB processors=2 swap=2GB swapFile=D:/WSL/swap.vhdx localhostForwarding=true -
修改后执行:
wsl --shutdown生效
2. 单个发行版配置
-
路径(在 WSL 内):
/etc/wsl.conf -
示例:
ini[user] default = alice [automount] enabled = true options = "metadata,umask=22,fmask=11"
5.9 清理与优化
| 命令 | 说明 |
|---|---|
wsl --update |
更新 WSL 内核(需联网) |
wsl --update rollback |
回滚到上一个内核版本 |
手动压缩 vhdx: diskpart → select vdisk file="D:\WSL\ext4.vhdx" → attach vdisk readonly → compact vdisk → detach vdisk |
减小虚拟硬盘占用 |
5.10 实用技巧
- 快速进入 WSL 目录 :在 Windows 资源管理器地址栏输入
\\wsl$ - 默认用户不是 root ?在
/etc/wsl.conf中设置[user]\ndefault = yourname - C 盘满了 ?用
wsl --export+wsl --import迁移到 D 盘 - 忘记密码 ?以 root 启动:
wsl -u root,然后passwd username重置
5.11 总结:最常用 5 条命令
powershell
wsl -l -v # 查看所有发行版状态
wsl --shutdown # 关闭所有 WSL(日常必用)
wsl --export Ubuntu backup.tar # 备份
wsl --import NewUbuntu D:\WSL\NewUbuntu backup.tar --version 2 # 迁移
wsl --set-version Ubuntu 2 # 升级到 WSL 2