当前位置:首页>Linux>在 Windows 上原生跑 Linux? 10 分钟装好 WSL2,我把踩过的坑都替你趟平了

在 Windows 上原生跑 Linux? 10 分钟装好 WSL2,我把踩过的坑都替你趟平了

  • 2026-10-11 06:48:07
在 Windows 上原生跑 Linux? 10 分钟装好 WSL2,我把踩过的坑都替你趟平了

如果你是一名开发者,或者正在学 Linux,大概率听过一句话:"想认真搞开发,还是得上 Linux / macOS。" 但现实是,很多人电脑里装的是 Windows,换系统又舍不得游戏和各类软件。

好消息是:微软早就给了你一个"两全其美"的方案——WSL2。它让你在 Windows 里直接跑一个完整的 Linux,不需要装笨重的虚拟机,也不需要双系统。

这篇文章,我会从"WSL2 是什么"讲到"一步一步装好",并把我自己安装时真实遇到的两个坑和解决办法写出来。照着做,你大概率能一次成功。

一WSL2 到底是什么?

WSL 全称 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统)。WSL2 是它的第二代。

你可以把它理解成 Windows 里的一个"轻量级 Linux 虚拟机",但它和 Windows 深度集成,用起来像原生应用一样顺滑。

图 1:WSL2 在 Windows 里跑着一个真实的 Linux 内核,两边文件系统还能互通

它和传统的 VMware、VirtualBox 虚拟机最大的不同:

  • 真正的 Linux 内核
    :WSL2 在一个轻量虚拟机里运行完整的、真实的 Linux 内核,带来近乎 100% 的系统调用兼容性。Docker 这类工具能直接原生运行。
  • 性能强
    :文件 I/O 比 WSL1 快 3~5 倍,编译代码、装包时优势明显。
  • 启动快、占用小
    :1~2 秒启动,不用手动配环境。
  • 和 Windows 无缝打通
    :Linux 里能访问 Windows 文件,Windows 开始菜单里能直接启动 Linux 发行版。

二WSL1 和 WSL2,到底差在哪?

一句话:WSL1 是"翻译官",把 Linux 指令实时翻译成 Windows 能懂的话,所以只兼容约 30% 的系统调用;WSL2 是"真内核",直接跑一个 Linux 内核,兼容近乎 100%,还原生支持 Docker 和 systemd。

图 2:翻译层 vs 真实内核,差别一目了然

绝大多数情况下,无脑选 WSL2 就行。

三正式安装:一行命令搞定

前提条件:

  • Windows 10 版本 2004 或更高(内部版本 19041 及以上),或者 Windows 11。
  • 确认你的 CPU 虚拟化已开启(任务管理器 → 性能 → CPU → 右下角"虚拟化:已启用")。

步骤:

图 3:四步装好 WSL2

1️⃣ 以管理员身份打开 PowerShell(右键开始菜单 →"终端(管理员)"或"Windows PowerShell(管理员)")。

2️⃣ 输入命令并回车:

wsl --install

这条命令会自动启用所需功能,并默认安装 Ubuntu。

3️⃣ 安装完成后重启电脑。

4️⃣ 重启后,从开始菜单启动 Ubuntu,按提示设置 Linux 用户名和密码。

搞定!之后你就能像用普通 Linux 一样,在里面对装软件、跑命令了。

想装别的发行版?wsl --list --online看列表,wsl --install -d <名字>装指定版本。
如果安装卡在 0.0%不动,用 wsl --install --web-download -d <名字>走网络下载。

四踩坑实录:我遇到的两个真问题

理论很美好,实操翻过车。下面是我安装时真实碰到的两个坑。

🕳️ 坑 1:装完重启,wsl -l -v显示"没有已安装的分发版"

现象:按教程 wsl --install后重启,想看看装好没,结果命令行报"适用于 Linux 的 Windows 子系统没有已安装的分发版"。

原因:WSL2 依赖 Windows 的两个关键功能,有时被系统更新或设置意外关掉了。

解决:手动把这两个功能重新打开。以管理员打开 PowerShell,依次执行:

# 启用"适用于 Linux 的 Windows 子系统"dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用"虚拟机平台"(WSL2 必需)dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完重启电脑,然后去微软商店重新安装 Ubuntu(商店方式更稳定)。

🕳️ 坑 2:启动 Ubuntu 报 0x800701bc

现象:重新安装后一点 Ubuntu,弹出:

Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 需要更新其内核组件

原因(划重点):系统已经准备好跑 WSL2 了,但缺了它必需的"地基"——最新的 Linux 内核更新包。这个包因为体积原因没有随 Windows 一起预装。

解决:手动补上这个内核包。

  • ① 访问微软官方下载地址:https://aka.ms/wsl2kernel(会自动下载 wsl_update_x64.msi)
  • ② 双击运行,按向导装完。
  • ③ 再重启一次电脑。
  • ④ 重启后重新打开 Ubuntu,这次顺利进入,提示设置用户名密码。

补充(进阶排错):

  • 装完内核包还报错?在管理员 PowerShell 里执行 wsl --set-default-version 2,确保新装发行版默认用 WSL2;再 wsl --update拉最新内核。
  • 若出现 0x80370102:多半是 BIOS 里 CPU 虚拟化没开(见下图)。
  • 公司 / 校园网无法访问微软商店?wsl --update --web-download可绕过商店直连微软服务器下载。

图 5:虚拟化没开会导致 0x80370102,进 BIOS 打开即可

五装好之后能玩点啥?

Web / 后端开发原生跑 Docker数据科学 / AI练 Linux 命令跑 systemd 服务

  • 开发
    :Web / 后端开发,在 Linux 环境编码、编译、测试。
  • 容器
    :原生跑 Docker(Docker Desktop 默认就用 WSL2 当后端)。
  • 数据科学 / AI
    :直接用 Linux 下的各种库。
  • 练命令
    :熟悉 Linux 命令行的绝佳沙盒。
  • 跑服务
    :需要 systemd 的现代 Linux 服务也能跑。

—— 希望这篇能帮你少走弯路 ——

WSL2 是我个人在 Windows 上搞开发最离不开的工具之一。装一次,省下无数折腾虚拟机的时间。

如果你在安装中遇到别的报错,欢迎在评论区留言,咱们一起排雷。也别忘了点赞 / 在看,让更多被虚拟机折磨的朋友看到这篇。

最新文章

随机文章