能完成wsl迁移,核心是用wsl --export导出发行版为.tar镜像(需先wsl -l -v查名称、wsl --shutdown确保停止),再用wsl --import指定新路径重建实例(路径须为空、显式加--version 2),最后配置默认用户。
直接用 wsl --export 和 wsl --import 就能完成导出与导入,整个过程不依赖图形界面,全部在 powershell(管理员权限)中执行,核心是打包系统状态 + 换位置重建实例。
导出当前发行版为 tar 镜像
导出前确保目标发行版已停止,否则可能产生不一致的备份。
- 先查清发行版名称和状态:
wsl -l -v,记下你要操作的名字(如 Ubuntu-24.04) - 若状态不是 Stopped,用
wsl --terminate Ubuntu-24.04或wsl --shutdown全局关闭 - 执行导出命令,生成一个完整根文件系统的 tar 包:
wsl --export Ubuntu-24.04 D:\backup\ubuntu2404.tar - 导出耗时取决于系统大小,完成后得到单个
.tar文件,它包含所有用户数据、配置和已装软件
导入镜像到新位置(含非 C 盘路径)
导入不是解压文件夹,而是重建一个可运行的 WSL 实例——自动初始化虚拟磁盘、挂载点和内核关联。
- 先创建空的目标目录(不能有同名文件或子目录):
New-Item -Path "D:\WSL\Ubuntu2404" -ItemType Directory - 运行导入命令,指定名称、安装路径和镜像文件:
wsl --import Ubuntu-24.04 D:\WSL\Ubuntu2404 D:\backup\ubuntu2404.tar --version 2 -
注意:导入路径必须是空文件夹;
--version 2显式指定 WSL2(推荐),避免使用默认版本造成兼容问题 - 成功后,
wsl -l -v会显示新实例,状态为 Stopped,此时尚未设置默认用户
恢复默认登录用户(避免每次进 root)
通过 --import 创建的实例默认以 root 启动,需手动配置普通用户并设为默认。
- 首次启动:
wsl -d Ubuntu-24.04,进入后创建用户(如adduser dev)、加 sudo 权限、设密码 - 退出 WSL,在 PowerShell 中运行:
ubuntu2404 config --default-user dev(把 ubuntu2404 替换为你的发行版实际名称,区分大小写) - 验证:直接运行
wsl -d Ubuntu-24.04,应自动以dev用户登录,whoami可确认
常见问题处理
遇到报错时优先检查三件事:路径是否存在、是否为空、镜像格式是否为 tar。
- 报错
Invalid argument或Access is denied:PowerShell 未以管理员身份运行 - 报错
The specified path does not exist:检查D:\WSL\Ubuntu2404是否真为空目录,或路径拼写错误(反斜杠/斜杠混用) - 镜像不是 .tar?下载的是
.appx或.zip,需先重命名为.zip并解压出内部的.tar文件再导入 - 导入后启动慢或卡住:可能是 WSL2 内核未更新,运行
wsl --update升级后再试











