目录里
-
- 前言
- [1 WSL简介](#1 WSL简介)
-
- [1.1 什么是 WSL](#1.1 什么是 WSL)
- [1.2 WSL 与虚拟机、双系统的对比](#1.2 WSL 与虚拟机、双系统的对比)
- [2 安装 WSL2的 前置条件](#2 安装 WSL2的 前置条件)
-
- [2.1 Windows 系统版本](#2.1 Windows 系统版本)
- [2.2 硬件与内存要求](#2.2 硬件与内存要求)
- [2.3 功能设置](#2.3 功能设置)
- [3 安装 WSL2的步骤](#3 安装 WSL2的步骤)
-
- [3.1 一键安装命令](#3.1 一键安装命令)
- [3.2 初始化配置](#3.2 初始化配置)
- [3.3 首次进入系统](#3.3 首次进入系统)
- [4 WSL2 的使用](#4 WSL2 的使用)
-
- [4.1 启动和关闭 WSL](#4.1 启动和关闭 WSL)
- [4.2 WSL 与 Windows 的文件交互](#4.2 WSL 与 Windows 的文件交互)
- [4.3 WSL 基础命令清单](#4.3 WSL 基础命令清单)
- [5 WSL2 的常见问题以及解决办法](#5 WSL2 的常见问题以及解决办法)
-
- [问题 1:启动提示"未启用虚拟机器平台"或"0x80370102"错误](#问题 1:启动提示“未启用虚拟机器平台”或“0x80370102”错误)
- [问题 2:终端显示中文乱码](#问题 2:终端显示中文乱码)
- [问题 3:WSL 无法访问网络(无法执行 apt update)](#问题 3:WSL 无法访问网络(无法执行 apt update))
- [问题 4:忘记了 Linux 的用户名或密码](#问题 4:忘记了 Linux 的用户名或密码)
- 结语
- 参考资料
前言
在过去很长一段时间里,开发者往往面临着"鱼与熊掌不可兼得"的窘境:Windows 拥有卓越的图形界面和丰富的日常办公软件,而 Linux 则是程序开发、服务器部署和科学计算的天然温床。为了同时拥有这两个环境,我们不得不折腾复杂的虚拟机(VM)或是存在风险的双系统。
随着微软"拥抱开源"战略的推进,Windows Subsystem for Linux (WSL) 应运而生。它不是简单的模拟器,而是一个让 Linux 二进制程序原生运行在 Windows 上的兼容层。经过数年的迭代,WSL2 更是引入了完整的 Linux 内核。本文将带你深度领略 WSL 的魅力,从底层原理到安装实战,再到进阶技巧,助你打造一套完美的跨平台开发环境。
1 WSL简介
1.1 什么是 WSL
WSL 全称为 Windows Subsystem for Linux,即"适用于 Linux 的 Windows 子系统"。它是微软开发的一项技术,允许用户在不安装第三方虚拟机软件(如 VMware、VirtualBox)的情况下,直接在 Windows 10 或 Windows 11 上运行 Linux 环境。
目前的 WSL 主要分为两个版本:
- WSL 1:通过翻译层将 Linux 系统调用转换为 Windows NT 系统调用,不需要虚拟化,但兼容性有限。
- WSL 2 :这是目前的推荐版本。它内置了一个由微软优化的完整 Linux 内核,基于高度优化的轻量级虚拟机(Hyper-V)技术运行,实现了真正的 Linux 系统调用兼容性,并极大提升了文件系统的读写性能。
1.2 WSL 与虚拟机、双系统的对比
在 WSL 出现之前,我们通常有两种选择:双系统或传统虚拟机。下表详细对比了这三种方案:
| 特性 | WSL 2 (推荐) | 传统虚拟机 (VMware/VB) | 双系统 (Windows + Linux) |
|---|---|---|---|
| 启动速度 | 极快(秒级启动) | 较慢(需加载整个系统) | 取决于硬件(需重启切换) |
| 资源占用 | 动态分配内存,开销极低 | 预分配内存,开销巨大 | 运行哪个系统占哪个资源 |
| 系统交互 | 无缝集成,文件直接互通 | 需配置共享文件夹,较麻烦 | 完全隔离,交互极难 |
| 硬件支持 | 支持 GPU 加速 (CUDA) | 虚拟显卡,性能较差 | 原生硬件驱动,性能最强 |
| 易用性 | 命令行为主,集成度高 | 完整桌面,但操作笨重 | 需反复重启,影响连续性 |
总结: WSL 结合了 Windows 的便利和 Linux 的强大生态。它适合那些既需要使用 Office、Adobe 等 Windows 软件,又需要使用 Git、Docker、Python、C++ 等 Linux 开发工具链的开发者。
2 安装 WSL2的 前置条件
在正式开始安装之前,我们需要确保电脑的硬件和软件环境满足基本要求,否则可能会出现安装失败或无法启动的情况。
2.1 Windows 系统版本
WSL 2 对系统版本有一定的要求。
- Windows 10:版本号需在 1903 或更高,且内部版本需为 18362 或更高。
- Windows 11:全系列支持。
- 检查方法 :按下
Win + R,输入winver并回车。如果版本过低,请先通过 Windows 更新进行系统升级。
2.2 硬件与内存要求
- 处理器:支持虚拟化技术(Virtualization Technology)。大多数近 10 年内的 Intel 和 AMD CPU 都支持。
- BIOS 设置:必须在 BIOS/UEFI 设置中开启"虚拟化开关"(通常标记为 VT-x 或 AMD-V)。如果未开启,WSL 将无法启动。
- 内存:建议至少 8GB 内存。虽然 WSL 很轻量,但在编译大型项目或运行容器时,内存依然是性能保障。
2.3 功能设置
安装 WSL 需要在 Windows 功能中开启相关支持。这里提供两种方法:
设置方法一:图形界面操作
- 按下
Win + R,在运行框输入optionalfeatures并回车。 - 在弹出的"启用或关闭 Windows 功能"窗口中,找到并勾选以下两项:
- 适用于 Linux 的 Windows 子系统
- 虚拟机器平台
- 点击确定,等待 Windows 安装相关组件。

设置方法二:命令行(高效快捷)
如果你更喜欢简洁的操作,可以以管理员身份打开 PowerShell,依次执行以下命令:
-
启用 WSL 功能:
PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart -
启用虚拟机器平台功能:
PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重要提示: 完成上述设置(无论是方法一还是方法二)后,必须重启电脑才能使配置生效。
3 安装 WSL2的步骤
重启电脑后,我们就可以正式开始安装 Linux 发行版了。
3.1 一键安装命令
现代版本的 Windows 已经极大简化了安装流程。请以管理员身份打开「Windows 终端」或「PowerShell」。
如果你直接输入 wsl --install,系统会默认安装 Ubuntu。但为了更好的管理,我们推荐指定版本和安装路径。执行以下命令:
wsl --install -d Ubuntu-24.04 --location D:\WSL\Ubuntu
- -d Ubuntu-24.04:指定安装 Ubuntu 24.04 LTS。这是目前最新的长期支持版,稳定且软件包丰富。
- --location D:\WSL\Ubuntu :这是一个非常实用的参数。默认情况下,WSL 会安装在 C 盘。随着你安装的软件和存放的数据增多,C 盘空间会迅速告急。通过此命令,你可以将整个 Linux 系统安装到非系统盘(如 D 盘)。

3.2 初始化配置
安装过程会下载几百兆的资源包,速度取决于你的网络环境。下载完成后,系统会自动弹出一个新的黑色终端窗口。
- 设置用户名 :系统提示
Enter new UNIX username:。输入一个你喜欢的名称(建议小写,不要包含中文或空格)。 - 设置密码 :提示
New password:。输入时屏幕不会显示任何字符(这是 Linux 的安全特性),输完回车即可。 - 确认密码:再次输入密码并回车。
看到 Installation successful! 字样后,恭喜你,你已经成功踏入了 Linux 的世界。

3.3 首次进入系统
进入系统后,第一件事通常是更新软件包索引。在 Ubuntu 终端中执行:
Bash
sudo apt update && sudo apt upgrade -y
sudo 代表以管理员权限执行,系统会要求你输入刚才设置的密码。
4 WSL2 的使用
学会安装只是第一步,掌握如何高效地在 Windows 和 WSL 之间切换和协作才是关键。
4.1 启动和关闭 WSL
- 启动方法 :
- 菜单启动:在 Windows 开始菜单搜索"Ubuntu",点击图标直接打开。
- 终端启动 :在任何 PowerShell 或 CMD 窗口中输入
wsl,即可快速切换到默认的 Linux 环境。如果安装了多个版本,使用wsl -d 发行版名称。
- 关闭方法 :
- 正常退出 :在 Linux 终端输入
exit或直接关闭窗口。此时 WSL 仍在后台运行。 - 彻底关闭 :如果你发现电脑变卡或 WSL 出现故障,可以在 Windows PowerShell 中输入
wsl --shutdown。这会强制停止所有运行中的 WSL 实例。
- 正常退出 :在 Linux 终端输入
4.2 WSL 与 Windows 的文件交互
这是 WSL 优于虚拟机最核心的功能------无缝的文件系统互通。
-
在 Linux 中访问 Windows 文件:
Windows 的磁盘会被自动挂载到 Linux 的
/mnt/目录下。-
C 盘路径:
/mnt/c -
D 盘路径:
/mnt/d例如,你想进入 D 盘的
Work文件夹,只需执行cd /mnt/d/Work。
-
-
在 Windows 中访问 Linux 文件:
这是很多新手忽略的功能。你可以在 Windows 文件资源管理器的地址栏直接输入
\\wsl$并回车。你会看到一个网络驱动器,里面完整地展示了 Linux 系统内部的文件。你可以像操作普通文件夹一样,在两者之间进行复制、粘贴和拖拽。
4.3 WSL 基础命令清单

为了方便大家快速上手,这里整理了一份最常用的操作指令表:
| 操作 | 命令 (在 Windows 执行) | 命令 (在 Linux 执行) |
|---|---|---|
| 查看安装了哪些系统 | wsl -l -v |
- |
| 更新软件库 | - | sudo apt update |
| 安装常用工具 | - | sudo apt install <软件名> |
| 查看当前路径 | - | pwd |
| 列出文件 | - | ls -al |
| 编辑文件 | - | nano <文件名> 或 vim |
| 检查 WSL 版本 | wsl --version |
- |
5 WSL2 的常见问题以及解决办法
即使操作正确,环境的复杂性也可能导致各种"奇葩"报错。以下是四个最高频的问题及对策。
问题 1:启动提示"未启用虚拟机器平台"或"0x80370102"错误
- 原因:这通常是因为 BIOS 中的虚拟化技术(VT)未开启,或者 Windows 功能勾选后没有生效。
- 解决 :
- 重启电脑进入 BIOS,确保 Intel Virtualization Technology 或 SVM Mode 设置为
Enabled。 - 再次检查
optionalfeatures中"虚拟机器平台"是否勾选。 - 尝试在 PowerShell 执行
bcdedit /set hypervisorlaunchtype auto并重启。
- 重启电脑进入 BIOS,确保 Intel Virtualization Technology 或 SVM Mode 设置为
问题 2:终端显示中文乱码
- 原因:Linux 默认语言环境可能未设置为 UTF-8。
- 解决 :
- 在 WSL 终端中执行:
sudo dpkg-reconfigure locales。 - 在列表中找到
en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8。 - 使用空格选中它们,按回车。
- 在下一个界面选择
zh_CN.UTF-8作为默认语言,重启终端。
- 在 WSL 终端中执行:
问题 3:WSL 无法访问网络(无法执行 apt update)
- 原因:WSL 2 使用虚拟网卡,有时会与 Windows 防火墙或第三方加速器产生冲突。
- 解决 :
- 重置网络 :管理员打开 PowerShell 执行
wsl --shutdown,然后执行netsh winsock reset。 - 修改 DNS :在 WSL 内编辑
/etc/resolv.conf,将 nameserver 修改为8.8.8.8或114.114.114.114。
- 重置网络 :管理员打开 PowerShell 执行
问题 4:忘记了 Linux 的用户名或密码
- 原因:长时间未用或设置时过于草率。
- 解决 :
- 在 Windows 终端输入
wsl -u root。这会以最高权限直接进入 Linux,不需要密码。 - 执行
passwd <你的用户名>,然后按提示输入两次新密码。 - 退出重新进入即可。
- 在 Windows 终端输入
结语
WSL 的出现,彻底改变了 Windows 上的开发体验。它既保留了 Windows 强大的图形生态和办公能力,又赋予了开发者近乎原生的 Linux 性能。通过本文的指引,相信你已经成功搭建了自己的 Linux 子系统。
然而,这只是开始。在接下来的进阶学习中,你还可以尝试在 WSL 中配置 Docker 容器、使用 VS Code 的 Remote-WSL 插件进行丝滑的代码编写,甚至是运行图形化的 Linux 应用。Linux 的世界广阔无垠,而 WSL 正是连接你与那个世界的最佳桥梁。