在 Windows 上构建不占 C 盘的科研级 WSL 实验环境(Ubuntu 22.04)

在 Windows 上构建不占 C 盘的科研级 WSL 实验环境(Ubuntu 22.04)

适用人群:

  • 使用 Windows 作为主力实验机器
  • 从事 机器学习 / NLP / LLM / KBQA / 图数据库 等研究
  • C 盘空间紧张,希望 WSL 数据完整放在 D 盘

本文将完整介绍:

  1. 为什么默认 WSL 会疯狂占用 C 盘
  2. 如何从零开始把 Ubuntu 22.04 WSL 安装到 D 盘
  3. 如何在该 WSL 中搭建一个 可长期使用、可复现的科研级 Python / 深度学习环境

全文以"Windows + WSL2 = 主力科研环境"为核心设计理念。


一、为什么默认 WSL 会占 C 盘?(原理必须先搞清)

WSL2 的本质并不是"Linux 进程模拟",而是:

一个运行在 Hyper-V 之上的轻量级 Linux 虚拟机

这个虚拟机的整个 Linux 文件系统,被封装在一个虚拟磁盘文件中:

text 复制代码
ext4.vhdx

默认存放位置

text 复制代码
C:\Users\<你的用户名>\AppData\Local\Packages\<发行版ID>\LocalState\ext4.vhdx

关键结论

  • 即使你在 Linux 内部:

    • 修改 /home
    • 挂载数据目录
  • ext4.vhdx 依然在 C 盘

  • 所有数据增长,最终都会体现在 C 盘空间被吞噬

👉 因此:

唯一真正让 WSL 不占 C 盘的方法,是控制 ext4.vhdx 的物理存放位置


二、WSL 安装方案对比(结论先行)

安装方式 是否真正不占 C 盘 推荐度
wsl --install 直接安装 不推荐
Microsoft Store 安装 不推荐
wsl --import 自定义路径 ⭐⭐⭐⭐⭐
安装后再迁移 ⭐⭐⭐

最佳实践只有一个

从一开始就用 wsl --import,把 ext4.vhdx 放在 D 盘


三、在 D 盘新建 Ubuntu 22.04 WSL(标准做法)

目标效果

  • 发行版名称:Ubuntu-22.04
  • 数据目录:D:\WSL\Ubuntu-22.04\
  • ext4.vhdx 完全位于 D 盘
  • C 盘仅保留极少量 WSL 组件文件

Step 1:准备目录(Windows)

在 D 盘新建目录:

text 复制代码
D:\WSL\Ubuntu-22.04

Step 2:获取 Ubuntu 22.04 RootFS(官方方式)

在 PowerShell 中执行:

powershell 复制代码
wsl --install -d Ubuntu-22.04
wsl --shutdown

随后导出 rootfs:

powershell 复制代码
wsl --export Ubuntu-22.04 D:\WSL\ubuntu-22.04.tar
wsl --unregister Ubuntu-22.04

说明:

  • 这一步只是借用官方镜像生成 rootfs
  • 该发行版马上会被删除,不会长期占用 C 盘

Step 3:在 D 盘重新导入(关键步骤)

powershell 复制代码
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\WSL\ubuntu-22.04.tar --version 2

参数解释:

参数 含义
Ubuntu-22.04 WSL 中显示的发行版名称
D:\WSL\Ubuntu-22.04 ext4.vhdx 的实际存放位置
ubuntu-22.04.tar Linux 根文件系统
--version 2 使用 WSL2

Step 4:清理临时文件

powershell 复制代码
del D:\WSL\ubuntu-22.04.tar

Step 5:启动并配置用户

powershell 复制代码
wsl -d Ubuntu-22.04

默认以 root 身份进入,需要手动创建用户:

bash 复制代码
adduser yourname
usermod -aG sudo yourname

设置默认用户:

powershell 复制代码
ubuntu2204.exe config --default-user yourname

Step 6:验证 ext4.vhdx 位置

powershell 复制代码
wsl --shutdown

确认:

text 复制代码
D:\WSL\Ubuntu-22.04\ext4.vhdx

至此,WSL 的 全部 Linux 数据已彻底脱离 C 盘


四、已有 WSL 的迁移方案(备选)

powershell 复制代码
wsl --shutdown
wsl --export Ubuntu-22.04 D:\WSL\backup.tar
wsl --unregister Ubuntu-22.04
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\WSL\backup.tar --version 2

五、必须避开的常见误区

❌ 误区 1:只迁移 /home

  • ext4.vhdx 仍在 C 盘
  • 问题根本没解决

❌ 误区 2:ext4.vhdx 做软链接

  • 官方不支持
  • 高概率损坏文件系统

❌ 误区 3:安装后强行改路径

  • 没有官方迁移机制
  • 极易翻车

六、在该 WSL 中搭建科研级 Python / ML 环境

以下所有操作均在 Ubuntu 22.04 WSL 内执行

1️⃣ 系统与编译基础

bash 复制代码
sudo apt update
sudo apt upgrade -y

sudo apt install -y \
  build-essential cmake pkg-config \
  git curl wget unzip zip \
  tmux htop tree software-properties-common

2️⃣ 使用 Conda 管理 Python(强烈推荐)

bash 复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc

创建科研主环境:

bash 复制代码
conda create -n research python=3.10 -y
conda activate research

3️⃣ 数值计算与深度学习基础

bash 复制代码
pip install -U numpy scipy pandas scikit-learn matplotlib seaborn tqdm
pip install torch torchvision torchaudio

4️⃣ NLP / LLM / KBQA 核心库

bash 复制代码
pip install -U \
  transformers datasets tokenizers sentencepiece accelerate \
  spacy nltk rapidfuzz rank-bm25 networkx \
  SPARQLWrapper rdflib pyparsing

5️⃣ 实验工程与复现工具

bash 复制代码
pip install -U pyyaml hydra-core rich wandb

6️⃣ 环境验证

bash 复制代码
python - << EOF
import torch, transformers, numpy, pandas, networkx
print('Torch:', torch.__version__)
print('Transformers:', transformers.__version__)
print('OK: research env ready')
EOF

七、总结

通过 WSL2 + D 盘部署 + Conda 管理环境,Windows 完全可以胜任:

  • 日常科研实验
  • LLM / KBQA / 图推理
  • 大规模数据处理与复现

该方案的核心优势是:

  • C 盘零压力
  • 环境高度可控
  • 与 Linux 服务器高度一致
  • 对科研工作极其友好

如果你本身就是 Windows 用户,这几乎是目前性价比最高、工程最稳妥的实验环境方案。

相关推荐
炸膛坦客8 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
广州灵眸科技有限公司9 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
王维同学15 小时前
[原创][Windows C++]LSA 认证、安全与通知包的注册表枚举
c++·windows·安全
程序员Rock15 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机
YCOSA202515 小时前
雨晨 Windows 11 IOT 企业版 LTSC 24H2 轻装 2合1 26100.8968
windows·物联网
汤姆yu16 小时前
CodeGeeX 4完整安装与实操使用全指南
人工智能·windows·ai·智能体·视频模型
通信小小昕16 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
吐了啊取名字太难18 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
CedarQR19 小时前
万字长文:从零在 RK3588 上部署 PaddleSpeech 中文 TTS 全流程(FastSpeech2 + HiFiGAN)
开发语言·c++·嵌入式硬件·ubuntu·json
筱羽_筱羽20 小时前
VS2022 编译SOEM
windows·visualstudio·soem