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

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

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

类别 优势 详细说明
开发体验 🐧 原生 Linux 工具链 直接使用 bashgrepsedawksshrsync 等 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-litefaissrayspark 等常无 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 -vwsl --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 -owsl --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 应用(如 geditfirefox)。

  • 安装示例:

    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
相关推荐
feiduoge3 小时前
教程 36 - 方向光照
windows·游戏引擎·图形渲染
福尔摩斯张3 小时前
基于TCP的FTP文件传输系统设计与实现(超详细)
linux·开发语言·网络·网络协议·tcp/ip·udp
Sleepy MargulisItG3 小时前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络·网络协议·tcp/ip
..过云雨3 小时前
15-2.【Linux系统编程】进程信号 - 信号保存(信号处理流程的三种状态:未决、阻塞、递达,信号保存由未决表完成、sigset_t信号集类型及相关函数)
linux·c++·后端·信号处理
坏一点3 小时前
Yocto项目构建(3)——构建和部署树莓派镜像
linux·驱动开发·嵌入式硬件
Ronin3053 小时前
【Linux网络】多路转接select
linux·网络·select·多路转接
zhuzewennamoamtf3 小时前
Linux设备树理解和应用
linux·运维·服务器
我科绝伦(Huanhuan Zhou)4 小时前
Linux 环境下 SQL Server 自动收缩日志作业创建脚本(Shell 版)
linux·运维·数据库·sql server
徐徐图之!4 小时前
五、【阶段一运维基础 之 干货!!!】安装 Vmware 和 CentOS
linux·运维·centos