本文介绍如何在无网络或受限网络环境下,通过离线方式安装 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 安装步骤
- 双击下载好的
.msi
文件,按照向导提示完成安装。 - 安装完成后建议重启计算机,确保 WSL2 内核与驱动初始化完成。
2. 下载 Ubuntu 24.04 LTS 离线包
Ubuntu 在 Microsoft Store 中提供发行版,但需通过特殊方式获取 .appxbundle
文件以便离线安装。
2.1 获取应用商店页面链接
打开网页版 Microsoft Store:
https://apps.microsoft.com搜索
Ubuntu 24.04
,进入 Ubuntu 24.04.1 LTS 详情页。复制地址栏 URL,例如:
https://apps.microsoft.com/detail/9nz3klhxdjp5?hl=zh-CN&gl=CN
2.2 解析真实下载地址
使用第三方解析工具生成离线下载链接:
- 将上一步复制的 URL 粘贴到输入框中
- 下拉框选择 Retail
- 点击 ☑️ 生成链接
2.3 下载 .appxbundle
文件
解析结果中找到最大体积且以 .appxbundle
结尾的文件并下载保存。
示例文件名(版本号会随时间更新):
CanonicalGroupLimited.Ubuntu24.04LTS_2404.1.26.0_neutral_~_79rhkp1fndgsc.AppxBundle
3. 安装 Ubuntu 发行版
- 以管理员权限打开 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 会进入初始化过程。
wsl -d Ubuntu-24.04
初始化过程包括:
- 创建 Linux 用户名(与 Windows 用户无关,自定义)
- 设置该用户密码(输入时不显示字符,回车确认)
完成后即可进入 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 允许防火墙入站
- 查看当前 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
- 将默认入站策略设置为允许:
Set-NetFirewallHyperVVMSetting -Name "{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}" -DefaultInboundAction Allow
若 Windows 防火墙同时允许 SSH 端口入站,即可在局域网中直接通过 SSH 访问 Ubuntu。
7. 设置 WSL 开机自启
7.1 打开任务计划程序
- 按
Win + S
搜索 任务计划程序(Task Scheduler) - 右侧点击 创建任务
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. 总结
本文完整介绍了如何在离线环境中:
- 安装 WSL2 运行时
- 下载并离线安装 Ubuntu 24.04
- 配置 SSH 服务与网络镜像模式
- 允许外部访问并设置 WSL 开机自启
- 迁移 WSL 数据目录至非系统盘
通过以上步骤,您可以在无网络或网络受限环境中,搭建高效、稳定的 Linux 开发环境,并在局域网内无缝访问。