原因:一开始装WSL的时候放在了C盘,这下好了,跑了几个深度学习模型训练后,C盘快满了,这可怎么办?可愁坏了。

没关系,山人自有妙计。我们将WSL迁移到D盘或者E盘呀。

一.迁移操作步骤

前期准备:

a.确认WSL发行版名称

wsl -l -v

输出示例:Ubuntu-22.04 Running 2 记录您的发行版名称

b.用户名验证

  • 若忘记Linux用户名,在备份前检查:

    # 在原始WSL中执行
    echo $USER

    这里我的用户名是:fzyz123,你需要替换成你自己的用户名

🛠 迁移操作流程(经实测验证)

步骤1:完全关闭WSL(powershell)

wsl --shutdown

步骤2:创建完整备份(必须步骤)

# 替换"Ubuntu-22.04"为您的发行版名称
wsl --export Ubuntu-22.04 D:\wsl_backup\ubuntu_backup.tar

步骤3:注销当前发行版

wsl --unregister Ubuntu-22.04

此时C盘空间应立即释放(检查磁盘空间变化)

步骤4:迁移到新位置

wsl --import Ubuntu-22.04 D:\wsl\ubuntu D:\wsl_backup\ubuntu_backup.tar --version 2

参数说明

  • Ubuntu-22.04:您的发行版名称

  • D:\wsl\ubuntu新创建的目标目录(建议空目录)

  • --version 2:强制使用WSL2(必须指定)

步骤5:设置默认用户(最关键步骤)

# 创建配置文件(替换YourUsername为您的Linux用户名)
@"
[user]
default=YourUsername
"@ | Out-File -FilePath D:\wsl\ubuntu\etc\wsl.conf -Encoding utf8

步骤6:验证迁移

wsl -d Ubuntu-22.04
# 在WSL内验证:
whoami  # 应显示您的用户名
df -h   # 检查挂载点是否正常

🔄 备选方案(当主方案遇阻时)

若步骤5不生效,使用注册表修改法:

# 获取发行版UUID
wsl -d Ubuntu-22.04 --exec sh -c "echo \$WSL_DISTRO_NAME"# 修改注册表(替换[UUID]为实际值)
Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss\[UUID]" DefaultUid 0x3E8

 🚀 完整修正版迁移流程如下

注意替换成你自己的用户名。

# 1. 关闭WSL
wsl --shutdown# 2. 正确备份 (注意:无额外参数)
wsl --export Ubuntu-22.04 D:\wsl_backup\fzyz123_backup.tar# 3. 验证备份 (文件应存在且>1GB)
$backup = Get-Item D:\wsl_backup\fzyz123_backup.tar
"备份文件大小: {0:N2} GB" -f ($backup.Length/1GB)# 4. 注销原发行版
wsl --unregister Ubuntu-22.04# 5. 迁移到D盘
wsl --import Ubuntu-22.04 D:\wsl_env\fzyz123 D:\wsl_backup\fzyz123_backup.tar --version 2# 6. 设置用户 (使用您的用户名fzyz123)
@"
[user]
default=fzyz123
"@ | Out-File -FilePath D:\wsl_env\fzyz123\etc\wsl.conf -Encoding utf8# 7. 启动验证
wsl -d Ubuntu-22.04 -e echo "迁移成功! 当前用户: $(whoami)"

二.conda不可用问题

🚨 针对深度学习的特殊检查

迁移后务必验证训练环境:

# 在WSL内执行:
# 1. 检查CUDA
python -c "import torch; print(f'PyTorch {torch.__version__}, CUDA: {torch.cuda.is_available()}')"# 2. 检查存储挂载
df -h | grep -E 'Filesystem|/mnt/d'# 3. 验证用户环境变量
echo $PATH
conda info --envs  # 或 pip list

这里如果出现问题,多半是Conda 环境问题。很可能是由于迁移导致的路径变化或环境变量丢失造成的。如果验证发现conda不可用,那么我们需要正确的配置conda路径,即可。

🔧 Conda 环境恢复方案(针对迁移后问题)

步骤1:定位 Conda 安装位置

# 查找 conda 安装路径
find ~ -name "conda" -type f 2>/dev/null# 典型位置可能是:
# /home/fzyz123/miniconda3/bin/conda
# /home/fzyz123/anaconda3/bin/conda

步骤2:将 Conda 添加到 PATH

# 编辑 bashrc 文件
nano ~/.bashrc# 在文件末尾添加(根据您的实际路径修改)
export PATH="/home/fzyz123/miniconda3/bin:$PATH"# 保存后加载配置
source ~/.bashrc

步骤3:重新初始化 Conda

# 初始化 conda
conda init bash# 关闭并重新打开终端
exit

重新登录 WSL

📊 环境恢复检查清单

步骤命令期望结果
Conda 路径which conda/home/fzyz123/miniconda3/bin/conda
环境列表conda env list显示您的所有环境
环境激活conda activate your_env提示符变化 (your_env) fzyz123@AI0001
Python 路径which python~/miniconda3/envs/your_env/bin/python
CUDA 可用性python -c "import torch; print(torch.cuda.is_available())"True

三.数据集路径优化

作为深度学习工程师,数据集路径优化是提高工作效率和系统性能的关键。

为什么需要优化数据集路径?

  1. 空间管理:C盘空间有限(300GB),D/E盘空间充足

  2. 性能考量:WSL访问Windows分区(/mnt/)比内部文件系统慢

  3. 工作流效率:统一路径减少配置错误

  4. 数据安全:避免误删关键数据

优化方案(针对您的Windows+WSL环境)

1. 最佳存储位置选择

2. 环境变量配置(核心优化)

~/.bashrc中添加:

# 数据集根目录
export DATASET_ROOT="/mnt/d/datasets"# 框架特定缓存路径
export TORCH_HOME="$DATASET_ROOT/torch_cache"
export TFDS_DATA_DIR="$DATASET_ROOT/tfds"
export HF_DATASETS_CACHE="$DATASET_ROOT/huggingface"# 临时数据集路径
export TEMP_DATASET_DIR="~/.cache/datasets"

3.符号链接优化(解决兼容性问题)

对于必须使用特定路径的工具:

# 创建符号链接
ln -s /mnt/d/datasets ~/datasets
ln -s /mnt/d/checkpoints ~/checkpoints# Windows端等效命令(管理员权限)
mklink /J "C:\Users\zongh\datasets" "D:\datasets"

以上,这期的内容就到这里结束了,希望能够帮到大家。

码字不易,动动你的小手,点赞收藏关注吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/88300.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/88300.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/88300.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金融时间序列机器学习训练前的数据格式验证系统设计与实现

金融时间序列机器学习训练前的数据格式验证系统设计与实现 前言 在机器学习项目中,数据质量是决定模型成功的关键因素。特别是在金融时间序列分析领域,原始数据往往需要经过复杂的预处理才能用于模型训练。本文将详细介绍一个完整的数据格式验证系统&…

cocos2dx3.x项目升级到xcode15以上的iconv与duplicate symbols报错问题

cocos2dx3.x项目升级xcode15以上后会有几处报错。1. CCFontAtlas.cpp文件下的iconv与iconv_close的报错。修改如下:// iconv_close(_iconv);iconv_close((iconv_t)_iconv);iconv((iconv_t)_iconv, (char**)&pin, &inLen, &pout, &outLen); /…

HTTP/3.0的连接迁移使用连接ID来标识连接为什么可以做到连接不会中断

一定要结合图文一起理解!! 文章目录文字描述传统方式:HTTP/2 基于 TCP 的连接(就像打固定电话)HTTP/3 基于 QUIC 的连接迁移(就像用带“通话ID”的手机)总结一下图文详解HTTP2.0传统方式&#x…

让工作效率翻倍的终极神器之被工具定义的编程时代(VS Code + GitHub Copilot + JetBrains全家桶)

目录一、引言:被工具定义的编程时代二、背景:传统开发模式的效率瓶颈2.1 认知负荷过载2.2 工具链断层三、效率翻倍工具链深度解析3.1 智能代码编辑器:从打字机到智能助手3.2 版本控制大师:Git的隐藏技能3.3 自动化脚本&#xff1a…

docker部署单机gitlab

环境准备: 证书: acme.sh --issue --dns dns_ali -d gitlab.chandz.com -d *.chandz.comcp /root/.acme.sh/gitlab.chandz.com_ecc/* /data/docker-data-volume/gitlab/ssl/目录: mkdir -p /data/docker-data-volume/gitlab cd /data/docker-…

【K8S】在 Kubernetes 上配置安装 Nginx Ingress 控制器指南

文章目录架构概览先决条件部署方案选择方案一:手动 YAML 部署核心组件详解方案二:Helm快速部署(生产推荐)验证部署DNS配置策略方案A:单域名映射方案B:通配符映射(推荐)应用实战&…

SHA-256算法详解——Github工程结合示例和动画演示

近日笔者在学习区块链的相关知识,接触到SHA-256算法,这里做一个知识梳理和总结。 强烈推荐大家自行去学习下面链接github上的工程,作者的动画演示和解释做的非常出色,逻辑非常清晰,B站搬运的对应的油管的讲解视频也放…

C语言模块化编程思维以及直流电机控制(第四天)

👨‍💻个人主页:开发者-削好皮的Pineapple! 👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 削好皮的Pineapple! 原创 👨‍&#x1f4…

【PTA】数据结构与算法0001:1025 反转链表

文章大纲写在前面测试用例ac代码学习代码知识点小结写在前面 实现思路 结构体封装数据 根据order重新排序k区间值迭代翻转 n整除k,则最后地址输出"-1"非整除,最后剩余区间,原序输出。最后地址输出"-1" 题目有难度&…

深入解析 .NET 泛型:从原理到实战优化

在现代软件开发中,代码复用性和性能优化是开发者永恒的追求。.NET 泛型作为一项强大的语言特性,不仅能够帮助我们消除重复代码,还能显著提升代码的类型安全性和运行效率。本文将带你全面了解 .NET 泛型,从基本概念到高级用法&…

Excel 处理软件 内容复制工具:工作表批量复制 + 合并拆分简洁操作零门槛

各位办公小能手们!今天给你们介绍一款超牛的软件——Excel内容复制工具。软件下载地址安装包 这可是专门为了让Excel数据处理效率蹭蹭往上涨而设计的辅助软件呢!它的主要功能可多啦,能批量复制工作表,还能把好多表格合并到同一个…

【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用

《XGBoost算法》 推荐的学习路径: 【快速实现XGBoost、跑通代码】- 第一部分 【快速掌握XGBoost应用、达到自由调参水平】- 第一部分~第三部分 【快速掌握XGBoost原理、面试得以通关】- 第一部分1 第二部分1.2、2.2 第四部分 目录《XGBoost算法》一 XGBoost的基…

.NET AI 模板

引言 随着人工智能技术的快速发展,AI应用开发已成为开发者必备的技能之一。然而,对于许多.NET开发者来说,如何快速上手AI开发仍然是一个挑战。微软推出的.NET AI模板预览版正是为了解决这一问题而生,为开发者提供了构建智能聊天应…

EFK9.0.3 windows搭建

背景 最近某个功能要使用到ELK(ElasticSearch、Logstash、Kibana)采集日志,对数据进行分析,网上百度了一下,目前推荐不使用Logstash而使用Filebeat ,即EFK。 下载链接 Elasticsearch Kibana Filebeat 安装前提 …

上海新华医院奉贤院区:以元宇宙技术重构未来医疗生态

引言:当医疗遇上元宇宙在数字化转型的浪潮中,上海新华医院奉贤院区以"智慧医院"为定位,率先构建了"元宇宙医院"雏形。通过AI大模型、三维影像分析、AR手术导航等前沿技术的深度融合,医院正在打造一个覆盖全周…

知识竞赛答题pk小程序用户操作手册

知识竞赛答题 PK 小程序用户操作手册 一、注册与登录 用户首次使用答题pk小程序需上传头像,输入昵称,并选择加入团队。如果是企业内部人员使用可开启白名单功能。二、进入答题 PK 模式 登录后,在小程序首页,您可以看到 “单人挑战…

等大小谱聚类

聚类是一种将具有相似特征的数据点进行分组的方法。它广泛应用于探索性数据分析,并已被证明在模式识别、市场和客户细分、推荐系统、数据压缩以及生物数据分析等许多应用中都发挥着重要作用。 尽管聚类算法种类繁多,但没有一种能够生成点数均衡的聚类。…

〔从零搭建〕数据湖平台部署指南

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨杭州奥零数据科技官网&#xff…

Java 导出pdf 写出demo 1、需要设置自定义页眉和文字 2、可以插入表格 3、可以插入图片

以下是一个使用 iText 7 库实现 PDF 导出的 Java 示例&#xff0c;包含自定义页眉、文字、表格和图片功能&#xff1a; 添加 Maven 依赖 <dependencies><!-- iText 7 Core --><dependency><groupId>com.itextpdf</groupId><artifactId>ite…

Ntfs!LfsReadRestart函数分析得到Ntfs!LFS_RESTART_PAGE_HEADER

第一部分&#xff1a;0: kd> p Ntfs!LfsPinOrMapData0x8c: f71797f6 ff15a40016f7 call dword ptr [Ntfs!_imp__CcPinRead (f71600a4)] 0: kd> t nt!CcPinRead: 80bf9a5a 6a2c push 2Ch 0: kd> kc# 00 nt!CcPinRead 01 Ntfs!LfsPinOrMapData 02 N…