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"

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

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

相关推荐
大明者省5 小时前
《青花》歌曲,使用3D表现出意境
人工智能
一朵小红花HH6 小时前
SimpleBEV:改进的激光雷达-摄像头融合架构用于三维目标检测
论文阅读·人工智能·深度学习·目标检测·机器学习·计算机视觉·3d
Daitu_Adam6 小时前
R语言——ggmap包可视化地图
人工智能·数据分析·r语言·数据可视化
weixin_377634846 小时前
【阿里DeepResearch】写作组件WebWeaver详解
人工智能
AndrewHZ6 小时前
【AI算力系统设计分析】1000PetaOps 算力云计算系统设计方案(大模型训练推理专项版)
人工智能·深度学习·llm·云计算·模型部署·大模型推理·算力平台
AI_gurubar6 小时前
[NeurIPS‘25] AI infra / ML sys 论文(解析)合集
人工智能
胡耀超7 小时前
PaddleLabel百度飞桨Al Studio图像标注平台安装和使用指南(包冲突 using the ‘flask‘ extra、眼底医疗分割数据集演示)
人工智能·百度·开源·paddlepaddle·图像识别·图像标注·paddlelabel
聆思科技AI芯片7 小时前
【AI入门课程】2、AI 的载体 —— 智能硬件
人工智能·单片机·智能硬件
YCOSA20257 小时前
ISO 雨晨 26200.6588 Windows 11 企业版 LTSC 25H2 自用 edge 140.0.3485.81
前端·windows·edge
优秘智能UMI7 小时前
UMI企业智脑智能营销:多平台视频矩阵引领营销新潮流
大数据·运维·人工智能·ai·矩阵·aigc