Ever had to work on two operating systems,
one to carry out the most common tasks on, while still working on the other? Well, I have.
As I write this article, I’m sitting on a Linux box and desperately wishing for Word
2000, while I type this text into gNotepad+ (I know of StarOffice and all that, but I like
Word2k, and intend to stick to that.) Now thanks to VMWare, I can do just that.
VMWare lets you run a "virtual
computer" in a window in the currently loaded OS. That is, you can boot a different
OS in one window of your current OS.
Setting up VMWare
Installing VMWare is
pretty simple. Uncompress the tarball as root using "tar zxvf
vmware-forlinux-102.tar.gz". (Here’s a tip: You don’t need to gzip and then
tar xvf a tar.gz file. Simply use zxvf instead). This creates a directory called
vmware-distrib. Go to this directory and run the install script file using /install-pl.
This quickly sets up VMWare on your system. If you’re using the trial version on the
CD, you’ll need to apply for a trial key at www.vmware.com/forms/download.
cfm. This
key will be sent to you by mail. Create a directory called .vmware (a hidden directory,
note the leading dot) in your home directory and save the file sent to you as
"license" in it.
If you’re already in X, start a
terminal window and enter "vmware &". This starts up VMWare and very
quickly tests your display settings. It then starts a wizard to guide you through the
process of setting up a new virtual computer on your Linux system. Choose the
configuration wizard to continue.
The first thing you need to decide is the
OS you wish to run in the virtual PC. VMWare gives you a pretty nice choice, including MS
Dos, Win3.x/9x/NT, Linux, or others. The choice here is used only to optimizing VMWare to
work better with the OS being installed.
Next, you need to decide where you wish to
keep the files that the guest OS requires. Typically, this is a directory with the OS
name, under vmware in your home directory. Then choose the amount of virtual hard disk
space you wish to give to this OS. You can even choose more than the amount of free disk
space on your system, but expect to have problems later on if you try this. After this,
decide whether you want the guest OS to have access to the CD-ROM drive and the floppy
drive. Finally, select the type of networking you wish to allow. A bridged network allows
the guest OS to have a completely independent set of network protocols, and appear as a
separate machine to other computers on the network. Choosing host network allows only the
host OS to see the guest OS.
Finally, VMware displays the configuration
it’s going to save. You can change any of these options using the configuration
editor in the program. By default, it allocates exactly half of the physical RAM on your
machine for the guest OS. (Of course, that’s only when the guest OS is switched on).
Running VMWare
Now, click the "Power
On" button and prepare to get amazed. It starts off with a RAM check. You can even
press a hot key to get into the computer BIOS and change settings like the device boot
sequence. Once the boot up starts, you can start installing your guest OS as you’d do
normally. Once the installation is over, the guest OS starts up normally and you can start
exploring immediately. The first thing to do is install the additional VMWare tools for
the guest OS. If your guest OS is Windows, the program lets you change the resolution to
any level supported by your card.
Install networking as you’d normally
do. If you wish to transfer files between the host and the guest OS, simply FTP them
across each other. Note that unlike with a mounted partition, the host OS can’t see
the guest unless through VMWare and vice-versa. (This can, however, be achieved. More
about that later on.)
I was able to install my favorite programs
without any problem. IE 5 came for first (I detest Netscape, especially on Linux, as
it’s far too buggy), then came a couple of other Internet programs like CuteFTP and
ICQ. None of them found anything amiss in the OS. I even ran a ScanDisk and installed
Word.
Switching between Linux and Windows is
pretty simple. If you have the VMWare tools installed, simply move the mouse off the edge
of the VMWare screen and you’re back into the host OS. Otherwise, press Ctrl-Alt-Esc
and the cursor control is forcibly released to the host.
Dual boot
My next question
was–I’m already dual-booting Linux and Windows. I don’t want to install
Windows again and waste valuable disk space. Can’t I boot Windows off the original
install, instead?
Well, apparently you can. Although the
online documentation mentions that this is possible, it doesn’t give further details.
You have to follow a set of links to the VMWare Website and a slightly long process to get
this working. However, don’t try it until you’ve taken a backup of everything
you need from both the OSs on your system.
The first thing to do is to create hardware
profiles for your guest OS. Boot into the OS you wish to boot in a window natively first,
and create a new hardware profile. For Windows, go to Controlpanel>System>hardware
profile and add a new one. Rename it to something recognizable. Now boot into Linux and
start the VMWare configuration wizard using /usr/local/bin/wmware-wizard-rawdisk. Make
sure that the partition is not mounted under Linux natively.
Once the wizard starts, select the OS
name and the location to store configuration files. In the next step, choose
"existing partition" and select the read/write option for the partition that
contains the OS (hda, hdb, etc). Finally, set the other settings as required.
Power on the VMWare. When the system comes
on, boot into the guest OS from the boot manager. If you’ve configured the hardware
profiles as mentioned above, you’ll need to choose the new one on startup. The OS
will detect the new virtual hardware and configure itself. You can then continue to use it
as you normally would.
Performance
I didn’t notice
any performance lag in either the host or the guest OS. This could be due to the fact that
I’m on a PIII/450 with 128 MB RAM. So I was able to allocate 64 MB to each OS. The
only time I noticed some lag in the guest OS was when I installed a couple of games (Quake
II and the just-released Unreal Tournament demos). I even updated Win 98 with
DirectX 7 and was able to play these games pretty satisfactorily, albeit with a little
keyboard and mouse lag. None of the many applications and system utilities I installed in
Win 98 was able to detect anything amiss. All of them performed just as if they were
running natively.
Conclusion
Unlike Wine and similar
products, VMWare is not an emulator. This actually boots the guest OS and gives it its own
virtual PC to work in. I’d even started a Solaris 2.6 for x86 setup in a new
VM, but
gave up due to lack of disk space. During the initial setup, though, Solaris too
did’nt find anything strange in the environment.
If you need to work in multiple OSs and
sometimes at the same time, then VMWare is the best choice around. You do need a high-end
system with oodles of RAM if you really want to exploit both the OSs, but that
shouldn’t be too much of a problem now. Also, if you’re a Linux fan and have to
work in Windows and wish for dear old Linux running in a window, that’s possible too.
VMWare for Win NT and 2000 also exists and can be obtained from the Web.
Previously, only Mac users had the luxury
of running two OSs simultaneously, thanks to virtual PC. Now, Linux and Windows users have
it too. I’m using it regularly on my Linux system and have no complaints. The
technology is pretty interesting by itself and the Website gives you a glimpse of what
goes on behind the scenes. And once I have the time and computing resources, I plan to do
something interesting. I’m going run Windows in a VMWare window, to run VMWare on the
Linux machine through an XServer connector, to connect to a raw Windows partition that has
VMWare native, and so on. After what I’ve seen, I’m pretty sure VMWare will
handle that.