WSL:离线配置 Ubuntu 开发环境

发布于:2025-09-13 ⋅ 阅读:(15) ⋅ 点赞:(0)

本文介绍如何在无网络或受限网络环境下,通过离线方式安装 WSL2Ubuntu 24.04 LTS,并完成基础配置、网络调整及迁移优化。


1. 安装 WSL2 运行时

WSL(Windows Subsystem for Linux) 是微软推出的 Windows 下 Linux 子系统。
其中 WSL2 版本提供完整的 Linux 内核,支持更高的兼容性与性能,是当前推荐版本。

1.1 下载地址

在微软官方发布页下载离线 .msi 安装包:

https://github.com/microsoft/WSL/releases

截至本文撰写时,最新稳定版本为 2.5.10.0,根据 CPU 架构选择下载:

架构 下载地址
ARM64 wsl.2.5.10.0.arm64.msi
x64 wsl.2.5.10.0.x64.msi

1.2 安装步骤

  1. 双击下载好的 .msi 文件,按照向导提示完成安装。
  2. 安装完成后建议重启计算机,确保 WSL2 内核与驱动初始化完成。

2. 下载 Ubuntu 24.04 LTS 离线包

Ubuntu 在 Microsoft Store 中提供发行版,但需通过特殊方式获取 .appxbundle 文件以便离线安装。

2.1 获取应用商店页面链接

  1. 打开网页版 Microsoft Store
    https://apps.microsoft.com

  2. 搜索 Ubuntu 24.04,进入 Ubuntu 24.04.1 LTS 详情页。

  3. 复制地址栏 URL,例如:

    https://apps.microsoft.com/detail/9nz3klhxdjp5?hl=zh-CN&gl=CN
    

2.2 解析真实下载地址

使用第三方解析工具生成离线下载链接:

访问 https://store.rg-adguard.net

  • 将上一步复制的 URL 粘贴到输入框中
  • 下拉框选择 Retail
  • 点击 ☑️ 生成链接

2.3 下载 .appxbundle 文件

解析结果中找到最大体积且以 .appxbundle 结尾的文件并下载保存。

示例文件名(版本号会随时间更新):

CanonicalGroupLimited.Ubuntu24.04LTS_2404.1.26.0_neutral_~_79rhkp1fndgsc.AppxBundle

3. 安装 Ubuntu 发行版

  1. 管理员权限打开 PowerShell
  2. 执行以下命令(将路径替换为实际文件路径):
Add-AppxPackage -Path "C:\WSL\Ubuntu24.04\Appx\CanonicalGroupLimited.Ubuntu24.04LTS_2404.1.26.0_neutral_~_79rhkp1fndgsc.AppxBundle"

注意事项:

  • 路径不要包含中文或空格
  • 推荐放置于纯英文目录下,例如 C:\WSL\Appx

4. 启动并初始化 Ubuntu

安装完成后,首次启动 Ubuntu 会进入初始化过程。

wsl -d Ubuntu-24.04

初始化过程包括:

  1. 创建 Linux 用户名(与 Windows 用户无关,自定义)
  2. 设置该用户密码(输入时不显示字符,回车确认)

完成后即可进入 Ubuntu 终端环境。


5. 配置 SSH 服务

如果需要在局域网或远程通过 SSH 登录 Ubuntu,请执行以下操作:

sudo apt update
sudo apt install openssh-server

5.1 确认服务运行

默认配置即可使用,如需调整可编辑配置文件:

sudo vi /etc/ssh/sshd_config

修改完成后重启服务:

sudo service ssh restart

6. 配置网络镜像模式并允许入站访问

WSL2 默认使用 NAT 网络模式,外部设备无法直接访问其服务。
Windows 11 提供了 mirrored 网络模式,允许局域网直接访问 WSL2。

6.1 启用 mirrored 网络模式

在用户目录下新建或编辑 .wslconfig 文件(例如 C:\Users\<用户名>\.wslconfig):

[wsl2]
networkingMode=mirrored

重启 WSL 服务以生效:

wsl --shutdown

6.2 允许防火墙入站

  1. 查看当前 WSL 防火墙规则状态:
Get-NetFirewallHyperVVMSetting -PolicyStore ActiveStore -Name "{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}"

典型输出:

Name                  : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}
Enabled               : NotConfigured
DefaultInboundAction  : Block
DefaultOutboundAction : Allow
LoopbackEnabled       : True
AllowHostPolicyMerge  : True
  1. 将默认入站策略设置为允许:
Set-NetFirewallHyperVVMSetting -Name "{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}" -DefaultInboundAction Allow

若 Windows 防火墙同时允许 SSH 端口入站,即可在局域网中直接通过 SSH 访问 Ubuntu。


7. 设置 WSL 开机自启

7.1 打开任务计划程序

  1. Win + S 搜索 任务计划程序(Task Scheduler)
  2. 右侧点击 创建任务

7.2 配置任务属性

标签 配置内容
常规 任务名称如 Start WSL Ubuntu,勾选 以最高权限运行
触发器 新建触发器 → 选择 在系统启动时
操作 新建操作 → 程序或脚本填写 wsl → 添加参数填写 -d Ubuntu-24.04
条件 取消 仅在计算机使用交流电源时启动
设置 勾选 如果任务失败,重新启动任务,可设置最大尝试次数

完成后保存任务。


8. 迁移 Ubuntu 安装位置

默认情况下,WSL 发行版存放在 C:\Users\<用户名>\AppData\Local\Packages 目录下,可能占用大量系统盘空间。
可将其迁移至其他磁盘,例如 D:\WSL

8.1 关闭所有 WSL 实例

wsl --shutdown

8.2 创建目标目录

mkdir D:\WSL\Ubuntu-24.04

8.3 执行迁移命令

wsl --manage Ubuntu-24.04 --move D:\WSL\Ubuntu-24.04

迁移完成后启动验证:

wsl -d Ubuntu-24.04

9. 总结

本文完整介绍了如何在离线环境中:

  1. 安装 WSL2 运行时
  2. 下载并离线安装 Ubuntu 24.04
  3. 配置 SSH 服务与网络镜像模式
  4. 允许外部访问并设置 WSL 开机自启
  5. 迁移 WSL 数据目录至非系统盘

通过以上步骤,您可以在无网络或网络受限环境中,搭建高效、稳定的 Linux 开发环境,并在局域网内无缝访问。