【计算机常识】--Windows 安装 WSL2 并运行 Ubuntu 22.04

有时候再本地windows环境下,要运行linux的系统,又不想打开虚拟机和服务器该怎么办

WSL2 使用 Hyper-V 架构的轻量级虚拟机

类别 优势 详细说明
开发体验 🐧 原生 Linux 工具链 直接使用 bash、grep、sed、awk、ssh、rsync 等 GNU/Linux 工具,无需模拟或替换
🐍 完整 Python/Node.js/Rust 生态 避免 Windows 路径、权限、换行符等问题,pip、npm、cargo 等包管理器行为与 Linux 一致
📦 轻松安装开源软件 通过 apt(Ubuntu/Debian)一键安装 PostgreSQL、Redis、Nginx、Docker CLI、FFmpeg 等
AI/ML 支持 🤖 兼容主流 AI 框架 TensorFlow、PyTorch、Hugging Face、Milvus Lite 等在 WSL2 上运行良好(尤其支持 CUDA)
💾 支持 GPU 加速(WSL2 + NVIDIA) 安装 NVIDIA CUDA on WSL 后可调用 GPU 训练/推理
🧪 无缝运行 Linux-only 工具 如 milvus-lite、faiss、ray、spark 等常无 Windows 版本的工具
系统集成 🔗 与 Windows 文件系统互通 Linux 可访问 /mnt/c/(即 C:\),Windows 可通过 \\wsl$ 访问 Linux 文件
⚡ 资源占用低 WSL2 使用轻量级虚拟机,比完整 VM(如 VirtualBox)启动更快、内存更省
🔄 无需双系统或重启 在 Windows 桌面直接运行 Linux 终端,切换零成本
部署一致性 🚀 开发-生产环境一致 本地开发环境 = 云上 Linux 服务器,避免 "在我机器上能跑" 问题
🐳 完美配合 Docker Desktop WSL2 是 Docker Desktop 推荐后端,容器性能接近原生 Linux

目录

1.安装环境

1.1.Windows虚拟

1.2.安装wsl

2.wsl常用命令

2.1.安装与卸载

2.2.运行与终止

[3.安装 Ubuntu 22.04](#3.安装 Ubuntu 22.04)

4.性能优化

5.运行GUI可视化

6.安装python环境


1.安装环境

1.1.Windows虚拟

使用"Windows+R "快捷键,在打开的「运行」窗口中输入"optionalfeatures"打开「Windows 功能」

启用windows功能中的"虚拟机平台" 和"适用于Linux的Windows子系统"。

1.2.安装wsl

bash 复制代码
wsl --install
  • 启用 WSL 和虚拟机平台功能。
  • 下载并安装最新 WSL2 内核。
  • 重启电脑以完成安装。

使用命令验证:

复制代码
wsl -l
bash 复制代码
wsl --update       # 更新

wsl --set-default-version 2       #并设置为wsl2

2.wsl常用命令

功能 命令 说明
启动默认发行版 wsl 进入默认 Linux 环境
启动指定发行版 wsl -d <发行版名> 例:wsl -d Ubuntu-22.04
列出所有已安装发行版 wsl -l 或 wsl --list 显示名称
列出详细信息(状态、版本) wsl -l -v 或 wsl --list --verbose 查看是否运行中、WSL1/2
设置默认发行版 wsl --set-default <发行版名> 例:wsl --set-default Ubuntu-22.04
查看 WSL 版本 wsl --version 显示 WSL 内核版本
查看 WSL 状态 wsl --status 显示默认版本、内核路径等
bash 复制代码
wsl -d Ubuntu-22.04

2.1.安装与卸载

功能 命令 说明
安装默认发行版(Ubuntu) wsl --install 自动启用 WSL2 并安装 Ubuntu
安装指定发行版 wsl --install -d <发行版名> 例:wsl --install -d Debian
查看可安装的发行版列表 wsl -l -o 或 wsl --list --online 列出 Microsoft Store 中所有可用 Linux
卸载(注销)发行版 wsl --unregister <发行版名> ⚠️ 数据将永久删除!
更新 WSL 内核 wsl --update 升级到最新 WSL2 内核
回滚 WSL 更新 wsl --update rollback 撤销上次内核更新

2.2.运行与终止

功能 命令 说明
关闭所有 WSL 实例 wsl --shutdown 强制终止所有发行版和虚拟机(用于释放资源、重置网络)
终止单个发行版 wsl --terminate <发行版名> 停止某个发行版但不卸载
以 root 身份启动 wsl -u root 进入 root shell(无需密码)
在特定目录启动 wsl ~ 进入 Linux 用户主目录(等价于 cd ~)

3.安装 Ubuntu 22.04

Ubuntu 22.04 LTS 是长期支持版本,稳定且适合大多数开发场景。

bash 复制代码
wsl --install -d Ubuntu-22.04
  1. 安装完成后,WSL 将自动启动 Ubuntu 并提示设置用户名和密码。

当然你也可以直接打开Microsoft Store,搜索ubuntu,选择自己想要安装的版本。

默认安装路径:C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState

如果需要迁移可参考下面的命令:

bash 复制代码
wsl --export Ubuntu-22.04 D:\WSL\Ubuntu2204_backup.tar  #导出

wsl --unregister Ubuntu-22.04   #注销


wsl --import Ubuntu-22.04 D:\WSL\Ubuntu2204 D:\WSL\Ubuntu2204_backup.tar --version 2  #导入


wsl -l -v   #验证

del D:\WSL\Ubuntu2204_backup.tar  #删除包
  

4.性能优化

WSL2 的性能可以通过全局配置文件 .wslconfig 进行优化,文件位于:

bash 复制代码
C:\Users\<用户名>\.wslconfig

若文件不存在,需手动创建。

bash 复制代码
[wsl2]
memory=6GB               # 限制最大内存使用量
processors=4             # 指定 CPU 核心数
swap=8GB                 # 交换空间大小
swapFile=D:\WSL\swap.vhdx # 自定义 swap 文件路径
autoMemoryReclaim=true   # 自动回收未使用内存
localhostForwarding=true # 启用 localhost 端口转发
guiApplications=true     # 启用 WSLg(GUI 应用支持)
gpu=true                 # 启用 GPU 加速(需支持的 GPU 驱动)
dns=8.8.8.8              # 使用 Google DNS
networkingMode=mirrored  # 启用镜像网络模式(支持 IPv6)
firewall=true            # 启用 WSL 防火墙集成
autoProxy=true           # 自动使用 Windows 代理
nestedVirtualization=true # 启用嵌套虚拟化(适合运行 Docker 等)
参数 说明
memory 限制 WSL2 最大内存使用量,防止耗尽宿主机资源
processors 指定分配给 WSL2 的 CPU 核心数
swap 设置交换空间(swap)大小(单位:MB)
swapFile 自定义 swap 文件路径,避免占用 C 盘
autoMemoryReclaim 启用后自动回收未使用的内存(需 WSL 内核 ≥ 5.15)
localhostForwarding 允许 WSL2 与 Windows 共享 localhost 端口
guiApplications 启用 WSLg,支持运行 Linux GUI 应用(如 GIMP、VS Code GUI)
gpu 启用 GPU 加速(需安装 NVIDIA/AMD 驱动)
dns 自定义 DNS 服务器地址
networkingMode 设置网络模式(实验性)
firewall 启用 Windows Defender 防火墙集成
autoProxy 自动同步 Windows 系统代理设置到 WSL2
nestedVirtualization 启用嵌套虚拟化(需 CPU 支持 VT-x/AMD-V)
  1. 保存 .wslconfig 文件。

  2. 执行:

    复制代码
    wsl --shutdown
  3. 重新启动 WSL 或重启电脑。

5.运行GUI可视化

  • Windows 11 支持 WSLg,可直接运行 Linux GUI 应用(如 gedit、firefox)。

  • 安装示例:

    bash 复制代码
    sudo apt update
    sudo apt install firefox
    firefox

6.安装python环境

bash 复制代码
sudo apt update && sudo apt upgrade -y



# 安装 Python 3、pip、venv(虚拟环境)
sudo apt install python3 python3-pip python3-venv python3-dev build-essential -y


python3 --version   # 应 ≥ 3.8(推荐 3.10+)
pip3 --version



python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# 升级 pip
pip install --upgrade pip
相关推荐
夜听莺儿鸣10 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
万年咸鱼10 小时前
Qt Windows 使用管理员权限运行 Cmd
windows
杨云龙UP11 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技11 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy64812 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩12 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well061213 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班13 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了13 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP13 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu