必须用wsl --export导出、wsl --unregister注销、wsl --import导入三步迁移,严禁手动剪切ext4.vhdx;先查发行版名再操作,名称拼错将导致导入失败且无提示。

Windows 10系统C盘空间告急,WSL2的ext4.vhdx虚拟磁盘文件已悄然膨胀至32GB,而D盘尚有200GB空闲空间——必须把整个Ubuntu子系统连根迁出C盘,否则下次Windows Update就可能失败。
确认当前WSL2发行版名称
以管理员身份打开PowerShell,执行:
wsl -l -v
记下你正在使用的发行版全名(如Ubuntu-22.04),注意大小写和中划线。这一步不能错,【名称拼错会导致后续导入失败且无提示】。如果显示的是“Ubuntu”,说明你安装时未指定版本号,直接用Ubuntu即可。
彻底关闭并导出系统
第一步:强制终止所有WSL2实例
wsl --shutdown
第二步:将当前运行状态完整打包为tar归档
wsl --export Ubuntu-22.04 D:wsl-backupubuntu-2204.tar
注意:D:wsl-backup目录需提前手动创建,否则命令会报错退出;该tar包是完整快照,包含所有已装软件、用户配置和/home文件,不可跳过或压缩为zip。
卸载原系统并清空C盘残留
执行注销命令:
wsl --unregister Ubuntu-22.04
执行后不会有任何输出,但C盘中%LOCALAPPDATA%Packages\LocalState下的ext4.vhdx文件会被立即删除。这一步不可逆,【务必确保上一步tar包已生成且校验无误】。
在D盘重建并导入
方法一:使用wsl --import(推荐)
① 创建目标目录:mkdir D:WSLUbuntu-22.04
② 导入备份并指定为WSL2:wsl --import Ubuntu-22.04 D:WSLUbuntu-22.04 D:wsl-backupubuntu-2204.tar --version 2
③ 恢复默认登录用户(替换yourname为实际用户名):
ubuntu2204 config --default-user yourname
方法二:使用LxRunOffline(适合路径含空格或权限异常时)
下载LxRunOffline-v3.5.0-mingw.zip → 解压到D: ools → 将D: ools加入系统PATH → 管理员CMD中运行:
LxRunOffline move -n Ubuntu-22.04 -d D:WSLUbuntu-22.04
验证迁移结果
重启PowerShell,运行:
wsl -d Ubuntu-22.04
进入后执行:
df -h /
观察Mounted on列是否显示/dev/sdb,且Size值对应D盘剩余空间比例。若仍显示/dev/sda,则说明导入路径错误,需重新检查D:WSLUbuntu-22.04目录是否存在且非空。


















