Skip to content

Windows机器WSL介绍

约 1012 字大约 3 分钟

2025-08-26

1. 什么是 WSL(Windows Subsystem for Linux)

WSL 是微软推出的一个兼容 Linux 系统软件的功能,允许用户在 Windows 系统上直接运行 Linux 软件。


2. WSL 版本区别

WSL1(2016年)

  • 翻译层架构,将 Linux 系统调用转换为 Windows 调用

WSL2(2019年)

  • 基于轻量级虚拟机(内置 Linux 内核),提供完整的系统调用兼容性

3. WSL 的优势

支持使用原生 Linux 命令行

  • 提供了原生的 Linux 环境,支持 bash、zsh 等常见 Linux Shell。
  • 可以使用 grep、sed、awk、ssh、scp、rsync 等 Linux 原生命令,运维管理更方便。

Windows 与 Linux 环境无缝整合

  • 可以跨文件系统访问,支持跨平台工具。
  • 文件系统互通,可从 Linux 环境直接访问 Windows 文件系统,反之亦然。
  • 支持直接从 Windows 使用 Linux 命令行工具,提升跨平台运维效率。

高效便捷的开发与运维环境

  • 方便运维人员和开发人员在 Windows 环境中快速搭建 Linux 开发测试环境。
  • 无需额外安装虚拟机或双系统,节省资源开销,启动迅速,资源占用低。

易于自动化与脚本编写

  • 支持 bash 脚本、Python、Ruby、Perl 等多种 Linux 环境下的脚本语言,便于自动化脚本开发和运行。
  • 可以与 PowerShell、批处理脚本进行交互,实现跨平台自动化运维。

资源占用低

  • 相比虚拟机,WSL 使用更少的 CPU、内存资源,性能开销明显降低。

便捷的网络和端口转发

  • 可直接访问 Windows 宿主机的端口,网络配置简单,便于本地测试和调试服务。

4. WSL 使用方法

官方文档:

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

WSL 2.0 前置条件

  • WSL2 仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。
  • 低于 14393 的版本完全不支持 WSL。(通过按 Win + R,然后键入 winver 来检查 Windows 版本)
  • 需要在 BIOS 上开启 CPU 虚拟化设置,通过 Windows 任务管理器 → CPU 性能中查看虚拟化是否已启用。

安装 WSL

在 cmd 或 PowerShell 中执行命令安装:

wsl --install

执行完成后需要重启电脑。

验证安装

通过查看内核版本命令,如显示以下内容表示安装成功:

wsl --version

网络配置

  • 在开始菜单上搜索 “WSL Settings”。

  • 选择“网络”,只开启 “localhost 转发” 和 “DNS 代理”。

  • 打开资源管理器,在 C:\Users\(用户名) 下有个 .wslconfig 文件。

  • 使用记事本打开修改 .wslconfig,添加一句:

    kernelCommandLine = cgroup_no_v1=all

网络模式说明

  • mirroredvirtioproxy 的 WSL 实例 IP 跟本机网络 IP 是同一个。外部机器可以通过访问本机 IP 来访问服务,本机 IP 只能通过 localhost 来访问。
  • nat 模式下实例和本机 IP 不一样,但是运行多个实例时,每个实例的 IP 是一样的。

查看可安装的 Linux 发行版

wsl -l -o

安装 Ubuntu 系统

wsl --install Ubuntu-22.04

运行实例

wsl

后台运行指定实例

wsl -d 实例名

首次登录

需要创建一个用户。

手动下载发行版

可通过官方文档链接直接下载发行版: https://learn.microsoft.com/zh-cn/windows/wsl/install-manual

下载后获得 Ubuntu_1804.2019.522.0_x64.appx,把后缀改成 zip 解压,解压后双击 exe 文件即可。

查看帮助

wsl --help

查看已安装的实例

wsl -l -v

导出实例

wsl --export 实例名 路径/包名

导入实例

(使用 wsl --install 下载安装的 Linux 默认安装在 C 盘,可以通过导出导入来修改文件存放目录)

wsl --import 实例名 安装目录 包目录

卸载实例

wsl --unregister 实例名

文件上传

点击“我的电脑”在右下角下的 Linux,进入 Linux 的实例目录,把需要上传的文件复制粘贴到 /home/(用户名) 下。(可避免权限问题)