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

别再让WSL2吃光C盘!手把手教你将Ubuntu 20.04搬家到D盘(微软商店版)

WSL2 Ubuntu迁移全指南:释放C盘空间的终极方案

你是否也经历过这样的场景:刚装好的WSL2 Ubuntu系统,没过多久C盘就亮起了红色警告?作为开发者,我们常常需要在Windows环境下使用Linux子系统进行开发测试,但微软商店默认安装的WSL2会占用大量C盘空间,这对SSD容量有限的用户来说简直是场噩梦。今天,我将分享一套经过实战验证的完整迁移方案,帮你把Ubuntu系统从C盘安全转移到D盘或其他非系统分区。

1. 理解WSL2存储机制与迁移原理

WSL2采用虚拟化技术运行完整的Linux内核,这意味着它需要存储整个Linux文件系统。默认情况下,微软商店安装的Ubuntu会将这些文件存放在%LOCALAPPDATA%\Packages\目录下,具体路径类似于:

C:\Users\[用户名]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_[随机字符串]\LocalState\ext4.vhdx

这个ext4.vhdx文件就是虚拟硬盘映像,随着使用会不断膨胀。迁移的核心思路是通过WSL提供的导出导入功能,将这个虚拟硬盘转移到其他分区。

为什么传统方法无法直接移动?

  • WindowsApps文件夹受系统保护
  • 直接复制vhdx文件会导致权限问题
  • 开始菜单快捷方式与原始安装绑定

2. 迁移前的准备工作

2.1 系统环境检查

首先确认你的环境符合以下要求:

  • Windows 10版本1903或更高/Windows 11
  • 已启用WSL2功能(可通过wsl --set-default-version 2设置)
  • 目标分区有足够空间(建议至少20GB空闲)

2.2 定位Ubuntu安装文件

  1. 打开文件资源管理器,显示隐藏文件和系统保护文件
  2. 导航至C:\Program Files\WindowsApps
  3. 找到类似CanonicalGroupLimited.Ubuntu20.04onWindows_[版本号]的文件夹

版本识别技巧

  • 数字最大的文件夹通常是最新版本
  • 确认文件夹内包含install.tar.gz文件
  • 可通过修改日期辅助判断

3. 分步迁移操作指南

3.1 导出现有系统

建议先清理不必要的文件再导出:

# 在Ubuntu终端中执行 sudo apt clean sudo rm -rf /var/cache/apt/archives/*

然后关闭WSL实例:

wsl --shutdown

3.2 创建新系统映像

在目标分区(如D盘)创建存储目录:

mkdir D:\WSL\Ubuntu-20.04

执行导入命令(替换路径中的版本号):

wsl --export Ubuntu D:\temp\ubuntu_backup.tar wsl --unregister Ubuntu wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\temp\ubuntu_backup.tar --version 2

关键参数说明

  • --version 2确保使用WSL2
  • 最后一个参数是导出的备份文件路径
  • 新实例名称可自定义(如Ubuntu-Drive)

3.3 配置默认用户

导入后需要设置默认登录用户:

ubuntu2004 config --default-user [你的用户名]

如果忘记原用户名,可在导出前通过whoami命令查询。

4. 迁移后优化与问题解决

4.1 快捷方式修复

原始开始菜单快捷方式会失效,可创建新的快捷方式:

  1. 右键桌面 → 新建 → 快捷方式
  2. 输入位置:wsl -d Ubuntu-20.04
  3. 命名并固定到开始菜单

4.2 磁盘空间回收

确认新系统运行正常后,可安全删除:

  1. 原始C盘的vhdx文件
  2. WindowsApps中的安装包
  3. 临时备份的tar文件

空间回收对照表

项目典型大小是否可删除
原始vhdx10-50GB✔️
install.tar.gz200MB✔️
临时备份同vhdx✔️
WindowsApps元数据100MB

4.3 自动压缩优化

WSL2虚拟磁盘不会自动收缩,需手动优化:

diskpart # 在DISKPART提示符下执行 select vdisk file="D:\WSL\Ubuntu-20.04\ext4.vhdx" attach vdisk readonly compact vdisk detach vdisk exit

5. 高级技巧与长期管理

5.1 多版本共存方案

利用WSL的实例隔离特性,可以:

wsl --import Ubuntu-Test D:\WSL\Test D:\temp\ubuntu_backup.tar

不同实例完全独立,适合测试不同环境。

5.2 定期备份策略

建议创建自动化备份脚本:

# backup_wsl.ps1 $date = Get-Date -Format "yyyyMMdd" wsl --export Ubuntu-20.04 D:\WSL\Backups\ubuntu_$date.tar

可配合Windows任务计划定期执行。

5.3 磁盘空间监控

设置资源管理器中的"WSL"文件夹显示大小,或使用工具:

# 在Ubuntu中安装ncdu sudo apt install ncdu # 分析磁盘使用 ncdu /

迁移完成后,我的开发环境终于不再受C盘空间困扰。记得首次迁移后检查所有开发工具和配置是否正常,特别是Docker等与WSL集成的服务。对于团队开发,可以将这套流程文档化,确保所有成员环境一致。

http://www.zskr.cn/news/1439811.html

相关文章:

  • Boss直聘批量投简历终极指南:5分钟完成100份简历投递的求职神器
  • GESP6级C++考试语法知识(四十二、动态规划----线性DP(三、最长上升子序列(LSI)启蒙))
  • 绍兴黄金回收必看:实时金价、克重、成色三个硬指标 - 专业黄金回收
  • Sharder-Chain与Bean Cloud:基于PoS+PoC共识的分布式存储与数据存证实践
  • 北京黄金回收避坑指南:揭秘核心商圈套路与靠谱机构选择 - 专业黄金回收
  • 避坑指南:在Windows上配置Realsense D415 + YOLOv8环境,跑通图像识别与点云融合
  • 手把手教你用TI的DLP-EVM-GUI软件,快速调试一台3D打印用的DLP光机(以4K 405nm型号为例)
  • 基于视频孪生统一时空基准的动态目标三维跨镜溯源技术
  • 告别Ubuntu 18.04多网卡抢网!手把手教你用netplan配置有线/无线路由优先级(含yaml文件详解)
  • GHelper终极指南:如何为华硕笔记本安装轻量级控制中心,彻底告别Armoury Crate臃肿问题
  • 别再死记硬背了!用这3个免费在线工具,5分钟搞定PAD图和N-S图作业
  • 有哪些简单好用的微信投票小程序推荐?试试海投票 - 微信投票小程序
  • 基于 PLC 的农村户用光沼联合发电控制系统的研究(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)_文章底部可以扫码
  • 深圳金价高位震荡,市民如何把握黄金变现窗口与回收渠道全解析 - 专业黄金回收
  • RV1126边缘计算板卡在智慧零售场景下的落地:从2T算力到客流统计的完整配置指南
  • 从一次近5000张分表的启动优化实战,聊聊ShardingSphere元数据加载的‘前世今生’
  • Java求职面试:从Spring到微服务的技术探讨
  • JDK动态代理与CGLib动态代理
  • GitHub Copilot实战测评:AI编程助手如何影响开发效率与代码质量
  • 家用人工智能实用功能揭秘:包裹识别、漏水检测等让生活更便捷!
  • CSS网页布局
  • Unity 2020 + EasyAR 4.2 保姆级教程:从导入SDK到打包APK,手把手教你做个图像识别AR App
  • 告别卡死!用这招彻底解决Win11上VMware Player/Workstation的CPU占用率爆满问题
  • HALCON图像处理进阶:从均值滤波到冲击滤波,如何为你的二维码识别选择最佳‘美颜’算子?
  • PLC电梯控制系(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)_文章底部可以扫码
  • 模型上下文协议:构建 AI 应用的“通用连接器”与深度解析
  • 第四章综合实验
  • AI搜索变革下SEO策略重塑:从关键词到意图理解的技术演进
  • 昆明除甲醛公司口碑排行榜:绿舒环保等5家深度测评 - 绿舒环保母婴除甲醛
  • Vue版电子病历前端工程包:31个开箱即用组件+多语言HTML页面+配套工具脚本