【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_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
相关推荐
女神下凡32 分钟前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
@兽血沸腾1 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
艺杯羹1 小时前
Windows原生软件锁设计:从暴力杀进程丢数据到零轮询事件驱动架构
windows·系统架构·开源·开源软件·内存管理·开源协议
且从容.4 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道4 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
讯捷蓝达6 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.7 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落9 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨9 小时前
WSL2的安装与使用
linux·wsl
微小的鱼9 小时前
Linux的渲染与显示系统链路
android·java·linux