Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. WSL介绍

WSL(Windows Subsystem for Linux) 是微软在 Windows 10/11 上推出的功能,允许用户直接在 Windows 中运行原生 Linux 二进制程序,无需虚拟机或双系统。它分为两个版本:

  • WSL1:通过兼容层将 Linux 系统调用转换为 Windows 内核调用,轻量但性能较低。
  • WSL2:基于轻量级虚拟机(Hyper-V),运行完整的 Linux 内核,性能接近原生。

应用场景:开发(如运行 Bash、Python)、测试跨平台应用、学习 Linux 等。WSL2 已成为主流,推荐需要高性能的场景使用。

2. 先决条件

2.1. 操作系统要求

  • 最低版本

    • WSL1:Windows 10 版本 1607(Anniversary Update) 或更高。
    • WSL2:Windows 10 版本 1903(Build 18362) 或更高(推荐 2004 或更新版本)。
    • Windows 11:原生支持 WSL2,无需额外配置。
  • 检查 Windows 版本

    1
    winver

    1
    systeminfo | find "OS Version"

2.2. 硬件要求

  • 64 位 CPU(不支持 32 位系统)。
  • 虚拟化支持(仅 WSL2 需要):
    • Intel CPU:需启用 VT-x(Intel Virtualization Technology)。

    • AMD CPU:需启用 AMD-V(SVM Mode)。

    • 检查虚拟化是否开启

      1
      systeminfo | find "Hyper-V Requirements"

      如果显示 **”已检测到虚拟机监控程序”**,则已启用;否则需进入 BIOS/UEFI 开启。

2.3. 启用 Windows 功能

2.3.1. UI交互操作

  1. 控制面板 -> 程序 -> 程序和功能 -> 启用或关闭Windows功能

  2. 勾选适用于Linux的Windows子系统后点击确定

  3. 重启系统,使更改生效。

2.3.2. 命令行操作

  1. 以管理员身份运行PowerShell, 并执行以下命令:
1
2
3
4
5
# 启用 WSL 功能(适用于 WSL1 和 WSL2)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台(仅 WSL2 需要)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 重启系统,使更改生效。

3. 安装方法

3.1. Microsoft Store安装

打开Microsoft Store,搜索Ubuntu,选择一个合适的版本(如Ubuntu 24.04.1 LTS),点击安装

【说明】:推荐使用此方法安装,通过Microsoft Store下载非常快。命令行安装时如果没有梯子,下载速度会很慢。

3.2. 命令行安装

以管理员身份运行PowerShell, 并执行以下命令:

1
2
# 此命令将启用运行WSL并安装Linux的Ubuntu分发所需的功能(默认是最新版本)。
wsl --install

或者使用一下命令安装特定的Ubuntu版本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1. 查看所有可用的子系统版本
wsl --list --online
以下是可安装的有效分发的列表。
使用“wsl.exe --install <Distro>”安装。

NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
AlmaLinux-10 AlmaLinux OS 10
Debian Debian GNU/Linux
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
archlinux Arch Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_10 Oracle Linux 8.10
OracleLinux_9_5 Oracle Linux 9.5


# 安装指定的版本
wsl --install -d Ubuntu-24.04

4. 打开Linux子系统

首次启动需要设置用户名和密码,设置好后可以看到Ubuntu启动成功。如下所示:

说明:用户名建议只用小写,否则可能会失败。

5. WSL常用命令

5.1. 安装与管理

  • 安装默认 WSL 发行版(默认 Ubuntu):

    1
    wsl --install
  • 安装特定发行版(如 Debian):

    1
    wsl --install -d Debian
  • 列出可用发行版

    1
    wsl --list --online # 或 `wsl -l -o`

5.2. 发行版操作

  • 列出已安装的发行版

    1
    wsl --list --verbose  # 或 `wsl -l -v`
  • 启动发行版

    1
    wsl -d <发行版名称>  # 例如 `wsl -d Ubuntu`
  • 设置默认发行版

    1
    wsl --set-default <发行版名称>
  • 终止发行版

    1
    wsl --terminate <发行版名称>
  • 卸载发行版

    1
    wsl --unregister <发行版名称>

5.3. WSL 版本管理

  • 设置默认 WSL 版本(1 或 2):

    1
    wsl --set-default-version 2
  • 将发行版转换为 WSL 2

    1
    wsl --set-version <发行版名称> 2

5.4. 运行命令

  • 直接运行 Linux 命令(不进入交互式 Shell):

    1
    wsl <命令>  # 例如 `wsl ls -l`
  • 以特定用户身份运行

    1
    wsl -u <用户名>  # 例如 `wsl -u root`

5.5. 文件系统访问

  • 从 Windows 访问 Linux 文件
    • 路径:\\wsl$\<发行版名称>\
    • 或在资源管理器中输入 \\wsl$
  • 从 Linux 访问 Windows 文件
    • 路径:/mnt/c/(对应 C:\)。

5.6. 导出与导入

  • 导出发行版为备份文件

    1
    wsl --export <发行版名称> <备份文件路径>  # 例如 `wsl --export Ubuntu ubuntu_backup.tar`
  • 导入发行版

    1
    wsl --import <新发行版名称> <安装路径> <备份文件路径>

5.7. 其他实用命令

  • 关闭所有 WSL 实例

    1
    wsl --shutdown
  • 查看 WSL 版本信息

    1
    wsl --version

参考文档

https://learn.microsoft.com/zh-cn/windows/wsl/install

推荐阅读
windows11 wsl 里的VSCode 出现如下报错:The window terminated unexpectedly(reason crashed, code -36861) windows11 wsl 里的VSCode 出现如下报错:The window terminated unexpectedly(reason crashed, code -36861) Ubuntu查看系统信息(如:系统版本/Linux内核版本) Ubuntu查看系统信息(如:系统版本/Linux内核版本) Linux C++ 开发1 - 搭建C++开发环境 Linux C++ 开发1 - 搭建C++开发环境

评论