A developer has accomplished what many would consider impossible: running a modern Linux kernel directly on Windows 95, 98, and Millennium Edition. The project, called WSL9x, is a proof-of-concept that brings Linux subsystem capabilities to Microsoft's legacy 9x operating systems.

The core of WSL9x is a custom bootloader that replaces Windows' standard kernel with a Linux kernel while preserving the Windows GUI environment. This is not an emulator; it runs native code on the actual hardware, albeit limited by the 32-bit architecture and lack of modern CPU features.

How WSL9x Works Technically

WSL9x exploits a fundamental design characteristic of Windows 9x: its reliance on DOS for bootstrapping. The project's bootloader intercepts the boot process, loading a Linux kernel instead of the usual Windows kernel (KERNEL32.DLL). Once Linux initializes, it launches a compatibility layer that mimics the Windows 9x kernel API, allowing existing Windows applications to run unmodified.

The developer describes the approach as "kernel-level hackery" — it requires patching the Linux kernel to work with the Windows 9x driver model and interrupt handling. The result is a hybrid system where Linux handles hardware abstraction and process management, while Windows 9x user-mode components run on top.

Practical Limitations and Performance

Users report mixed results. Basic command-line Linux tools work, but graphical applications and complex Windows programs often crash. The system is unstable for daily use — one user noted that "after 10 minutes of browsing with Internet Explorer, the whole thing blue-screens." Performance is surprisingly decent on period-appropriate hardware, with Linux boot times around 30 seconds on a Pentium II 300 MHz.

Memory management is a particular challenge. Windows 9x has a 4 GB virtual address space limit, and the Linux kernel must share that with user-mode applications. The project currently supports up to 512 MB of RAM, though most users report stability issues above 256 MB.

Comparison to Modern WSL

Unlike Microsoft's Windows Subsystem for Linux (WSL) on Windows 10 and 11, which uses a lightweight VM or translation layer, WSL9x is a true dual-kernel system. WSL runs Linux as a separate subsystem; WSL9x replaces the core OS kernel entirely. This makes WSL9x far more invasive and less secure — it bypasses all Windows 9x security models.

The developer acknowledges that WSL9x is not suitable for production. "This is purely for exploration. No one should rely on this for actual work. It's a fun hack."

Community Reactions

Retro computing forums have embraced the project. Many express amazement that it works at all. "I never thought I'd see Linux running on Windows 98 without emulation. This is black magic," one user wrote. Others question the practicality: "Why not just run Linux natively? The hardware supports it."

Security researchers have raised concerns. Running a modern Linux kernel on an unsupported OS exposes users to vulnerabilities without patches. The project's GitHub page carries a clear warning: "Do not use this on any machine connected to a network."

Future Possibilities

The developer hints at potential improvements: better memory handling, support for Windows 9x drivers within Linux, and possibly a WSL9x-like system for Windows NT 4.0. However, no release timeline exists. The project remains a hobbyist endeavor with no corporate backing.

For retro enthusiasts, WSL9x offers a unique way to experience Linux on vintage hardware without losing access to classic Windows software. For historians, it demonstrates the flexibility of the Linux kernel and the surprising longevity of Windows 9x architecture.

Getting Started with WSL9x

The project is available on GitHub. Installation requires a Windows 95 OSR2, 98, or ME installation with at least 64 MB RAM and a Pentium-class CPU. The bootloader replaces the system's IO.SYS, so backup is essential. A detailed README provides step-by-step instructions.

Users should expect crashes and incomplete functionality. The developer actively accepts bug reports but warns that fixes may be slow due to the project's complexity.

Final Thoughts

WSL9x is a remarkable technical achievement that pushes the boundaries of what we thought possible on legacy operating systems. While it will never be practical, it serves as a fascinating case study in kernel design and system integration. For those willing to tinker, it offers a rare glimpse into an alternate computing history where Linux and Windows 9x coexisted at the kernel level.