Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Open Source

Running Windows And Linux On A Single System


This Recipe will tell you how to install and optimize VMware Server, a software virtual machine emulator that lets you run Linux and one or more other operating systems at the same time, each in a separate window. In most cases this means Windows, though other OSes can be run as well.

Why do it? The disadvantages of Windows are well known. It's a malware magnet, and some reports say its instability has survived even into the recently-released Vista version. At the same time, Windows runs on the overwhelming majority of desktops and notebooks. It's a fact of life.

Recently, Apple Computer has started boasting of the Mac's ability to run Windows via dual boot. This capability is important, because many business programs and popular games alike are available only in Windows versions. Linux has the same problem. Many essential programs are simply unavailable in versions that will run on this open-source OS.

VMware Server makes it possible to not only run these programs, but also to run them from an open Linux session. So a user can work on a word-processor document in OpenOffice in Linux while they run a legacy Windows graphics application to create its images at the same time.

The Linux OS emulation described in this Recipe lets users run older legacy Windows applications within a virtual machine that's a lot more malware-resistant than a computer running Windows as its only OS. This emulation also lets users run the new Linux applications, many of which are as good or better than their Windows equivalents. Oh, and did I mention that they can run Windows and Linux applications at the same time?

For example, I'm running Opera in Linux with 90 open sub-windows, something I wouldn't even want to try in Windows. I also have Firefox 2.0.0.1., since some Web sites have trouble with Opera, just like they do with Windows IE. All major Linux distributions come with an OpenOffice equivalent of MS Office, which are free and very, very good. I just downloaded gEDA schematics and PC Designer, which gives me what appears to be a complete electronics design package; the functionality includes rip-up-and-retry PCB auto-routing. For free software, that's not bad!

Linux emulation also gives users an easy transition from Windows to Linux. It does so by letting them run familiar Windows applications while experimenting with new Linux applications. So a user can run "best of breed" apps without caring whether the application runs on Linux or Windows. Also, a user can take advantage of a truly modern OS without the problems that new Vista users seem to be experiencing.

While you can run VMware Server with a Windows host, I don't recommend it. What this will mainly do is give the user a chance to see the "blue screen of death" take down both the Windows host and the Linux guest.

Also, there are three workstation versions of VMware: VMware Server, VMware Workstation, and VMware ACE. VMware Server is free, and it offers the ability to provide normal multi-OS functionality to Linux. VMware Workstation and VMware ACE provide extra functionality for program developers, such as the ability to allocate multiple CPUs to a single virtual machine and to set security policies for virtual machines. These two products are not free, however, and I believe the extra functionality is not useful for the typical user. To compare these products in more detail, view this VMware chart.

Mainstream x86 Multi-OS Choices

There are several ways a user can run Windows or other OSes from a Linux box. While I've found VMware Server to be an excellent solution for my own needs, other programs may fit your users' needs better.

Remember that all emulation applications slow performance and require extra memory over and above what the system would require running in native mode. I'm currently running an Athlon 3500+ with 1 GB of DDR2. VMware did run satisfactorily with a Duron 1800 with 512-MB DRAM and 3-GB swapfile. But it ran badly on that same Duron 1800 configuration with just 1 GB of swapfile. Hardware virtualization support (Intel VT or AMD-V) is desirable, but unnecessary for use with VMware Server.

Below is a list of other ways to run alternate OSes, along with the features that, in my view, present serious limitations:

Dual Boot:

  • The next application you need when working with a file always seems to be on the other OS.
  • It's impossible to cut-and-paste between applications running on both OSes.
  • Linux file access from Windows requires special utilities.
  • Free, but requires technical expertise to make it work.
  • For applications that don't work in emulation (such as some games), it requires absolute maximum performance from a computer.

Win4Lin:

  • Limited choice of workstations.
  • Not free. The current sale price seems to be about $70.
  • Win4Lin 9.x. can't be upgraded in terms of guest Windows OS and prevented upgrades past FC3. This makes hardware upgrades to modern hardware impossible.
  • Win4Lin Pro doesn't support a guest-host clipboard.
  • Only permits installing Windows.

Xen:

  • Lacks a guest-host clipboard.
  • Though downloadable from any mainstream Linux distribution via automatic installer, it requires some command-line work afterwards.
  • Requires CPU virtualization support.
  • Currently best for servers rather than workstations.

KVM Virtualization:

  • Requires CPU virtualization support.
  • So new, only developers know much about it.

Wine:

  • Very limited program choice. From my experience, it's flaky, too.
  • While MS Office works, the majority of Windows programs do not work and never will work with Wine or its commercial CodeWeavers counterpart.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.