当前位置: 首页 > news >正文

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

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

文章目录

  • WSL2迁移教程:如何备份和转移Ubuntu子系统到新位置
    • 前言
    • 环境准备
    • 迁移步骤详解
      • 1. 查看当前WSL发行版状态
      • 2. 关闭所有WSL实例
      • 3. 导出WSL发行版
      • 4. 注销原有WSL发行版
      • 5. 导入WSL发行版到新位置
      • 6. 验证迁移结果
    • 迁移后的注意事项
    • 完整操作日志
    • 总结

前言

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

相关文章:

  • [C++面试] C++中各类括号的差异:[]、{}、<>、()
  • Spring Boot 集成 MongoDB 时自动创建的核心 Bean 的详细说明及表格总结
  • 【HFP】蓝牙HFP服务层连接与互操作性核心技术研究
  • Siamrpn跟踪模型转RKNN模型
  • 工业级远程无线开关控制模块--轻松实现一对多MESH组网
  • #关于process.env.NODE_ENV 与 import.meta.env 相关了解
  • AE MDX II 电源 User Manual
  • C++11(右值引用和移动语义)
  • stm32week10
  • TensorFlow深度学习实战——字符嵌入、子词嵌入、句子嵌入和段落嵌入
  • 笔试专题(七)
  • Linux 指令初探:开启终端世界的大门
  • 野草云防火墙风险分析及 Docker 使用注意事项
  • 互联网三高-高性能之JVM调优
  • 网络安全知识点
  • 2022第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(题解解析)
  • 前端大文件上传方案【断点续传】与【切片上传】的差异
  • 如何开发 HTML 游戏
  • 9. 索引与检索(Indexing Retrieval):构建企业级知识库的基石
  • 自回归(Autoregression)是什么?在大语言模型中自回归的应用
  • 合肥做网站好的公司/营业推广的目标通常是
  • 赣州北京网站建设/整合营销传播方案案例
  • 深圳分销网站建设/网站优化外包费用
  • 深圳购物网站建设价格/网站创建流程
  • 杭州做网站要多少钱/1688如何搜索关键词排名
  • 石家庄做网络推广的网站/阿里巴巴官网首页