WSL 发行版管理

安装、管理、切换和删除多个 Linux 发行版


📋 目录


查看发行版

列出已安装的发行版

# 查看所有已安装的发行版
wsl --list
# 或简写
wsl -l
 
# 查看详细信息(包括版本和状态)
wsl --list --verbose
# 或简写
wsl -l -v

输出示例:

  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2
  Debian          Stopped         2
  Ubuntu-20.04    Stopped         1
  • * 表示默认发行版
  • STATE 显示运行状态(Running/Stopped)
  • VERSION 显示 WSL 版本(1 或 2)

查看可用的发行版

# 查看 Microsoft Store 中可用的发行版
wsl --list --online
# 或简写
wsl -l -o

输出示例:

以下是可安装的有效分发的列表。
使用 'wsl --install -d <Distro>' 安装。

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS
Ubuntu-22.04    Ubuntu 22.04 LTS

安装发行版

方法一:使用 wsl 命令

# 安装指定发行版
wsl --install -d Ubuntu-22.04
wsl --install -d Debian
wsl --install -d kali-linux
 
# 安装最新版本的 Ubuntu
wsl --install -d Ubuntu

方法二:从 Microsoft Store 安装

  1. 打开 Microsoft Store
  2. 搜索 Linux 发行版名称(如 “Ubuntu”、“Debian”)
  3. 点击”获取”或”安装”
  4. 安装完成后,从开始菜单启动

方法三:导入自定义发行版

# 从 tar 文件导入
wsl --import <DistroName> <InstallLocation> <TarFile>
 
# 示例
wsl --import MyUbuntu C:\WSL\MyUbuntu ubuntu-22.04.tar

安装到自定义位置

# 指定安装位置
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 ubuntu-22.04.tar

注意:默认情况下,从 Microsoft Store 安装的发行版会安装到 %LOCALAPPDATA%\Packages\ 目录。


切换发行版

设置默认发行版

# 设置默认发行版
wsl --set-default Ubuntu-22.04
wsl --set-default Debian

启动指定发行版

# 启动指定发行版
wsl -d Ubuntu-22.04
wsl -d Debian
 
# 或使用完整命令
wsl --distribution Ubuntu-22.04

在指定发行版中执行命令

# 不进入交互式 shell,直接执行命令
wsl -d Ubuntu-22.04 ls -la
wsl -d Debian -- uname -a
 
# 执行多个命令
wsl -d Ubuntu-22.04 -- bash -c "cd /home && ls -la"

切换 WSL 版本

# 将发行版设置为 WSL 2
wsl --set-version Ubuntu-22.04 2
 
# 将发行版设置为 WSL 1
wsl --set-version Ubuntu-20.04 1
 
# 设置默认 WSL 版本
wsl --set-default-version 2

注意:转换可能需要几分钟时间,取决于发行版大小。


导出与导入

导出发行版

# 导出发行版为 tar 文件
wsl --export Ubuntu-22.04 D:\Backup\ubuntu-22.04-backup.tar
 
# 导出时指定压缩(如果支持)
wsl --export Ubuntu-22.04 D:\Backup\ubuntu-22.04-backup.tar --compress

用途

  • 备份发行版
  • 迁移到其他计算机
  • 创建自定义发行版镜像

导入发行版

# 从 tar 文件导入
wsl --import Ubuntu-22.04-Restored D:\WSL\Ubuntu-22.04-Restored D:\Backup\ubuntu-22.04-backup.tar
 
# 指定 WSL 版本
wsl --import Ubuntu-22.04-Restored D:\WSL\Ubuntu-22.04-Restored D:\Backup\ubuntu-22.04-backup.tar --version 2

迁移发行版位置

# 1. 导出发行版
wsl --export Ubuntu-22.04 D:\Temp\ubuntu-22.04.tar
 
# 2. 注销原发行版
wsl --unregister Ubuntu-22.04
 
# 3. 导入到新位置
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\Temp\ubuntu-22.04.tar
 
# 4. 设置默认用户(如果需要)
ubuntu-22.04 config --default-user username

删除发行版

注销发行版

# 注销发行版(删除但保留数据文件)
wsl --unregister Ubuntu-22.04
 
# 注销所有发行版(谨慎使用)
wsl --unregister *

注意

  • 此操作会删除发行版,但不会删除虚拟硬盘文件(.vhdx)
  • 虚拟硬盘文件通常位于 %LOCALAPPDATA%\Packages\ 或自定义位置

完全删除发行版

# 1. 注销发行版
wsl --unregister Ubuntu-22.04
 
# 2. 手动删除虚拟硬盘文件
# 位置通常在:
# %LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_*\LocalState\
# 或自定义安装位置

从 Microsoft Store 卸载

  1. 打开 Microsoft Store
  2. 点击右上角”…” → “我的库”
  3. 找到要卸载的发行版
  4. 点击”卸载”

更新发行版

更新 WSL

# 更新 WSL
wsl --update
 
# 检查更新状态
wsl --status

更新 Linux 发行版

# 在 WSL 中更新 Ubuntu/Debian
sudo apt update
sudo apt upgrade
 
# 更新所有包(包括系统包)
sudo apt full-upgrade
 
# 清理不需要的包
sudo apt autoremove
sudo apt autoclean

更新发行版到新版本

# 对于从 Microsoft Store 安装的发行版
# 通常会自动更新,或通过 Store 手动更新
 
# 对于自定义导入的发行版
# 需要手动导出、下载新版本、重新导入

发行版状态管理

启动发行版

# 启动默认发行版
wsl
 
# 启动指定发行版
wsl -d Ubuntu-22.04

停止发行版

# 停止指定发行版
wsl --terminate Ubuntu-22.04
 
# 停止所有发行版
wsl --shutdown

查看运行状态

# 查看所有发行版状态
wsl --list --verbose

最佳实践

1. 使用多个发行版

  • 开发环境:使用 Ubuntu LTS(稳定)
  • 测试环境:使用 Debian 或较新版本的 Ubuntu
  • 安全测试:使用 Kali Linux

2. 备份策略

# 定期导出重要发行版
wsl --export Ubuntu-22.04 D:\Backup\ubuntu-22.04-$(Get-Date -Format "yyyyMMdd").tar

3. 磁盘空间管理

# 查看发行版大小
# 虚拟硬盘文件位置:
# %LOCALAPPDATA%\Packages\*\LocalState\ext4.vhdx
 
# 压缩虚拟硬盘(在 PowerShell 中)
wsl --shutdown
Optimize-VHD -Path "C:\Users\YourUsername\AppData\Local\Packages\*\LocalState\ext4.vhdx" -Mode Full

4. 性能优化

  • 使用 WSL 2 以获得更好的性能
  • 将发行版安装在 SSD 上
  • 定期清理不需要的包和文件

📚 参考资源


返回 WSL 知识体系

WSL 发行版管理 Linux发行版