WSL2 从 C 盘迁移到 D 盘

要将 WSL2 从 C 盘迁移到 D 盘以释放空间,可以按照以下步骤操作:


方法 1:通过导出/导入迁移(推荐)

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

wsl -l -v
# 记录要迁移的发行版名称(如 Ubuntu-20.04)

步骤 2:停止 WSL

wsl --shutdown

步骤 3:导出发行版到文件

wsl --export <发行版名称> D:\wsl-export.tar
# 示例:wsl --export Ubuntu-20.04 D:\wsl-export.tar

步骤 4:注销原发行版

wsl --unregister <发行版名称>
# 示例:wsl --unregister Ubuntu-20.04

步骤 5:导入到新位置

wsl --import <新发行版名称> D:\WSL D:\wsl-export.tar
# 示例:wsl --import Ubuntu-20.04 D:\WSL D:\wsl-export.tar

步骤 6(可选):设置默认用户

如果导入后需要恢复默认用户,在 PowerShell 中执行:

<发行版名称> config --default-user <用户名>
# 示例:ubuntu2004 config --default-user yourname

方法 2:直接移动虚拟硬盘文件(手动操作)

步骤 1:定位 WSL 虚拟硬盘文件

默认路径为:

C:\Users\<用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx

或通过命令查找:

Get-ChildItem -Path ~\AppData\Local\Packages\ -Recurse -Filter *.vhdx

步骤 2:停止 WSL

wsl --shutdown

步骤 3:复制文件到 D 盘

ext4.vhdx 复制到目标位置(如 D:\WSL\ext4.vhdx)。

步骤 4:修改注册表路径

  1. Win + R 输入 regedit 打开注册表。
  2. 导航到路径:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\<随机ID>
    
  3. 修改 BasePath 值为新路径(如 D:\WSL)。

步骤 5:重启 WSL

重新启动发行版即可生效。


注意事项

  1. 备份数据:操作前建议备份重要数据。
  2. 磁盘格式:确保 D 盘为 NTFS 格式。
  3. 权限问题:若导入后无法启动,尝试以管理员权限运行命令。
  4. 清理旧文件:迁移完成后删除 C 盘的原 ext4.vhdx 文件。

完成上述任一方法后,WSL2 将使用 D 盘的空间,有效缓解 C 盘压力。

posted @ 2025-05-09 10:11  charescape  阅读(3391)  评论(1)    收藏  举报