In association with heise online

25 September 2008, 17:18

Trying Linux on your Windows system

Dj Walker-Morgan

A Windows user who wants to evaluate Linux, or any other alternative operating system, on their current system has a large number of options. In this article, we will look at those options for the busy Windows user who is evaluating Linux, wants to use open source applications, but doesn't want to lose access to their Windows system.

The oldest technique to get two operating systems to run on one system is dual booting. This is where the user installs Linux in a spare partition on their hard disk and whenever the system boots, selects which operating system to run. This was harder in the past, but a modern Linux distribution will install and configure the boot loader to boot Windows or Linux. The problem with this route is that most users don't have a spare partition, so will need to resize their existing disk partitions. Many Linux distributions incorporate tools to do this resizing, but it does mean the user's data may be at risk if the repartitioning goes wrong.

To get around that problem, Live CD distributions were created. These are bootable CDs which can, using RAM-based filing systems, run on a system without touching the hard disk. Live CDs protect your existing hard disk, unless of course the user boots the Live CD and then installs from it. Live CDs provide a way to get a quick taste of Linux, but like dual booting, they also bring the user's workflow on Windows to a halt until they reboot into Windows.

A busy user can't afford to be cut off from their workflow like that. The solution is to run Linux on Windows using virtualisation. Virtualisation is a technique for programs to slice up the system's memory and make it appear as if there was a second, or more, PC inside their system. The virtual PC is called a guest, while the system that runs the virtualisation program is called the host. The host needs sufficient resources to be able to create the guest. If a Windows system is tight on RAM, virtualisation is not going to be a useful option. The system will also need around five to ten gigabytes of free hard disk space; again, if there isn't this space easily available, virtualisation is a non-starter.

There are a number of virtualisation applications for Windows, programs that create a window onto a virtual PC running on the Windows computer. They all translate screen updates, mouse movement and keyboard presses between the virtual computer and the Windows host, and behind the scenes, translate the disk and networking operations to work on disk. One commonly used option is VMWare's VMPlayer, which is free but proprietary. For an open source virtualiser, we'll look at VirtualBox 2.0 from Sun Microsystems. VirtualBox runs on Linux, Solaris, Mac OSX, and Windows and has two editions, a binary version from Sun for personal and evaluation use, and an open source version which is available as source code. The actual differences between the two versions for the purpose of evaluating Linux are minor and the binary "closed source" version is the easiest and simplest version to acquire, as there is currently no Windows build of the open source edition of VirtualBox. Download VirtualBox and its manual from the VirtualBox web site and install.

For users who want to work through installing Ubuntu Linux using Virtual Box, we have a step by step guide in an Open Steps feature.

There are some important things to remember with a virtualised Linux though. Getting a virtual Linux running is no guarantee that Linux will run directly on the system. With a virtual machine, the operating system has been installed on a virtual PC with fairly well known set of emulated hardware. The hardware that is actually in the system doesn't matter to the virtual machine. That the emulated hardware is well known does mean that any operating system you want to virtualise to try out has a very good chance of having the appropriate drivers. If you want to see if your hardware is supported, a brief run with a Live CD of the Linux distribution you want to try should give an indication of any obvious device driver issues without affecting data on the hard disk.

A virtual machine is not a good way to measure performance. Although users should find the speed of a virtualised system acceptable, it will be running with limited memory and CPU resources. Graphics performance will also be restricted. With most virtualisation solutions, getting to the 3D graphics capabilities of the hardware is usually not possible for non-Windows operating systems. The emulated graphics card will be a simple 2D VGA card in that case, and with more and more use being made of 3D capabilities in user interfaces, users will get an experience less the eye-candy.

With these limitations in mind, why would users want a virtualised Linux on their desktop? As we mentioned earlier, there is the lack of disruption to their normal workflow. With a virtualised Linux, they can quickly switch between Windows and Linux without rebooting. There's no risk to existing data on the system, the virtual machine being limited to seeing a file which it thinks is its hard disk. The virtualised machine can easily be suspended when resources are short. The user also gets the benefit of going through the installation process in a safe environment, allowing them to become familiar with it. With sufficient RAM and disc space, a number of other advantages come to the fore that are not possible with a Live CD or dual booting system. The ability to duplicate a virtual machine, simply by copying the associated files, allows for more experimentation and a way to go back to a stable version of an operating system. VirtualBox also offers the ability to snapshot a virtual machine's state, also allowing for a way to roll back time on the virtual machine.

Virtualisation is a powerful way to get access to other operating systems, and with VirtualBox there's an open source route for Windows users to get Linux, or any other operating system, onto their existing desktop. It is also an excellent way to evaluate Linux based servers and their supporting tools.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit