群发资讯网

别再装双系统!WSL让Windows 11变万能,Linux应用直装

WSL能跑AI和Docker了,它真不是Linux,那它到底算啥?最近我换掉了用了三年的双系统,现在就留Windows,

WSL能跑AI和Docker了,它真不是Linux,那它到底算啥?

最近我换掉了用了三年的双系统,现在就留Windows,WSL里装Ubuntu跑Python、Docker、甚至本地搭了个小TensorFlow环境。朋友说“你这等于抛弃Linux”,我说不对,我每天还是敲`ls`、`grep`、`systemctl`,只是不用再切屏进另一个桌面了。可昨天想用Wireshark抓网卡原始包,死活看不到eth0,查了半天才明白——它压根不让你碰物理网卡。

WSL刚出那会儿,很多人当笑话看。2016年那个WSL1,就是靠翻译Windows系统调用硬凑出来的,连`fork()`都得绕七八个弯,glibc一升级就崩。我大一装过一次,跑个Node.js服务卡到想砸电脑。后来2019年WSL2来了,直接塞进一个轻量Linux内核,快多了,但本质上还是Hyper-V虚拟出来的沙盒,不是真独立系统。2026年这个新版,加了systemd、能开GNOME,看着像模像样,可点开`/proc/sys/kernel/`,一半参数是只读的,改不了,Windows在后面锁着呢。

有人说启动快,点开终端0.8秒就出来。那是热启动,冷启动还得读230MB内核镜像,NVMe盘快就快点,SATA固态真不一定比得过原生Linux。文件互通也挺有意思:从Windows往Linux里拖代码,嗖一下就进去了;反过来你用Linux改个NTFS的权限,或者建个软链接,直接被拦住,连错都不报,就静静不动。我试过在WSL里`ln -s /mnt/c/Users/me /home/me/win`,结果进不去,提示“Operation not permitted”。

GPU加速也是半截子工程。跑ResNet-50推理没问题,误差3%以内,但想用Clion调试CUDA内存,断点老飘,因为显存管理还是Windows那一套在兜底。更别提网络——Wireshark抓不到网卡,tcpdump只能看到vEthernet接口,物理层的ARP、ICMP重定向、甚至USB网卡都看不见。微软自己文档写得清楚:WFP防火墙全程接管,WSL2的网络栈就是个“客人”。

微软最近把Ubuntu、Kali都搬到应用商店里,点两下就装好,更新也自动推。听着方便,但你不能用自己下载的ISO装,也不能关掉Microsoft Store自动更新。我同事搞安全测试,想改Kali的grub启动项加参数,结果根本进不去grub菜单,WSL启动是Windows管的,连引导器都没给你露面的机会。VS Code Remote-WSL插件确实好用,但默认禁掉GNOME和KDE桌面,所有Linux GUI程序全塞进Windows窗口里跑,连任务栏图标都是Windows画的。

有些事,WSL真干不了。比如老师让编译一个最简Linux内核,改`init/main.c`,然后在真机上跑,看打印信息从哪来——WSL里编译完没法烧进去,连`/dev/mem`都打不开。EDA公司用的那些芯片设计工具,要直连USB逻辑分析仪,WSL根本不认设备号,VMware一配USB直通,50微秒延迟都压得住。还有红队同学做渗透,ARP欺骗、蓝牙嗅探、RFID重放,这些全得在物理网卡上动刀,WSL连网卡驱动都碰不到。

我前两天重装了Kali双系统,就为跑一个rfcat。不是不想省事,是代码跑到底层时,虚拟层开始说“不”。WSL厉害的地方,是把90%的人从“选系统”变成“配环境”——你不用纠结装不装Ubuntu,只要`wsl --install`,然后`code .`,活就干了。但它没想取代谁,它只是把Linux最常用的部分,安安稳稳放进Windows的盒子里。盒子没拆,盖子也没掀开,只是做厚了一点,磨圆了角,让你用着不硌手。

现在我电脑里有两个环境:WSL天天开着,跑开发、测试、容器;另一块SSD上还留着Kali,不常开,但需要时,插电、重启、进BIOS选启动项,三步做完,它就在那儿。

不装双系统也不代表你放弃Linux,装了双系统也不代表你讨厌Windows。

代码跑在哪,不看系统名字,看它需要哪一层的真实。