实战篇 | WSL迁移Linux系统到非系统盘(完整实操版)
1. 操作步骤
1.1 确认要导出的Linux系统是否存在(可跳过)
# 终端命令
# 查看通过WSL安装的Linux系统列表
wsl -l
1.2 导出Linux系统为tar包
# 终端命令
# 格式(过)
wsl --export <Distribution Name> <File Name>
# 示例(灵活)
# path替换为找得到的文件路径,导出到其他盘也可以,C盘可能会更快些,用完的tar包最后也可以删除
# 确保存放tar包的空间 >= Linux系统大小!
wsl --export Ubuntu-22.04 C:/path/Ubuntu-22.04.tar注:要是原来的系统东西比较多,结合硬盘性能等估计一下一些可以暂时挪出去的大文件和文件夹:是导出比较快,还是移动到其他地方比较快(后面再移动回来),该删的删掉一些也可以
1.3 删除原Linux系统
# 终端命令
# 格式(过)
wsl --unregister <Distribution Name>
# 示例(灵活)
wsl --unregister Ubuntu-22.04
1.4 在非系统盘创建Linux系统文件的存放文件夹
新建文件夹,如D:\WSL_System\Ubuntu_22_04
1.5 导入tar包回Linux系统
# 终端命令
# 格式(过)
wsl --import <Distribution Name> <Install Location> <File Name>
# 示例(灵活)
wsl --import Ubuntu-22-04 D:/WSL_System/Ubuntu_22_04 C:/path/Ubuntu-22.04.tar
1.6 验证
检查步骤1.4新建的文件夹(如D:\WSL_System\Ubuntu_22_04
)下是否包含ext4.vhdx
文件,并确认文件的大小是否正常(和步骤1.2生成的tar包简单对比下)
1.7 使用
# 终端命令(可跳过)
wsl -l
# 启动对应Linux系统,如Ubuntu-22.04(如果是默认的Linux系统,可以直接通过wsl启动)
wsl -d Ubuntu-22.04
2. 参考资料
2.1 WSL 的基本命令
https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands#export-a-distribution