Windows系统下WSL从C盘迁移方案

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

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

一.迁移操作步骤

前期准备:

a.确认WSL发行版名称:

bash 复制代码
wsl -l -v

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

b.用户名验证:

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

    bash 复制代码
    # 在原始WSL中执行
    echo $USER

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

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

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

bash 复制代码
wsl --shutdown

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

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

步骤3:注销当前发行版

bash 复制代码
wsl --unregister Ubuntu-22.04

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

步骤4:迁移到新位置

bash 复制代码
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:设置默认用户(最关键步骤)

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

步骤6:验证迁移

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

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

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

bash 复制代码
# 获取发行版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

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

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

bash 复制代码
# 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不可用问题

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

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

bash 复制代码
# 在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 安装位置

bash 复制代码
# 查找 conda 安装路径
find ~ -name "conda" -type f 2>/dev/null

# 典型位置可能是:
# /home/fzyz123/miniconda3/bin/conda
# /home/fzyz123/anaconda3/bin/conda

步骤2:将 Conda 添加到 PATH

bash 复制代码
# 编辑 bashrc 文件
nano ~/.bashrc

# 在文件末尾添加(根据您的实际路径修改)
export PATH="/home/fzyz123/miniconda3/bin:$PATH"

# 保存后加载配置
source ~/.bashrc

步骤3:重新初始化 Conda

bash 复制代码
# 初始化 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中添加:

bash 复制代码
# 数据集根目录
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.符号链接优化(解决兼容性问题)

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

bash 复制代码
# 创建符号链接
ln -s /mnt/d/datasets ~/datasets
ln -s /mnt/d/checkpoints ~/checkpoints

# Windows端等效命令(管理员权限)
mklink /J "C:\Users\zongh\datasets" "D:\datasets"

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

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

相关推荐
byte轻骑兵3 分钟前
【LMP】规范精讲[12]: 链路层的花名册——一张表数完88条指令的门道
人工智能·蓝牙协议·lmp·蓝牙链路管理·通信学习
萤箜5 分钟前
Chroma、Pinecone、Milvus 选型对比:不同发展阶段该选哪款向量数据库
人工智能
jimmyleeee9 分钟前
Agent安全之九:OWASP ASI09 人机信任利用------当人类成为攻击链上最后一道被攻破的关口
人工智能·安全
Gu_WenYun12 分钟前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融
song1502653729832 分钟前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测
xsd2024111834 分钟前
AI 智能美甲推荐系统技术全解析
人工智能·计算机视觉
原子延迟38 分钟前
批量压缩视频会变大?HandBrake等3款(2026)
图像处理·人工智能·计算机视觉·音视频
其实防守也摸鱼40 分钟前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
Zhao-Jichao43 分钟前
AI Prompting for Everyone 课程笔记 - P19 数据分析 Data Analysis
人工智能·笔记·数据分析
阿里云大数据AI技术1 小时前
MaxAgent 实战课堂(一):从开通到第一次有效提问
人工智能·agent