WSL2 上手指南:在 Windows 里跑原生 Linux,开发环境无缝衔接

为什么 WSL2 比传统虚拟机更适合日常开发

如果你既离不开 Windows 上的微信、Office、游戏,又想在 Linux 环境里写代码、跑脚本、搭服务,传统做法是在 VirtualBox 或 VMware 里装一台完整虚拟机。但完整虚拟机吃内存、启动慢、和宿主机的文件互传还要靠拖拽或共享文件夹,体验割裂。WSL2(Windows Subsystem for Linux 2)的出现改变了这件事:它让你在 Windows 里直接跑一个“原生感”的 Linux,命令行、文件系统、网络几乎和真机无差别,却不用先开一台笨重的虚拟机。对开发者来说,WSL2 几乎是 Windows 上最顺手的 Linux 方案。

本文从“它和虚拟机到底差在哪”讲起,带你装好、配好、用起来,再到进阶的 GUI 与 VS Code 远程开发,最后说清它替代不了什么——那时你仍会需要 VirtualBox 与 VMware 怎么选:家用虚拟机的性能与易用性实测对比 里的完整虚拟机。

WSL2 是什么:和 VirtualBox/VMware 的本质区别

很多人以为 WSL2 也是“虚拟机”,其实不是同一回事。

架构差异:轻量虚拟化 vs 完整虚拟机

VirtualBox/VMware 跑的是一整套客户机操作系统,有独立内核、独立显卡和声卡模拟,占用几百 MB 到几 GB 内存,开机要等。WSL2 则用一个轻量的 Hyper-V 兼容层跑一个真正的 Linux 内核(微软维护的),没有 BIOS、没有桌面模拟那一套开销。它启动是“秒级”,内存按需占用、空闲时还会自动回收,文件和进程直接挂在 Windows 的任务管理器里能看到。简单说:虚拟机是“另开一台电脑”,WSL2 是“在 Windows 里开了一扇通往 Linux 的窗”。

安装 WSL2:从启用到装好一个发行版

现代 Windows 10/11 装 WSL2 比很多人想象简单。

一条命令启用

以管理员身份打开 PowerShell,输入 wsl --install,系统会自动启用所需的可选功能、下载 WSL2 内核、并默认安装 Ubuntu。装完重启一次,再打开“终端”或“Ubuntu”就能用了。想指定发行版,先 wsl --list --online 看有哪些,再用 wsl --install -d Debian 装 Debian。装多个发行版也完全没问题,wsl -l -v 能看到它们各自的状态和版本。

初始化与默认版本

第一次进发行版会让你设用户名和密码(这就是 Linux 里的普通用户,和 Windows 账户独立)。建议顺手把默认版本锁成 2:wsl --set-default-version 2,避免以后新装的发行版退化成老旧的 WSL1。WSL1 没有真内核,某些软件跑不了,日常无脑选 2 就行。

文件互通:Windows 与 Linux 怎么互相访问

WSL2 最香的一点就是两套文件系统能互相看见。

跨系统路径与权限注意

在 Linux 里访问 Windows 文件,路径是 /mnt/c/Users/你的名/...;在 Windows 资源管理器地址栏输入 \\wsl$\Ubuntu\home\你的名 就能反过来浏览 Linux 家目录。但要注意性能:从 Linux 侧读写 /mnt/c 下的 Windows 文件比读写 Linux 原生目录慢不少,跑项目、编译、装包务必放在 Linux 家目录(如 ~/project)里。另外跨文件系统会遇到 Linux 文件权限 映射问题——Windows 文件在 WSL 里常被标成 777,别拿它当真权限来看,重要项目别放 /mnt 下。

网络与开发:在 WSL2 里跑服务、连数据库

WSL2 有自己独立的虚拟网络,默认 localhost 在 Windows 和 WSL 之间已经打通:在 WSL 里起一个 python -m http.server 8000npm run dev,Windows 浏览器直接开 localhost:8000 就能访问,不用做端口转发。数据库同理,WSL 里跑个 MySQL,Windows 上的 Navicat 连 127.0.0.1:3306 即可。少数需要固定 IP 的场景(比如让局域网手机访问),用 .wslconfig 或端口转发规则处理,官方文档有现成模板。

进阶:GPU、GUI 应用与 VS Code 远程

WSL2 早已不只是命令行。Windows 11 上可以原生运行 Linux GUI 程序(装好 geditfirefox 直接双击启动);支持 CUDA 的机器还能在 WSL 里跑深度学习训练,GPU 直通给 Linux。开发体验上,装 VS Code 加 “WSL” 扩展后,在 WSL 终端里 code . 就能把整个 Linux 项目在 Windows 侧的 VS Code 打开,编辑、调试、终端全在 Linux 环境里跑,文件却零拷贝——这是 WSL2 最让开发者上头的地方。

WSL2 还替代不了什么

WSL2 很强,但不是万能。它需要 Windows 宿主健康、依赖 Hyper-V,遇到要测特定内核模块、要模拟完整网络拓扑、要跑依赖专有显卡驱动的老旧软件,或者就是要一个和正式环境一字不差的隔离系统,完整虚拟机仍是更稳的选择。比如要在虚拟机里折腾一套和生产一致的 CentOS 集群,照着 虚拟机里跑 Windows 精简版?VirtualBox 安装与性能取舍实录 的思路装一台更靠谱。WSL2 与虚拟机不是替代关系,而是互补:日常开发用 WSL2 图快,特殊需求用虚拟机图稳。

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容