Can’t Leave Windows?

Well that’s debatable and many hard core Linux users would beg to differ.  I’ll take the middle road on this one.  If you can do I encourage you to dump Windows as your main operating system (OS).  Unlike many others I don’t advocate giving up Windows entirely as most of the world still run Windows.  When given the choice chose Linux, but when not give a choice like in most corporate settings you’ll be stuck with using Windows (at least for now).  I still keep a Windows boxes at home operational to keep up on my Windows skills.

windows-vs-macintosh-vs-linux

Why can’t there be a middle ground between the two OS’s?  You want your cake and Edith too right?  Well perhaps one of these solution will work for you.

You have 3 main choices:

  1. Keep a Windows box around

  2. Dual boot your PC

  3. Run an emulator or virtual machine

What I’ll be discussing below deals with emulators and virtual machines.  Emulators and VM’s provide functionality to emulate or install another environment from within your current environment.  What does that mean?  Well for the sake of keeping it simple, it means that you can run one operating system inside of another.

The first choice you’ll have to make is what OS will be be you base.  By base I mean what system will you run 98% of the time, Windows or Linux?  Again, I recommend Linux.  The OS you want to use that left over 2% of the time will be installed or emulated on top of your base system.  Once you have installed your base OS you must select an emulator / VM.  The emulators / VM’s I will be discussing below are WINE, Win4Lin, CoLinux, and VMWare.  The base OS you select will play a part in which of the products I discuss below you can utilize.  I use a combination of WINE and VMWare running on a base OS of Mandrakelinux 10.

So by now you are asking what do they do, how do they work, and what are their differences?

Wine

“Wine is an Open Source implementation of the Windows API on top of X and Unix.  Think of Wine as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.”

It’s freely available with most Linux distro’s.  I have had some success with this for programs like WinZip and WinMX, but for the most part I have found that programs don’t install and or run very well.  It’s a great idea, but still a work in progress.  It probably works a lot better with older programs since the fake windows registry it sets up mimics the Win 98 registry.  This is most likely the cause of the install issues as well.

Win4Lin

“NeTraverse Win4Lin 5.0 enables Linux users to run the Windows operating system programs concurrently with their existing Linux operating system without additional hardware or the need to dual boot. This configuration dramatically improves productivity and saves you money by reducing hardware and OS license upgrade costs. “

Works with Windows 95/98/ME, but I don’t think it does 2000 or XP.  Never actually used it, but it sounds pretty good.  I have seen some decent reviews, but again I’m not interested in older Windows systems before 2000 or XP.  It’s not open source and does cost about $89 for a license.

VMware

“VMware Workstation is powerful virtual machine software for developers and system administrators who want to revolutionize software development, testing and deployment in their enterprise. Shipping for more than five years and winner of over a dozen major product awards, VMware Workstation enables software developers to develop and test the most complex networked server-class applications running on Microsoft Windows, Linux or NetWare all on a single desktop. Essential features such as virtual networking, live snapshots, drag and drop and shared folders, and PXE support make VMware Workstation the most powerful and indispensable tool for enterprise IT developers and system administrators. VMware Workstation works by enabling multiple operating systems and their applications to run concurrently on a single physical machine. These operating systems and applications are isolated in secure virtual machines that co-exist on a single piece of hardware. The VMware virtualization layer maps the physical hardware resources to the virtual machine’s resources, so each virtual machine has its own CPU, memory, disks, I/O devices, etc. Virtual machines are the full equivalent of a standard x86 machine.”

This one happens to be the most expensive one in the bunch at $189 for a license.  However, if you can afford it I feel it is the best!  I use this one the most.  You can install this on Windows or Linux.  Once installed you create separate virtual machines for each OS you would like to run.  It supports many versions of Linux, almost all versions of Windows, DOS, FreeBSD and Netware.  You simple boot your Linux or Windows PC, fire up VMWare, and put in the disk of the guest operating system you would like to install.  It will install the complete OS!  Then you simple boot the guest OS whenever you need it without having to shutdown your base OS.  You can ever share files back and forth between your guest OS and the base OS.

I have used this solution in the past.  I was running run Mandrakelinux 10 at the time and I had successfully installed Windows 2000 and XP virtual machines on top of Mandrake.  Both OS’s operated as if I was running Windows natively.  You even have the option to make them full screen.  It actually looks like you are running Windows.  Guess what?  When Windows crashes as it’s known to do, your virtual machine will most likely crash with it, but Linux contains the crash and continues to run unaffected.  You simply reboot the virtual machine.

Cooperative Linux (coLinux)

Last, but not least
we have coLinux.  This a relatively new project that is still
very much under development.  You may not have a use for it yet,
but keep an eye on it. “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,
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.”

Good luck and happy emulating!