有个人做了件我一直想干但没干过的事——给Windows 98装了一个Linux子系统。
不是虚拟机,不是模拟器。是真正的、像WSL一样能直接在Windows里跑bash命令的东西。项目叫"Windows 9x Subsystem for Linux",在HN上800多分。
我第一次看到这个项目的时候笑了很久。因为我脑海里浮现了一个画面:2026年,一个人坐在一台25年前的电脑前面,屏幕分辨率是800x600,他在上面跑ls -la。
但这项目不是在搞笑。
作者很认真地写了驱动层、系统调用转换层,甚至做了一个精简的Linux内核,能在Win98的内存管理器里跑起来。整个项目C语言写的,大概一万多行代码。
那么你想在Win98上跑什么?
跑bash,跑gcc,跑make。有人试了编译hello world,成功了。有人试了跑vim,也成功了。有人甚至试了跑python 2.7——卡得要死,但确实能跑。
评论区有人说:"这是我2026年见过最有用的没用项目。"
我觉得这话不完全对。
因为这项目其实戳中了一个很本质的问题:Windows的兼容性到底有多烂。
微软做WSL2,号称让Linux和Windows完美共存。但你实际用一下就知道,文件系统的性能差到让人想砸键盘。WSL2跑IO密集型任务比原生Linux慢3到5倍。微软的解决方案是——把文件放在WSL的虚拟磁盘里,不要放在Windows目录下。
翻译一下就是:我们两个系统确实能共存,但你们最好别让它们频繁交流。
那这个Win98项目做了什么?它在25年前的系统上,用极其有限的资源,实现了基本的系统调用转换和文件系统访问。速度当然谈不上快,但至少没有那种"我把东西放在A盘符但B系统读起来像跨太平洋"的荒谬感。
当然你可以说这完全是两回事,Win98和Win11的架构复杂度差了不知道多少个数量级。
但我想说的是:1998年的系统,一个人用一万行代码就能让Linux跑在上面。2026年的系统,一家市值两万亿的公司做了两代WSL,Linux和Windows之间的文件交互还是一坨屎。
到底是技术变难了,还是变臃肿了?
这项目的README里有一句话我印象很深:"I wrote this because I was bored on a Saturday afternoon."
周六下午无聊写的。
有时候最好的项目就是这样诞生的。没有什么商业计划书,没有什么产品路线图,就是一个周六下午,一个人,一台老电脑,一个想法。
对了,评论区还有人给这个项目提了个issue:"能支持Windows ME吗?"
作者回复:"我自己都想删掉ME的安装盘,你别逼我。"