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

【完整教程】WSL发行版迁移到D盘

要将当前安装在C盘的WSL发行版迁移到D盘,可通过​​导出/导入法​​实现,这是最通用且安全的方法。以下是详细步骤:


📦 ​​一、导出/导入法迁移WSL(推荐)​

✅ ​​步骤1:准备工作​
  1. ​关闭所有WSL实例​​:
    wsl --shutdown  # 终止所有运行中的WSL
  2. ​查看当前发行版名称​​:
    wsl -l -v  # 记录需迁移的发行版名称(如 `Ubuntu-22.04`)
🗂️ ​​步骤2:导出发行版到tar文件​
wsl --export <发行版名称> D:\wsl-backup.tar

​示例​​:

wsl --export Ubuntu-22.04 D:\wsl-backup.tar
  • D:\wsl-backup.tar 是导出的备份文件路径,可自定义。
🗑️ ​​步骤3:注销原发行版​
wsl --unregister <发行版名称>

​示例​​:

wsl --unregister Ubuntu-22.04  # 删除C盘中的旧实例,释放空间
📥 ​​步骤4:导入到D盘新位置​
wsl --import <发行版名称> D:\WSL\Ubuntu D:\wsl-backup.tar --version 2

​参数说明​​:

  • <发行版名称>:与注销前一致(如 Ubuntu-22.04
  • D:\WSL\Ubuntu:​​D盘目标目录​​(需提前创建)
  • --version 2:强制使用WSL2(推荐)
👤 ​​步骤5:设置默认用户​​(避免启动后默认为root)
<发行版名称>.exe config --default-user <原用户名>

​示例​​:

ubuntu2204.exe config --default-user yourname  # 针对Ubuntu 22.04

其他发行版替换可执行文件名(如 kali.exe)。

✔️ ​​步骤6:验证迁移​
wsl -d <发行版名称>  # 启动WSL
df -h /               # 检查根目录是否在D盘(如 `/mnt/d/WSL/Ubuntu`)

⚙️ ​​二、其他方法补充​

​方法二:wsl --manage 直接移动(仅限Windows 11 22H2+)​
wsl --shutdown
wsl --manage <发行版名称> --move D:\WSL\Ubuntu

​适用场景​​:
无需导出/导入,但需最新Windows版本支持。

​方法三:注册表修改默认路径(仅限新安装)​
  1. 打开注册表:Win + R → 输入 regedit
  2. 导航至:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
  3. 新建字符串值 → 命名 DefaultBasePath → 值设为 D:\WSL
  4. ​此后新安装的发行版将自动存到D盘​​。

⚠️ ​​注意事项​

  1. ​空间要求​​:
    • D盘需有足够空间(建议 ≥10GB)。
  2. ​权限问题​​:
    • 所有命令需在​​管理员权限的PowerShell​​中执行。
  3. ​CUDA等环境兼容性​​:
    • 迁移后需重新验证CUDA路径(如 /usr/local/cuda)是否正常。
  4. ​备份重要性​​:
    • 导出tar文件后暂不删除,待验证成功后再清理。

💎 ​​迁移前后路径对比​

​项目​迁移前(C盘)迁移后(D盘)
​WSL镜像文件​C:\Users\<用户>\AppData\Local\Packages\...D:\WSL\Ubuntu\ext4.vhdx
​启动命令​wsl不变(自动指向新位置)
​磁盘占用​释放C盘空间占用D盘空间

完成迁移后,可删除备份文件 D:\wsl-backup.tar 以释放空间。

迁移后,WSL的所有数据(包括已安装的CUDA、Python环境)均保留,仅存储位置变更,不影响开发环境使用。若遇启动失败,检查路径权限或重新设置用户即可。

http://www.xdnf.cn/news/14447.html

相关文章:

  • 【Block总结】NeLU(负斜率线性单元)函数|最新激活函数|独家复现|即插即用
  • 【AI论文】Saffron-1:LLM安全保证的推理缩放范例
  • Redis 6.2.6 安装教程 - 从源码编译到配置启动(Linux环境)
  • 本地访问远程vps中的sqlite数据库中的内容之(二)使用Python和web访问远程sqlite
  • 构建esp-IDF出现的(Git仓库所有权检测)问题
  • linux thermal framework(4)_thermal governor
  • 安卓9.0系统修改定制化____安卓9.0系统精简 了解系统app组件构成 系统app释义 常识篇 一
  • Leetcode 刷题记录 13 —— 图论
  • Qdrant向量数据库的增删改查
  • Java + Spring Boot 后端防抖实现方案
  • nrf52811墨水屏edp_service.c文件学习
  • YOLO优化之双池化下采样融合块、注意力引导逆残差块
  • 【学习笔记】深入理解Java虚拟机学习笔记——第6章 类文件结构
  • CppCon 2016 学习: std::accumulate EXPLORING AN ALGORITHMIC EMPIRE
  • ubuntu 22.04 安装部署elasticsearch 7.10.0详细教程
  • Linux服务器入门教程
  • React forwardRef 与 useImperativeHandle 深度解析
  • LangGraph 深度应用指南:构建下一代Agent系统
  • 使用VSCode开发MCU,FreeRTOS进Hard_Fault调试
  • JVM——JVM中的扩展之道
  • 基于二进制XOR运算的机器人运动轨迹与对称图像自动生成算法
  • 基于深度学习的智能交通流量预测系统:技术与实践
  • 批量下载图片小工具
  • 【项目实训】【项目博客#07】HarmonySmartCodingSystem系统前端开发技术详解(5.12-6.15)
  • 寄存器的使用
  • Number.toFixed() 与 Math.round() 深度对比解析
  • 【SpringCloud】2.0 服务治理——nacos
  • LangGraph--设计一个给出标准提示词模板的聊天机器人
  • 探索RAGFlow:解锁生成式AI的无限潜能(2/6)
  • 蒸馏微调DeepSeek-R1-Distill-Qwen-7B