WSL2迁移教程:如何备份和转移Ubuntu子系统到新位置

WSL2迁移教程:如何备份和转移Ubuntu子系统到新位置

前言

Windows Subsystem for Linux (WSL) 是Windows系统上的一个非常强大的功能,它允许用户在Windows环境中运行Linux系统。
随着使用时间的增长,WSL占用的磁盘空间可能会越来越大(请参考我在这篇文章中介绍的清理WSL2 Linux Ubuntu空间的方法:清理WSL2 Linux Ubuntu空间,其中介绍了WSL2的虚拟磁盘的“只扩不缩”的特性,也就是即使你删除了WSL2中的文件,如果你不压缩这个虚拟磁盘,它占用Windows挂载盘的空间不会释放)。有时候我们需要将其迁移到其他磁盘分区(尽量避免占用系统盘的空间)以释放系统盘空间。
本文将详细介绍如何备份WSL2中的Ubuntu发行版并将其迁移到新位置。

环境准备

  • Windows 10或Windows 11系统
  • 已安装WSL2
  • PowerShell管理员权限
  • 足够的目标磁盘空间

迁移步骤详解

1. 查看当前WSL发行版状态

首先,我们需要查看当前系统中已安装的WSL发行版及其状态:

wsl -l -v

输出结果:

  NAME      STATE           VERSION
* Ubuntu    Running         2

这表明我们当前有一个名为Ubuntu的WSL发行版,它正在运行,版本为WSL2。

2. 关闭所有WSL实例

在进行备份前,我们需要关闭所有正在运行的WSL实例:

wsl --shutdown

3. 导出WSL发行版

接下来,将Ubuntu发行版导出为tar文件:

wsl --export Ubuntu F:\WSL2_Ubuntu\Ubuntu.tar

这个命令会将Ubuntu发行版导出到F盘的WSL2_Ubuntu文件夹下,文件名为Ubuntu.tar。请根据你的电脑的实际情况修改导出路径,尽量避免WSL的虚拟磁盘ext4.vhdx占用系统盘(Windows系统的系统盘盘符一般是C:盘)的空间(安装WSL2的时候默认是安装在系统盘的)。

4. 注销原有WSL发行版

导出完成后,我们需要注销原有的Ubuntu发行版:

wsl --unregister Ubuntu

系统会显示"正在注销…",表示正在删除原有的Ubuntu发行版。

5. 导入WSL发行版到新位置

最后,将之前导出的tar文件导入到新位置:

wsl --import Ubuntu F:\WSL2_Ubuntu F:\WSL2_Ubuntu\Ubuntu.tar

这个命令会将Ubuntu发行版导入到F盘的WSL2_Ubuntu文件夹下。

6. 验证迁移结果

完成导入后,我们可以再次查看WSL发行版状态:

wsl -l -v

输出结果:

  NAME      STATE           VERSION
* Ubuntu    Running         2

可以看到,Ubuntu发行版已经成功迁移,并且状态为运行中。

迁移后的注意事项

  1. 默认用户设置:使用--import导入的WSL发行版默认用户为root,如果需要设置回原来的用户,可以通过修改/etc/wsl.conf文件来实现。

  2. 文件权限:迁移后可能需要检查一些文件的权限,确保它们仍然正确。

  3. 备份文件处理:迁移成功后,可以选择保留或删除原来的备份文件(Ubuntu.tar),视个人需求而定。

完整操作日志

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\windows\system32> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
PS C:\windows\system32> wsl --shutdown
PS C:\windows\system32> wsl --export Ubuntu F:\WSL2_Ubuntu\Ubuntu.tar
PS C:\windows\system32> wsl --unregister Ubuntu
正在注销...
PS C:\windows\system32> wsl --import Ubuntu F:\WSL2_Ubuntu F:\WSL2_Ubuntu\Ubuntu.tar
PS C:\windows\system32> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
PS C:\windows\system32>

总结

通过以上步骤,我们成功地将WSL2中的Ubuntu发行版从原来的位置迁移到了新的位置(F盘)。这种方法不仅可以用于释放系统盘空间,还可以作为WSL环境的备份方案,避免重新配置环境的麻烦。


对于经常使用WSL的开发者来说,掌握这种迁移方法非常有用,特别是在系统盘空间紧张或需要重装系统时。希望本教程对大家有所帮助!欢迎在评论区留言交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值