WSL:离线配置 Ubuntu 开发环境

本文介绍如何在无网络或受限网络环境下,通过离线方式 安装 WSL2 及 Ubuntu 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. 执行以下命令(将路径替换为实际文件路径):
powershell 复制代码
Add-AppxPackage -Path "C:\WSL\Ubuntu24.04\Appx\CanonicalGroupLimited.Ubuntu24.04LTS_2404.1.26.0_neutral_~_79rhkp1fndgsc.AppxBundle"

注意事项:

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

4. 启动并初始化 Ubuntu

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

bash 复制代码
wsl -d Ubuntu-24.04

初始化过程包括:

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

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


5. 配置 SSH 服务

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

bash 复制代码
sudo apt update
sudo apt install openssh-server

5.1 确认服务运行

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

bash 复制代码
sudo vi /etc/ssh/sshd_config

修改完成后重启服务:

bash 复制代码
sudo service ssh restart

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

WSL2 默认使用 NAT 网络模式,外部设备无法直接访问其服务。

Windows 11 提供了 mirrored 网络模式,允许局域网直接访问 WSL2。

6.1 启用 mirrored 网络模式

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

ini 复制代码
[wsl2]
networkingMode=mirrored

重启 WSL 服务以生效:

powershell 复制代码
wsl --shutdown

6.2 允许防火墙入站

  1. 查看当前 WSL 防火墙规则状态:
powershell 复制代码
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. 将默认入站策略设置为允许:
powershell 复制代码
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 实例

powershell 复制代码
wsl --shutdown

8.2 创建目标目录

powershell 复制代码
mkdir D:\WSL\Ubuntu-24.04

8.3 执行迁移命令

powershell 复制代码
wsl --manage Ubuntu-24.04 --move D:\WSL\Ubuntu-24.04

迁移完成后启动验证:

powershell 复制代码
wsl -d Ubuntu-24.04

9. 总结

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

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

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

相关推荐
广州工博科技6 小时前
SAP Joule for Consultants 如何为自动化与集成项目提供支持?
运维·自动化
Lsetea6 小时前
curl访问HTTPS返回304却没有正文:条件请求、缓存与证书验收排查
linux·http·https·ssl证书·curl
Acrellea6 小时前
数据中心这台新变压器,让配电房的电表全失效了
运维·能源
boy快快长大6 小时前
【Jenkins】入门学习
运维·学习·jenkins
NEAI_N6 小时前
嵌入式Linux调试:microcom 串口工具
linux
叼烟扛炮6 小时前
Linux 学习笔记(九):自动化构建神器 Make 与 Makefile
linux·运维·服务器
lisanmengmeng6 小时前
监控Kubernetes集群的GPU资源(三)
linux·容器·kubernetes
北塔软件6 小时前
从根因分析到协同执行,如何让AI运维真正落地?
运维·人工智能
蜡笔羊驼6 小时前
ModuleNotFoundError: No module named ‘torchvision.transforms.functional_tensor‘
linux·人工智能·python
箓维6 小时前
线程池&&线程安全与可重入
linux·网络·安全