Windows 10 安装 WSL2 教程:不是 WSL1,是真正能跑 Linux 的子系统
很多人第一次听到 WSL,会以为它只是 Windows 里面多了一个 Linux 命令行窗口。这个理解不算错,但只说了一半。
尤其是 WSL2 出来以后,它已经不是早期 WSL1 那种“把 Linux 系统调用翻译成 Windows 系统调用”的方案,而是在 Windows 里通过轻量级虚拟化运行一个真正的 Linux 内核。换句话说,你不用重装电脑,也不用切双系统,就能在 Windows 10 里拥有一个比较完整的 Linux 环境。
这篇文章就按新手能看懂的方式,把 Windows 10 下安装或补全 WSL2 的流程讲清楚。重点不是堆命令,而是先明白:WSL2 是什么、它和 WSL1 有什么区别、可以安装哪些 Linux 系统、装完以后到底能做什么,以及它和 Windows 到底是什么关系。

一、WSL 是什么?
WSL 的全称是 Windows Subsystem for Linux,中文一般叫“适用于 Linux 的 Windows 子系统”。
它的作用很直接:让 Windows 用户可以在自己的电脑上运行 Linux 环境。
以前想在 Windows 上用 Linux,常见办法无非这几种:装 VMware 或 VirtualBox 虚拟机、安装 Windows + Ubuntu 双系统、买一台云服务器远程 SSH、或者用 Git Bash 这类工具临时凑合。
这些办法都能用,但各有麻烦。虚拟机占资源,双系统切换麻烦,云服务器要花钱,Git Bash 又不是完整 Linux。WSL 的意义,就是让 Windows 用户可以更自然地使用 Linux 工具链。
简单说:Windows 还是你的主系统,Linux 也是真正能干活的 Linux 环境。两边可以互相访问文件,也可以配合开发。
二、为什么强调 WSL2,而不是 WSL1?
WSL 有两个主要版本:WSL1 和 WSL2。
名字只差一个数字,但底层差别很大。
WSL1 更像兼容层
WSL1 没有真正运行 Linux 内核。它更像是在 Windows 和 Linux 程序之间加了一层翻译。
Linux 程序发出的系统调用,会被 WSL1 转换成 Windows 能理解的方式。
这种方式有优点:启动快,占用资源小,访问 Windows 文件系统速度不错。
但缺点也明显:它不是完整 Linux 内核,所以很多依赖内核特性的功能跑不了,或者表现不完整。比如 Docker、部分网络工具、某些开发环境和底层调试工具,在 WSL1 下就容易遇到限制。
WSL2 运行真正的 Linux 内核
WSL2 的思路变了。
它通过 Windows 自带的虚拟化能力,运行一个轻量级 Linux 环境,并且使用真正的 Linux 内核。
所以 WSL2 对 Linux 软件的兼容性更好。你可以把它理解成:它不是传统大虚拟机,但它确实运行了一个真实 Linux 内核。
现在新装 WSL,建议直接使用 WSL2。除非你有非常特殊的兼容需求,否则没必要再从 WSL1 开始。
三、WSL1 和 WSL2 的区别
用最简单的话讲:WSL1 是“翻译”,WSL2 是“真 Linux 内核”。
几个关键区别如下:
- Linux 内核:WSL1 没有真实 Linux 内核,WSL2 有真实 Linux 内核。
- 软件兼容性:WSL2 更接近真实 Linux,兼容性更好。
- Docker 支持:WSL2 更适合 Docker Desktop。
- 文件性能:WSL2 在 Linux 自己的文件系统里性能更好。
- 使用场景:WSL1 适合轻量命令行,WSL2 更适合开发、Docker、服务器学习和 AI 工具链。
如果你只是偶尔执行几个 Linux 命令,WSL1 也能凑合。但如果你要装 Docker、跑开发环境、学服务器命令、折腾 Python、Node.js、Go、Rust,或者以后想玩 AI Agent 工具,直接选 WSL2 更省心。
四、Windows 10 安装 WSL2 的前提条件
Windows 10 不是所有旧版本都能顺利用 WSL2。安装前建议先确认这几项:
- Windows 10 建议 2004 或更新版本。
- 系统构建号建议 19041 或更高。
- 电脑是 64 位系统。
- BIOS / UEFI 里已经开启虚拟化。
- Windows 功能里能启用 WSL 和虚拟机平台。
查看 Windows 版本,可以按 Win + R,输入:
winver
如果版本太旧,先通过 Windows Update 更新系统。
虚拟化是否开启,可以打开任务管理器:
任务管理器 -> 性能 -> CPU -> 虚拟化
如果显示“已启用”,就可以继续。若显示“已禁用”,需要进 BIOS / UEFI 打开 Intel VT-x 或 AMD-V。不同主板叫法不同,常见名字包括:
- Intel Virtualization Technology
- VT-x
- AMD-V
- SVM Mode
- Virtualization Technology
五、Windows 10 一条命令安装 WSL2
如果你的 Windows 10 版本比较新,最简单的办法是在 PowerShell 里直接安装。
先用管理员身份打开 PowerShell:
开始菜单 -> 搜索 PowerShell -> 右键 -> 以管理员身份运行
然后执行:
wsl --install
这条命令会自动安装 WSL 相关组件,并默认安装 Ubuntu。
安装完成后,按提示重启电脑。重启之后,系统会继续初始化 Ubuntu。第一次打开时,会让你设置 Linux 用户名和密码。
注意,这个密码不是 Windows 登录密码,而是 Linux 里执行 sudo 命令时使用的密码。输入时屏幕不显示字符,这是 Linux 的正常安全设计,不是卡住了。
六、如果没有 wsl –install,手动补全 WSL2
有些 Windows 10 系统比较旧,直接运行 wsl --install 可能提示不支持。这时可以手动开启组件。
用管理员身份打开 PowerShell,先执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
再执行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启电脑。
重启后设置默认使用 WSL2:
wsl --set-default-version 2
如果提示需要更新 WSL2 Linux 内核,就按微软官方提示安装 WSL2 Linux kernel update package。安装完成后,再执行一次:
wsl --set-default-version 2
然后到 Microsoft Store 搜索并安装 Ubuntu、Debian 或其他 Linux 发行版。
七、怎么检查自己是不是 WSL2?
安装完以后,不要急着开始折腾,先确认当前发行版到底是 WSL1 还是 WSL2。
在 PowerShell 里执行:
wsl -l -v
你会看到类似这样的结果:
NAME STATE VERSION
* Ubuntu Running 2
重点看 VERSION 这一列。
如果是 2,说明当前就是 WSL2。如果是 1,可以手动转换:
wsl --set-version Ubuntu 2
如果你的发行版名字不是 Ubuntu,比如是 Debian,就把命令里的 Ubuntu 换成对应名字:
wsl --set-version Debian 2
八、WSL2 可以安装哪些 Linux 系统?
WSL2 不只支持 Ubuntu,它可以安装多个 Linux 发行版。
Ubuntu
最常见,也是新手最推荐的选择。资料最多,教程最多,软件包也比较全。无论是学 Linux、装 Python、跑 Node.js、用 Docker,Ubuntu 都很适合。
Debian
Debian 更偏稳定,很多服务器系统也基于 Debian。如果你喜欢干净、稳定、少折腾的环境,可以选 Debian。
Kali Linux
Kali 面向安全测试和网络安全学习。它不是普通新手的日常系统,里面自带很多安全工具,适合合法合规的安全实验、CTF 和工具学习。
openSUSE
openSUSE 是成熟的 Linux 发行版,系统风格和 Ubuntu / Debian 不一样,适合想体验 SUSE 生态的人。
Fedora
Fedora 更新较快,软件版本通常比较新,也适合学习 Red Hat 系生态。
Alpine
Alpine 非常轻量,经常用于 Docker 镜像。它不太适合完全新手,但适合学习轻量 Linux 和容器环境。
如果只是入门,建议先装 Ubuntu。等你熟悉 Linux 之后,再尝试 Debian、Fedora、Alpine 这些系统。
九、可以同时安装多个 Linux 系统吗?
可以。
WSL2 支持同时安装多个 Linux 发行版。比如你可以同时安装 Ubuntu、Debian、Kali Linux 和 openSUSE。
查看已经安装的发行版:
wsl -l -v
进入指定发行版:
wsl -d Ubuntu
设置默认发行版:
wsl --set-default Ubuntu
这样以后直接输入 wsl,默认就会进入 Ubuntu。
十、WSL2 装完以后有什么用?
很多人装完 WSL2,只打开了一次 Ubuntu,然后就不知道下一步干嘛了。其实它的用途非常多。
学 Linux 命令
如果你想学 Linux,但不想单独买服务器,WSL2 很合适。
你可以练习这些常用命令:
ls
cd
cp
mv
rm
mkdir
chmod
chown
ps
top
df
du
ssh
scp
tar
grep
sed
awk
这些命令在真实 Linux 服务器上也会用到。学会以后,不管你以后管理云服务器、NAS、OpenWrt、Docker,都会轻松很多。
搭建开发环境
很多开发工具在 Linux 下更自然,比如 Python、Node.js、Go、Rust、Java、PHP、Ruby。
你可以在 WSL2 里安装这些环境,然后用 VS Code 连接进去写代码。微软官方的 VS Code Remote WSL 插件很好用:界面还是 Windows 上的 VS Code,但代码实际运行在 Linux 环境里。
使用 Docker
WSL2 最大的用途之一,就是配合 Docker Desktop。
你可以用它跑 MySQL、Redis、PostgreSQL、WordPress、Nginx、Node.js 服务、Python 服务和各种本地测试环境。
对于开发者来说,WSL2 + Docker Desktop 基本是 Windows 上比较舒服的 Linux 开发方案。
管理服务器和路由器
如果你有云服务器、OpenWrt 路由器、NAS 或开发板,WSL2 也很适合当管理终端。
比如:
ssh [email protected]
或者:
scp file.zip root@server:/tmp/
相比 Windows 原生命令行,Linux 下的 SSH、rsync、scp、tar、curl、jq 等工具配合起来更顺手。
跑脚本和自动化任务
WSL2 很适合写自动化脚本,比如批量处理文件、下载网页内容、调用 API、备份目录、压缩图片、处理日志、跑 Python 小工具。
Windows 当然也能做这些事,但很多开源教程默认都是 Linux 命令。有了 WSL2,照着 Linux 教程走会省很多环境兼容问题。
给 AI 工具和 Agent 工具准备环境
现在很多 AI 工具、Agent 框架、开源模型工具链,默认安装步骤都是 Linux 风格。
例如 Python 环境、Node.js 环境、Git、Docker、依赖编译、命令行启动服务,这些在 WSL2 里通常比在纯 Windows 环境里更顺。
对于想在 Windows 电脑上学习 AI Agent 的人来说,WSL2 是一个很实用的基础层。
十一、WSL2 和 Windows 是什么关系?
WSL2 不是双系统。
你没有在电脑里安装一个完整 Ubuntu 桌面系统,也不需要重启电脑切换系统。
WSL2 也不是普通软件模拟器。
它背后使用的是 Windows 的虚拟化能力,运行一个轻量级 Linux 环境。
可以这样理解:Windows 是主系统,WSL2 是运行在 Windows 里的 Linux 子系统。
Windows 管理硬件、桌面、驱动、用户界面;WSL2 提供 Linux 内核和 Linux 用户空间。你平时看到的 Windows 桌面、微信、浏览器、Office、游戏都还在,只是你多了一个 Linux 工作环境。
Windows 访问 WSL 文件
在资源管理器地址栏输入:
wsl$
就可以看到 WSL 里的 Linux 文件系统。
比如 Ubuntu 的文件可能在:
wsl$Ubuntuhome你的用户名
WSL 访问 Windows 文件
在 WSL2 里,Windows 的 C 盘通常挂载在:
/mnt/c
比如桌面路径可能是:
/mnt/c/Users/你的Windows用户名/Desktop
不过日常开发建议把 Linux 项目放在 WSL 自己的 home 目录里,例如:
/home/用户名/projects
这样性能通常更好,权限问题也更少。
十二、WSL2 的功能限制
WSL2 很好用,但不是万能 Linux。提前知道限制,后面少踩坑。
它不是完整 Linux 桌面系统
WSL2 主要是给命令行、开发环境和服务测试用的。虽然现在 WSLg 可以运行部分 Linux 图形界面程序,但如果你想完整体验 GNOME、KDE 这类 Linux 桌面,虚拟机或双系统更合适。
systemd 支持要看版本
新版 WSL 已经支持 systemd,但旧版 Windows 10 或旧 WSL 环境可能默认没有开启。
如果你执行:
systemctl
出现报错,就要检查 WSL 版本和 systemd 配置。
硬件直通能力有限
WSL2 不是裸机 Linux,对一些硬件访问有限,比如 USB 设备、串口设备、特殊网卡、蓝牙设备、底层驱动开发等。
部分功能可以通过额外配置实现,但不是开箱即用。如果你要做嵌入式烧录、硬件调试、驱动开发,真实 Linux 或虚拟机会更稳。
网络不是完全等同 Windows
WSL2 有自己的虚拟网络环境。
大多数时候不用管,但如果你跑 Web 服务、数据库、容器服务,可能会遇到端口监听、IP 地址、防火墙、localhost 映射等问题。
一般本机访问 WSL 服务可以用:
localhost:端口
但如果要让局域网其他设备访问,就要额外配置 Windows 防火墙和端口转发。
不建议当生产服务器
WSL2 适合学习、开发、测试,不建议长期当正式生产服务器对外提供服务。
它依赖 Windows 环境,网络和服务生命周期也跟传统 Linux 服务器不完全一样。真正要稳定跑网站、数据库或长期服务,还是建议放到云服务器、物理机 Linux、NAS 或专门的服务器系统上。
十三、WSL2 常用命令整理
查看 WSL 版本和发行版:
wsl -l -v
安装默认 WSL:
wsl --install
设置默认使用 WSL2:
wsl --set-default-version 2
转换某个发行版到 WSL2:
wsl --set-version Ubuntu 2
进入指定发行版:
wsl -d Ubuntu
关闭所有 WSL 实例:
wsl --shutdown
更新 WSL:
wsl --update
注销并删除某个发行版:
wsl --unregister Ubuntu
注意:wsl --unregister 会删除这个 Linux 系统里的文件,执行前一定要确认已经备份。
十四、新手推荐安装路线
如果你只是想先用起来,我建议这样走:
- 先把 Windows 10 更新到较新版本。
- 确认 BIOS 里虚拟化已开启。
- 管理员 PowerShell 执行
wsl --install。 - 重启电脑。
- 默认安装 Ubuntu。
- 执行
wsl -l -v,确认 VERSION 是 2。 - 安装 VS Code 和 Remote WSL 插件。
- 在 Ubuntu 里创建项目目录。
- 后面再按需要安装 Python、Node.js、Docker。
Ubuntu 初始化后,可以先更新软件源:
sudo apt update
sudo apt upgrade -y
安装常用工具:
sudo apt install -y curl wget git vim unzip net-tools build-essential
这样,一个基础 Linux 开发环境就有了。
十五、哪些人最适合安装 WSL2?
WSL2 特别适合这几类人:
- Windows 用户想学 Linux,但不想装双系统。
- 开发者需要 Python、Node.js、Go、Rust 等 Linux 工具链。
- 想学服务器运维、Docker、Nginx、SSH 的新手。
- 想在 Windows 上折腾 AI 工具、Agent 框架、开源项目的人。
- 日常离不开 Windows 软件,但又想拥有 Linux 环境的人。
它的价值不是“炫技”,而是把 Windows 和 Linux 的优点放到了一台电脑里。
Windows 负责日常桌面、软件生态和硬件兼容;WSL2 负责 Linux 命令行、开发环境、容器工具和服务器学习。两边不是互相替代,而是互相补全。
总结
如果你正在用 Windows 10,又经常看到教程里出现 Linux 命令、Docker、SSH、Python、Node.js、Git、Nginx、AI Agent 这些东西,WSL2 基本是一个很值得安装的基础环境。
它不是完整服务器,也不是完整 Linux 桌面,但它足够让普通 Windows 用户跨过 Linux 入门的第一道门槛。
先装 Ubuntu,先把命令跑起来,先学会在 Windows 和 Linux 之间切换文件与环境。等这个基础打好,再去学 Docker、服务器、AI 工具链,就不会一上来被环境问题卡住。
下期预告
下一篇继续看:Windows 10 安装 Ubuntu WSL2 后必做的 10 个配置。
里面可以继续讲:换国内软件源、安装 Python / Node.js / Git、VS Code 连接 WSL2、Docker Desktop 配置、WSL2 网络和文件路径问题。
*本文由 数码罗记 · godsun.pro 整理。*