coLinux logo

Main site

coLinux home
Status and ChangeLog
(binary and source)

Users mailing list


2004 paper - OLS
2004 slides - Tokyo Univ., Tsukuba Univ., YLUG (at NTT), JLA (at Hitachi)


Development team
Developers mailing list
Public source control
Development Snapshots

All the web only


The Linux kernel
User Mode linux

Get Cooperative Linux at Fast, secure and Free Open Source software downloads

What is coLinux

... "If Linux runs on every architecture, why should another operating system be in its way? " ...

Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine. For instance, it allows one to freely run Linux on Windows 2000/XP/Vista/7, without using a commercial PC virtualization software such as VMware, in a way which is much more optimal than using any general purpose PC virtualization software. In its current condition, it allows us to run the KNOPPIX Japanese Edition on Windows (see Screenshots).

Latest News

Mai 13, 2014:

The SVN repository was moved on SourgeForge. Please use the new URL. Plesse see our section Public source control.
An existing repository can switch to new URL by this command:

svn switch --relocate \ \
SourceForge has more documentation here

- Henry

March, 2012:

Just a note from coLinux user about an article in UK version of Linux Pro Magazine:
"... I would like to mention an excellent article in the current Linux Magazine, issue 136, March 2012, pp 38-41, which is an excellent tutorial that uses this download together with colinux, vming, and pulsaudio to get a sound-and-graphics linux gui running on Windows."

- Henry

November 7, 2011:

We got a sponsor who is willing to complete the port for 64 bit. Please have a look at oDesk.
update: Job was canelled.

- Henry

April 9, 2011:

Version 0.7.9 was released. See changelog for specifics.

- Henry

... archived news

Project Description

How does it work

Unlike in other Linux virtualization solutions such as User Mode Linux (or the forementioned VMware), special driver software on the host operating system is used to execute the coLinux kernel in a privileged mode (known as ring 0 or supervisor mode).

By constantly switching the machine's state between the host OS state and and the coLinux kernel state, coLinux is given full control of the physical machine's MMU (i.e, paging and protection) in its own specially allocated address space, and is able to act just like a native kernel, achieving almost the same performance and functionality that can be expected from a regular Linux which could have ran on the same machine standalone.

Since coLinux uses the same binary format for user-space executables as native Linux, coLinux can load and run an existing unmodified Linux distribution concurrently with the host OS.

Hardware virtualization

To cooperatively share hardware with the host operating system, coLinux does not access I/O devices directly. Instead, it interfaces with emulated devices provided by the coLinux drivers in the host OS. For example, a regular file in Windows can be used as a block device in coLinux. All real hardware interrupts are transparently forwarded to the host OS, so this way the host OS's control of the real hardware is not being disturbed and thus it continues to run smoothly.


Unlike User Mode Linux, coLinux always utilizes only one process of the host OS for all its Linux processes, privately managing their scheduling, resources, and faults in a manner which is contained and entirely independent of the way the host OS is implemented. In fact, coLinux only requires a very small set of commonly exported primitives from the host OS kernel in order to work, thus, it can be rather easily ported to run under any operating system, such as Solaris, or even Linux itself.

coLinux is being ported to run under ReactOS, a standalone Open Source Windows implementation.

For additional info

Questions about this project can be sent to a member of development team or to the list.