On my desktop machine I often run VirtualBox, which gives easy access to other OSs, for instance Windows 7, which I have to sometimes use every few weeks. It’s not an enterprise hypervisor, but it works nicely in a desktop environment.

A useful little command, and one I find myself googling for each time I need it, is this:

VBoxManage internalcommands createrawvmdk \
  -filename ~/.VirtualBox/HardDisks/sdc.vmdk -rawdisk /dev/sdc

It enables you to present a block device (e.g. a physical hard drive, usb stick, etc) as a VirtualBox drive image. This means you can interact with a pre-existing device within your VM.

If you had a dual-boot desktop, you could run your second OS in a window, rather than rebooting each time. I also recently had to replace my laptop hard drive. Instead of sitting around with CDs or USB sticks, I present up the new drive (via a USB caddy) to virtualbox, where I installed and configure the new OS. Then it was just a case of unplugging the drive, slot it into laptop and boot into fully working Ubuntu!