【WSL】安装并配置适用于Linux的Windows子系统(WSL)

安装并配置适用于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

如果换源后出问题,可随时恢复:

bash 复制代码
sudo 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_configPort 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: diskpartselect vdisk file="D:\WSL\ext4.vhdx"attach vdisk readonlycompact vdiskdetach 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
相关推荐
布史2 小时前
Tailscale虚拟私有网络指南
linux·网络
水天需0102 小时前
shift 命令详解
linux
wdfk_prog2 小时前
[Linux]学习笔记系列 -- 内核支持与数据
linux·笔记·学习
Xの哲學3 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
深圳市恒讯科技3 小时前
Linux 文件权限指南:chmod 755、644、drwxr-xr-x 解析
linux·服务器·xr
Wpa.wk3 小时前
性能测试工具 - JMeter工具组件介绍二
运维·经验分享·测试工具·jmeter·自动化·json
朝阳5813 小时前
Ubuntu 22.04 安装 Fcitx5 中文输入法完整指南
linux·运维·ubuntu
xingzhemengyou13 小时前
Linux taskset指令设置或查看进程的 CPU 亲和性
linux·服务器
开开心心就好3 小时前
图片格式转换工具,右键菜单一键转换简化
linux·运维·服务器·python·django·pdf·1024程序员节