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

【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘

由于个人情况存在差异,请在参考本文进行数据迁移前后多方比对确认,确保无误后再谨慎操作!
【2025-08-03补充】运行过程中发现实际上 docker 的迁移工作可能更为复杂!强烈不推荐本文的 docker 迁移方法(本文已翻车)!!!!没有删除此处只因为留给读者作为警示!!!!!Ubuntu暂时没有排查出问题,但也谨慎参考!!!!

一、情景描述

C 盘空间不够了,用 TreeSize 检测的时候发现之前下载的 docker 和 wsl 占了很大空间,但不敢随便删掉,所以打算从 C 盘迁移到 D 盘。

先用wsl -l -v指令查看一下当前已安装的 wsl。
查看 wsl 版本及状态
发现有 Ubuntu-18.04、docker-desktop-data 和 docker-desktop。由于 docker-desktop 体积远不如其他的大,因此我们对 Ubuntu-18.04、docker-desktop-data 进行迁移,从 C 盘迁移到 D 盘。

二、操作过程

【2025-08-03补充】运行过程中发现实际上 docker 的迁移工作可能更为复杂!强烈不推荐本文的 docker 迁移方法(本文已翻车)!!!!没有删除此处只因为留给读者作为警示!!!!!Ubuntu暂时没有排查出问题,但也谨慎参考!!!!
对于 docker-desktop-data 和 Ubuntu 而言,迁移数据的流程是一致的:先导出tar包,然后注销实例,最后再导入。

(一)迁移 docker-desktop-data【2025-08-03补充】此部分已翻车,仅作警示作用

1. 导出 tar 包

执行命令如下,导出数据为 tar 包(具体的 wsl 名称与目录位置根据自己情况进行修改)。

wsl --export docker-desktop-data D:\WSL\Docker\docker-desktop-data.tar

​​拷贝 docker-desktop-data

2. 注销实例

执行命令如下,注销 docker-desktop-data。注销后可使用wsl -l -v命令验证,发现确实不再有 docker-desktop-data。

wsl --unregister docker-desktop-data

注销 docker-desktop-data

3. 导入数据

执行命令如下,导入数据。导入后可使用wsl -l -v命令验证。

wsl --import docker-desktop-data D:\WSL\Docker\docker-data D:\WSL\Docker\docker-desktop-data.tar --version 2

导入 docker-desktop-data

【2025-08-03补充】存在的问题

然而之后在执行docker images等基本命令后发现,几乎无法在powershell执行这些命令,在UI界面也同样无法操作任何 images 或 volumes。检查后发现Docker Desktop的【设置】->【Resources】下 Disk mage location 的位置仍然在 C 盘,当我尝试变更为 D 盘对应位置时程序会卡死。我不清楚究竟是什么原因造成的,网上也有资料说需要开放 D 盘对应目录的所有权限,但我尝试无果。因此对于上述内容请读者仔细甄别,避免出现数据丢失的情况!!!
Disk mage location 的位置仍然在 C 盘

(二)迁移Ubuntu

迁出Ubuntu也是类似的过程。

1. 导出 tar 包

执行命令如下,导出数据为 tar 包。

wsl --export Ubuntu-18.04 D:\WSL\Ubuntu-18.04\Ubuntu-18.04.tar

Ubuntu 导出

2. 注销实例

执行命令如下,注销 Ubuntu。

wsl --unregister Ubuntu-18.04

注销 Ubuntu

3. 导入数据

导入数据。

wsl --import Ubuntu-18.04 D:\WSL\Ubuntu-18.04 D:\WSL\Ubuntu-18.04\Ubuntu-18.04.tar --version 2

Ubuntu 导入

http://www.dtcms.com/a/312366.html

相关文章:

  • Spring Boot 的事务注解 @Transactional 失效的几种情况
  • MCU中的复位生成器(Reset Generator)是什么?
  • 智能手表项目:原理图
  • kotlin kmp 跨平台环境使用sqldelight
  • Shell脚本-变量如何定义
  • webrtc弱网-QualityScaler 源码分析与算法原理
  • npm ERR! code CERT_HAS_EXPIRED:解决证书过期问题
  • `npm error code CERT_HAS_EXPIRED‘ 问题
  • Azure DevOps — Kubernetes 上的自托管代理 — 第3部分
  • JVM-垃圾回收器与内存分配策略详解
  • Node.js 服务可以实现哪些功能
  • 【python实用小脚本-169】『Python』所见即所得 Markdown 编辑器:写完即出网页预览——告别“写完→保存→刷新”三连
  • 深度学习周报(7.28~8.3)
  • 【机器学习③】 | CNN篇
  • 分享链接实现状态共享
  • 嵌入式相关书籍
  • Javaweb————Windows11系统和idea2023旗舰版手动配置Tomcat9全流程解析
  • FreeRTOS源码分析三:列表数据结构
  • MCP革命:Anthropic如何重新定义AI与外部世界的连接标准
  • Linux系统编程Day4-- Linux常用工具(yum与vim)
  • io_setup系统调用及示例
  • Odoo OWL前端框架全面学习指南 (后端开发者视角)
  • 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法一)单调栈+三次遍历
  • Flink程序关键一步:触发环境执行
  • 机器翻译入门:定义、发展简史与核心价值
  • 云轴科技ZStack AI翻译平台建设实践-聚焦中英
  • 华为智能家居与Spring人工智能
  • 【游戏比赛demo灵感】Scenario No.9(又名:World Agent)
  • 【PDF + ZIP 合并器:把ZIP文件打包至PDF文件中】
  • 【大模型实战】向量数据库实战 - Chroma Milvus