WSL2 与 Ubuntu 22.04 基础环境部署指南

欢迎关注专栏: AI 开发技术


WSL2 与 Ubuntu 22.04 基础环境部署指南

文章目录

  • [WSL2 与 Ubuntu 22.04 基础环境部署指南](#WSL2 与 Ubuntu 22.04 基础环境部署指南)
    • [1. 业务背景 / 核心问题](#1. 业务背景 / 核心问题)
    • [2. 核心安装流程](#2. 核心安装流程)
      • [2.1 启用系统级特性](#2.1 启用系统级特性)
      • [2.2 安装并配置 WSL2](#2.2 安装并配置 WSL2)
      • [2.3 Ubuntu22.04 (WSL) 终端的日常启停](#2.3 Ubuntu22.04 (WSL) 终端的日常启停)
    • [3. 常见问题排查:网络与软件源优化](#3. 常见问题排查:网络与软件源优化)
      • [3.1 解决 localhost 代理未镜像问题](#3.1 解决 localhost 代理未镜像问题)
      • [3.2 替换国内 APT 镜像源](#3.2 替换国内 APT 镜像源)
    • [4. 总结](#4. 总结)

关键词 :WSL2, Ubuntu, 网络代理镜像, 国内软件源
阅读耗时:约 10 分钟

本文为个人技术学习笔记分享,记录工程实践过程,仅供参考。


1. 业务背景 / 核心问题

在 Windows 生态下进行全栈与中间件开发时,原生环境常面临系统兼容性与性能瓶颈。Windows Subsystem for Linux (WSL2) 结合 Ubuntu 22.04 提供了接近原生 Linux 的开发体验。本文主要解决 WSL2 的标准化安装,以及开发者常遇到的网络代理失效痛点。

2. 核心安装流程

2.1 启用系统级特性

必须先开启 Windows 的"适用于 Linux 的 Windows 子系统"和"虚拟机平台"功能。

控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统和Windows虚拟机监控程序平台

管理员权限的 PowerShell 中执行:

powershell 复制代码
# 启用 WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完毕后,请务必重启计算机使内核功能生效。

2.2 安装并配置 WSL2

重启后,继续在 PowerShell 中设置默认架构版本并安装 Ubuntu 22.04 LTS:

可选:不更新可能报错,运行 wsl.exe --update 更新。

powershell 复制代码
# 设置默认架构为 WSL2
wsl --set-default-version 2

# 查看可以安装的Linux
wsl.exe --list --online
shell 复制代码
# 在线安装 Ubuntu 22.04
wsl.exe --install Ubuntu-22.04

安装过程中,系统会提示创建 UNIX 用户名与密码,按提示输入即可完成系统初始化。


查看已安装的Linux

shell 复制代码
wsl.exe --list

2.3 Ubuntu22.04 (WSL) 终端的日常启停

  • 启动 :在终端输入 wsl -d Ubuntu-22.04 或从开始菜单直接启动。
  • 退出当前会话 :输入 exit 或按 Ctrl + D
  • 完全关闭实例 :在 Windows 侧执行 wsl --shutdown

3. 常见问题排查:网络与软件源优化

3.1 解决 localhost 代理未镜像问题

在使用 WSL2 时,终端常会出现如下报错警告:

wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

核心原因:宿主机(Windows)开启了网络代理,但在 NAT 模式下,WSL 实例默认无法直接走宿主机的代理通道。

解决方案 :通过修改 .wslconfig 开启镜像网络模式。

  1. 在 Windows 资源管理器中进入 C:\Users\<你的Windows用户名> 目录。

  2. 创建或编辑 .wslconfig 文件,写入以下配置:

    shell 复制代码
    [experimental]
    autoMemoryReclaim=gradual
    networkingMode=mirrored
    dnsTunneling=true
    firewall=true
    autoProxy=true

    如果 Windows 提示"文件名不合法",可以先保存为 wslconfig.txt,然后在命令行里重命名:ren wslconfig.txt .wslconfig

  3. 在 PowerShell 执行 wsl --shutdown 后重新进入 Ubuntu,警告即可解除。

3.2 替换国内 APT 镜像源

为保障后续开发组件下载顺畅,需将 Ubuntu 默认镜像源替换为国内(如阿里/清华)源。

bash 复制代码
# 1. 备份原配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# (可选)检查是否备份完成
cat /etc/apt/sources.list.bak

# 2. 编辑源列表
sudo nano /etc/apt/sources.list

清除原内容,写入阿里源配置(以 Jammy 版本为例):

shell 复制代码
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

ctrl+o 保存

ctrl+x 退出

保存后更新包索引:

bash 复制代码
sudo apt update

4. 总结

本文梳理了 WSL2 + Ubuntu 22.04 的工程化基础安装流程,并着重解决了 NAT 模式下网络代理失效的痛点。拥有纯净且网络畅通的 Linux 底层后,即可开始构建更上层的全栈与中间件开发环境。

相关推荐
feng_you_ying_li几秒前
liunx之信号介绍(3),各种中断的介绍和系统调用的本质以及用户态与内核态的具体介绍
linux
阿里云云原生几秒前
告别 30 分钟故障演练!ChaosBlade AI 让混沌工程像“聊天”一样简单
人工智能·阿里云·云原生·chaosblade
东坡肘子几秒前
稳定 > 新功能 -- 肘子的 Swift 周报 #138
人工智能·swiftui·swift
架构源启几秒前
Spring AI进阶系列(14)- 2026 可观测性最佳实践:从链路追踪到企业级 AI 治理落地
java·人工智能·spring
Anchenry1 分钟前
CoinTrail-智能Ai记账软件
人工智能·软件工程·软件需求
superantwmhsxx2 分钟前
ChatGPT Images 2.0 角色一致性实战:如何在多轮对话中保持人物形象统一
人工智能·chatgpt
黎阳之光3 分钟前
虚实同源·数智治水:黎阳之光视频孪生,重构智慧水务新范式
运维·物联网·算法·安全·数字孪生
IOT.FIVE.NO.13 分钟前
Claude code+Vscode+Remote ssh+ 服务器自定义第三方API配置保姆级教程
服务器·vscode·ssh
饿了吃洗衣凝珠4 分钟前
【无标题】
运维·服务器·网络
悟乙己4 分钟前
在Netflix实现机器学习民主化:构建模型生命周期图
人工智能·机器学习