One of the problems I've always had with the setup of my computer is
that each operating system has one thing I want that it does best, and I
would have to either compromise in one or reboot to the other. On Linux,
it's the development environment - I've always been most productive in an
environment with a usable terminal and minimal UI. On Windows it's the
media software available (and the games); I can't live without Winamp (and
sometimes iTunes) for their device syncing capabilities and excellent
With the last round of upgrades to my primary desktop (a quad-core i7
and 12GB of memory) I've finally reached the point where I can have what
I've always wanted: a reliable way to run a complete development
environment and simultaneously use the Media software of my choice on
the same machine.
My system currently runs the following:
- Windows 7 Ultimate as the host OS
- VirtualBox 4 running the following 3 VMs (all Ubuntu 10.10)
- A file server running Greyhole and Samba for redundant storage accessible from everywhere
- A network core VM for locally hosting network services such as DNS and NIS. (oh, and a Minecraft server)
- A development VM with the appropriate toolset for PHP development (Netbeans 7 and Firefox).
The features that make this all work:
- VirtualBox supports multiple monitors, so my development VM can span
both my monitors, or only one if I need some windows-only tool on the other.
- Windows is the host OS, so it has all the access to the hardware it needs
for device syncing with my Android phone and my iPod Touch. It's also a
plus when I want to do some gaming; I can close the development VM to
free up resources and since VirtualBox saves state it takes mere moments
to bring it back up when I need it (typically under 30 seconds.)
- Ubuntu has excellent support for running in a VirtualBox container. I haven't
had any issues with the VirtualBox guest additions and drivers.
In short, if you have a powerful enough machine, you can get the benefits of both
Windows and Linux simultaneously without having to give up anything due to
VirtualBox's great support within Ubuntu.