Tuesday, March 23, 2010

Running Linux on Windows - no reboot required

To me, one of the best aspects of running Linux is how versatile it is. It runs on anything from giant virtualized servers to Android-based smart phones. Linux also plays nice with just about any other operating system. A buddy of mine told me one time that he thought that Linux is the “chilled out hippie” of operating systems.

These two aspects of Linux – its versatility and its compatibility – can lead to some interesting projects. Wubi (http://wubi-installer.org/) is an Ubuntu based installer that lets you install Linux on Windows as if it were any other program. This can be pretty useful, like for example if your write a blog about Linux and open source software but don’t want to constantly switch between operating systems.

Wubi lets you run Linux on pretty much any Windows version since Windows 98. I tested it on Windows 7, which they don’t list as supported, but the install went flawlessly. The installer lets you choose between a few different Ubuntu varieties. I installed Kubuntu, which includes the KDE window manager instead of Gnome as standard Ubuntu does. While the installer itself is barely over a megabyte, the actual guts of the Linux distribution aren’t downloaded until you select what variety of Ubuntu you want. This can take a few minutes, so be patient if you have a slow net connection.

As far as performance goes, Wubi doesn’t disappoint. Although the extra overhead of running Linux on Windows is obvious, it’s still pretty snappy and responsive overall. Also, having extensively tested a number of virtualization platforms, I can definitely say that Wubi is much faster than running Ubuntu in a free virtual machine like Qemu or Bochs, but is probably a little bit slower than something like VMware that supports hardware-based virtualization.

Overall, if you’re looking for a free way to easily run Linux on Windows, then Wubi is a great option. If you already have VMware, though, you’d probably be better off installing it to a virtual machine and running it that way.