《Windows 下的 Linux 神器:WSL 2 极简安装与非系统盘迁移全指南》

对于经常折腾 DevOps 自动化部署、跑本地 Docker 容器或者进行 AI 模型推理测试的开发者来说,一个原生的 Linux 环境是刚需。尤其是不想忍受 Windows 版 Docker Desktop 那极其臃肿的内存占用时,在 WSL 2(Windows Subsystem for Linux 2)底层部署纯血的原生 Docker,是最高效的解决方案。

但 WSL 2 默认会将系统文件和拉取的庞大镜像全部堆在 C 盘。今天这篇教程,就带你走一遍“极速安装(附避坑指南) + 无损迁移非系统盘 + 网络环境调优”的全流程。

阶段一:安装 WSL 2 核心环境与避坑指南

这里提供两种安装方式:常规的命令行安装(默认装在 C 盘,需后续迁移)和硬核的镜像导入法(直接安家在 D 盘)。

路线 A:官方命令行一键安装(推荐大多数开发者)

  1. 打开管理员终端: 右键点击 Windows 开始菜单图标,选择 终端 (管理员)Windows PowerShell (管理员)
  2. 查询可用列表: 输入 wsl -l -o 查看支持的系统列表。
  3. 指定版本安装: 例如安装 Ubuntu 24.04:PowerShellwsl --install -d Ubuntu-24.04

🔥 史诗级大坑预警:虚拟化报错

很多小伙伴敲完回车后,屏幕会爆红提示“未启用虚拟化”。这并非电脑损坏,而是主板出厂时锁定了硬件虚拟化功能。

解法: 重启电脑,狂按 F2 / F12Delete 键进入 BIOS 设置。在高级设置或 CPU 选项中,找到 Intel VT-xVirtualization Technology 或 AMD 对应的 SVM Mode,将其状态改为 Enabled (开启),按 F10 保存重启后,即可一路绿灯完成安装。

路线 B:硬核导入法(安装任意版本并直达 D 盘)

如果微软列表里没有你想要的特定版本,可以直接使用 Rootfs 镜像导入法,彻底跳过后续的 C 盘迁移步骤

  1. 前往 Linux 官方镜像站下载对应版本的 rootfs.tar.xz 压缩包。
  2. 在 D 盘新建安装文件夹(如 D:\WSL\Debian-13)。
  3. 在 PowerShell 执行导入命令解压部署:PowerShellwsl --import Debian-13 D:\WSL\Debian-13 D:\Downloads\debian-13-rootfs.tar.xz
  4. 输入 wsl -d Debian-13 进入系统即可。

阶段二:将路线 A 的系统无损迁移至 D 盘 (两种流派)

如果你使用了路线 A,现在系统的本体正躺在 C 盘。这里为你提供两种迁移流派。

性能提示:目标盘必须是高速固态硬盘,若是机械硬盘会导致读写性能断崖式下降。

流派一:VHDX 物理直移法(极客秒传流,速度极快)

这是利用新版 WSL 特性的高效玩法,全程只需几秒钟,且不需要额外的硬盘空间来存放临时文件。

1.彻底关闭 WSL:确保文件未被占用。

打开 PowerShell,输入命令:wsl --shutdown

2.转移 ext4.vhdx 文件:找到并剪切系统的虚拟物理硬盘。

使用 Everything 等搜索工具全盘搜索 ext4.vhdx(默认隐藏在 C 盘的 AppData 目录下)。找到后,将其剪切粘贴到 D 盘的目标目录(例如 D:\WSL\Ubuntu\ext4.vhdx)。

3.注销 C 盘原注册信息:极其重要:必须确认文件已移走。

执行 wsl -l -v 确认系统名称,然后执行注销:

PowerShell

wsl --unregister Ubuntu-24.04

4.在原处重新挂载:让系统重新识别虚拟盘。

执行原地导入命令:

PowerShell

wsl --import-in-place Ubuntu-24.04 D:\WSL\Ubuntu\ext4.vhdx

流派二:官方标准打包法(传统稳妥流)

如果你使用的是较老版本的 Windows,或者直移法报错,可以使用微软官方传统的“打包再解包”大法。缺点是耗时较长,且需要双倍的临时硬盘空间。

  1. 关闭子系统: wsl --shutdown
  2. 打包导出(耗时取决于系统大小): wsl --export Ubuntu-24.04 D:\ubuntu-backup.tar
  3. 注销原系统释放 C 盘: wsl --unregister Ubuntu-24.04
  4. 导入到 D 盘并解包: wsl --import Ubuntu-24.04 D:\WSL\Ubuntu D:\ubuntu-backup.tar (成功后可删除 tar 文件)。

关键收尾:恢复默认登录用户

无论使用哪种流派,重新注册的系统默认都会以 root 账户登录。请在 PowerShell 中执行以下命令恢复普通用户身份:

PowerShell

Ubuntu-24.04 config --default-user 你的用户名

阶段三:进阶环境调优

系统安家落户后,强烈建议顺手完成以下两项高阶配置。

1. 限制内存“无底洞”

WSL 2 默认会动态占用系统最高 50% 的内存。按下 Win + R 键输入 %USERPROFILE% 回车,新建 .wslconfig 文件,写入以下内容限制资源:

Ini, TOML

[wsl2]
memory=8GB          # 限制最大内存
processors=4        # 限制 CPU 核心数
pageReporting=true  # 开启空闲内存释放

执行 wsl --shutdown 后下次启动生效。

2. 打通宿主机网络(搭配自定义路由加速)

WSL 2 处于独立的虚拟网段。如果你在宿主机上使用了 cfy 等自己编写的路由优选或代理加速脚本,可以通过以下配置让 WSL 内核共享网络环境:

在 Linux 的 ~/.bashrc~/.zshrc 末尾添加:

Bash

# 获取 Windows 宿主机 IP
export hostip=$(ip route | awk '/default/ { print $3 }')
# 假设代理本地监听 7890 端口,请按实际情况修改
export ALL_PROXY="http://$hostip:7890"

执行 source ~/.bashrc。至此,你在终端内部署原生 Docker、拉取 GitHub 源码库时,网络将会丝般顺滑。!

mcx

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注