WSL2 部署 Ubuntu 24.04(可迁移至其他盘)

🚀 一、 WSL2特点(如果实用的是Mac系统,此文章可以忽略)

在配置深度学习(如 OpenClaw)、后端开发或 Linux 服务环境时,WSL2 相比传统虚拟机(VMware)和双系统具有显著优势:

  1. 基于真实的 Linux 内核,文件 I/O 和编译速度接近原生 Linux,远超 WSL1。
  2. 完美支持 Docker、Systemd 及各类 Linux 专属工具,解决 Windows 环境下的兼容性报错。
  3. 可直接调用显卡算力(CUDA),是 AI 训练和推理的首选方案。
  4. Windows 与 Linux 文件系统互通,无需频繁切换系统。

🛠️ 二、 安装条件

在开始之前,请确保满足以下条件:

  • 系统版本:Windows 10 (2004及以上) 或 Windows 11,最好是新版的Windows 11。
  • 权限要求 :需使用管理员身份运行 PowerShell。
  • 目录准备 :在 D 盘新建文件夹 D:\WSL(用于存放迁移后的系统文件),也可以自定义文件存放目录。

💻 三、 部署与迁移

步骤 1:开启虚拟化功能(两种方式都可以)

**界面方式:**打开控制面板(cmd命令是control),在控制面版依次找到:程序与功能-->启用或关闭Windows功能,进入后勾选Hyper-v和适用于Linux的Windows子系统,然后确定后,根据提示重启电脑即可。

**命令行方式:**以管理员身份打开 PowerShell,依次执行以下命令以启用 WSL 和虚拟机平台:

powershell 复制代码
# 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台功能 (WSL2 必须)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

注意 :命令行方式执行完毕后,请手动重启电脑以确保功能生效。

步骤 2:更新内核与设置默认版本

重启后,再次以管理员身份打开 PowerShell,执行更新并设置默认版本为 2:

powershell 复制代码
# 更新 WSL
wsl --update

# 设置默认版本为 WSL 2(Windows最新系统版本不需要,已默认使用wsl2)
wsl --set-default-version 2

步骤 3:查看并安装 Ubuntu 24.04

查看官方支持的发行版列表:(可省略)

powershell 复制代码
wsl --list --online

执行安装命令(默认安装到 C 盘,当前时间2026年6月25日不加后面的-d参数会默认安装24.04版本不用担心):

powershell 复制代码
wsl --install -d Ubuntu-24.04
  • 提示:安装过程中会要求设置用户名和密码,请务必牢记。密码输入时屏幕不会显示字符,输完回车即可。

步骤 4:导出镜像至 D 盘(迁移出C盘)

为了将系统移至 D 盘,我们需要先关闭实例,将其打包成 tar 文件导出。

  1. 先终止运行当前的Linux系统
bash 复制代码
wsl --terminate Ubuntu-24.04
  1. 等待执行完成,D:\WSL 目录下会生成一个 tar 包。
bash 复制代码
wsl --export Ubuntu-24.04 D:\WSL\Ubuntu24.04.tar
  1. 等待执行完成,D:\WSL 目录下会生成一个 tar 包。

步骤 5:卸载 C 盘临时系统

镜像备份完成后,卸载 C 盘的临时安装以释放空间:

powershell 复制代码
# 语法:wsl --unregister <发行版名称>
wsl --unregister Ubuntu-24.04

步骤 6:从 D 盘导入镜像

将刚才导出的 tar 包重新导入到 D 盘指定目录,并固定为 WSL2 版本:

powershell 复制代码
# 语法:wsl --import <发行版名称> <安装路径> <镜像文件路径> --version 2
wsl --import Ubuntu-24.04 D:\WSL\ D:\WSL\Ubuntu24.04.tar --version 2

步骤 7:配置普通用户与权限(如果导入后默认使用的不是root用户,此步骤可忽略,新版系统默认使用的是自己创建的用户,默认的root账户没有密码,自己可以设置root用户的密码,命令是 sudo passwd root)

导入后默认以 root 身份登录,为了系统安全,建议创建普通用户并赋予 sudo 权限。

  1. 进入系统
  2. 创建新用户 (将 your_username 替换为你想要的用户名):
  3. 赋予管理员权限

步骤 8:设置默认登录用户(看第7步情况,此步骤也可忽略)

为了避免每次进入都是 root,我们需要修改配置文件。

在 Ubuntu 终端内执行以下命令(注意替换用户名):

bash 复制代码
# 切换到 root 权限编辑配置文件
sudo -i

# 写入配置,将 your_username 替换为你的用户名
echo -e "[user]\ndefault=your_username" > /etc/wsl.conf

# 退出 root
exit

步骤 9:重启验证

在 PowerShell 中重启 WSL 使配置生效:

powershell 复制代码
wsl --shutdown

再次查看状态,确认路径和版本:

powershell 复制代码
wsl -l -v

此时,您可以直接在开始菜单搜索"Ubuntu 24.04"启动,默认即为您的普通用户,且数据存储在 D 盘。

💡 四、 扩展

1. 常用 WSL 命令

  • 关闭特定发行版wsl --terminate <发行版名称>
  • 彻底删除发行版wsl --unregister <发行版名称> (慎用,数据会丢失)
  • 查看帮助wsl --help

2. 用户删除方式

如果您创建错了用户想要删除,可以使用以下命令(会同时删除家目录):

bash 复制代码
sudo userdel -r 用户名

3. 清理 Node.js 环境

如果需要在 WSL 中彻底卸载 Node.js,可执行:

bash 复制代码
sudo rm -f /usr/local/bin/node
sudo rm -f /usr/local/bin/npm
sudo rm -rf /usr/local/lib/node_modules
rm -rf ~/.npm

4. 常见问题

  • 导入报错:请检查 D:\WSL 文件夹是否存在,路径中不要包含中文或空格。
  • 默认还是 root :检查 /etc/wsl.conf 内容是否正确,并务必执行了 wsl --shutdown

📝 五、 命令汇总清单

为了方便大家复制操作,以下是全流程 PowerShell 命令汇总(请以管理员身份运行):

步骤 命令 说明
1. 开启功能 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 开启子系统功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 开启虚拟机平台
2. 更新设置 wsl --update 更新内核
wsl --set-default-version 2 设为默认 WSL2
3. 安装Ubuntu wsl --install -d Ubuntu-24.04 默认安装到 C 盘
4. 迁移准备 wsl --terminate Ubuntu-24.04 关闭实例
wsl --export Ubuntu-24.04 D:\WSL\Ubuntu24.04.tar 导出镜像到 D 盘
5. 卸载重装 wsl --unregister Ubuntu-24.04 卸载 C 盘原版
wsl --import Ubuntu-24.04 D:\WSL\ D:\WSL\Ubuntu24.04.tar --version 2 从 D 盘导入镜像
6. 验证 wsl -l -v 查看状态
7. 重启 wsl --shutdown 重启服务生效

原创不易,如果本教程对您有帮助,欢迎点赞、收藏、关注!后续将持续更新 WSL 开发环境优化与 AI 部署教程。