VirtualBox (VB) is an Open Source project for virtual machine simulation of x86 computers. By VB you can make one or several virtual computers and run them just as if they were real computers. The package is totally free and binaries are available for Linux, Windows, and OS X. The Source codes are also available free of charge. A very important point about VB is its awesome documentation although the package is so user friendly that a slightly above-average user hardly ever needs the documentation.
So why VB? For me it was quite clear when I first came across it. I wanted to install Ubuntu on my university laptop which already had Windows XP installed and was almost running out of space. Partitioning the hard disk or dual boot were obviously not an option because not only the space was limited, risking my hard disk contents was the last thing I ever wanted and I could not even run only my Ubuntu and get rid of XP because all my university programs are for Windows. First I tried a couple of USB-portable Linux scenarios but finally decided that those things are not gonna work well for my need. What I really needed was VB which I found one day by accident.
After downloading the VB binary for Windows, it took me a few minutes to install it and make my first virtual system. There is a fantastic wizard for creation of a new virtual machine. There are only a couple of things to decide about, like:
1. What is the name of your new computer?
2. How much RAM do you want to dedicate to this new computer?
3. What about Graphics card RAM?
4. Where do you want to create your new virtual hard disk? (Your virtual hard drive will simply be a file in a folder in one of your drives or an external hard drive or even an external USB flash)
And your computer is ready to boot. You can activate or deactivate other accessories like USB port, serial port, CD/DVD drive, etc. In my case I simply wanted my first virtual computer to have access to Ubuntu 7.04 LiveCD. So what did I do? I simply pointed the VB to the folder where I had the ISO file of Ubuntu CD and that was it.
Now the real fun was about to start. I simply powered on my new computer. The computer was easily booted by Ubuntu LiveCD and was running Live Ubuntu in virtually few minutes after downloading the VB. The remaining was straightforward. I just installed the Ubuntu on my virtual hard drive and started using it just like normal installations I had done before on real computers. Not to mention that the every piece of hardware was already detected and ready to use. Since then I am using my Ubuntu just there in one of my virtual computers. Yes! one of my virtual computers. I normally add a few mores when I want to try a new Linux distro or something. My virtual hard drive is on my external drives and I have my Ubuntu (as well as VB binaries) wherever I go. It is definitely more convenient that having my Linux on my USB flash unless you are really mobile and work with numerous computers.
A few more things:
1. The virtual hard disk can be defined as dynamically expanding and by doing so you save space on your disk by allowing the virtual hard disk to grow only when you need more things on it. You do not have to reserve a mutliGB place on your drive for your virtual disk.
2. It is really fun to run a couple of OSs at the same time on the same machine. But, to do so you need a good computer with a lot of memory.
3. By installing a set of plugins, you can get much more functionality like shared folders between the host and the guest operating systems. What more do you need?