将WSL从C盘迁移至其他盘

前言

Windows Subsystem for Linux (WSL) 是Windows系统中运行Linux环境的强大工具,但随着使用时间的增长,WSL占用的磁盘空间可能会越来越大,特别是当C盘空间有限时,这可能会成为问题。本文将详细介绍如何将WSL从C盘迁移至其他磁盘,释放宝贵的C盘空间。

操作步骤

这是微软官方推荐的迁移方法,适用于所有WSL版本(WSL1和WSL2)。

步骤1:查看已安装的WSL发行版

打开cmd,运行以下命令查看已安装的发行版:

wsl -l -v

输出示例:

  NAME            STATE           VERSION
* Ubuntu-24.04    Stopped         2
  Debian          Stopped         1

记下你要迁移的发行版名称。

步骤2:导出WSL发行版

选择一个目录存放临时备份文件

wsl --export <发行版名称> <备份文件路径>.tar

例如:

wsl --export Ubuntu-24.04 d:\ubuntu_backup.tar

步骤3:注销原有发行版

导出完成后,注销原有发行版以释放空间:

wsl --unregister <发行版名称>

例如:
wsl --unregister Ubuntu-24.04

步骤4:导入到新位置

现在将备份导入到目标磁盘的新位置:

wsl --import <新发行版名称> <目标目录> <备份文件路径>.tar --version <WSL版本>

例如,将Ubuntu迁移到D盘的WSL目录:

wsl --import Ubuntu-24.04 D:\WSL\Ubuntu24.04 D:\ubuntu_backup.tar --version 2

步骤5:设置默认用户

导入后需要重新设置默认用户(否则会以root身份登录):

  • • 首先运行一次新导入的发行版获取其名称:

wsl -d <新发行版名称>
  • • 退出WSL后,在PowerShell中设置默认用户:

<发行版名称> config --default-user <原用户名>

例如:

ubuntu2404 config --default-user yourusername

步骤6:清理临时文件

确认迁移成功后,可以删除C盘的临时备份文件:

Remove-Item D:\ubuntu_backup.tar