Virtualization, or virtual machines, are very cool. For those that don’t know what I mean, here is a quick run down: Virtualization technology allows a user to “run an OS in an OS”; in other words, for example, you can have Windows XP 32-bit installed on your computer and run a virtualized version of Windows Vista 64-bit on top of that. The virtualized Windows Vista acts just like if it was installed on your physical machine. However you really didn’t install Windows Vista; you virtualized it and are running it in Windows XP just like you run any other program. Admittedly virtualization does require a fairly powerful PC (to give you a general idea, think of it as running two OSes on your computer at once) or else you will experience huge amounts of lag, but virtualization technology is one of those things that are just awesome.
Now to create a virtual machine, you need virtualization software. The three most popular ones out there VMware, VirtualBox, and Microsoft Virtual PC. VMware is more of a commercial product (although there are some server editions you can get for free), while VirtualBox and Microsoft Virtual PC are completely free. My favorite one has always been VirtualBox because it is open source, so available to all users, and is cross platform (works on Windows, Mac, and Linux).
That being said, being able to install a new OS on top of your current OS is nice and all, but the purpose of this post is not to go into the details of virtualization. Rather I would like to inform dotTechies of an awesome, and potentially very useful, trick: turn your current OS (with all your files and program) into a virtual machine so you can easily run it (with all your files and folders) on another PC. The best part is your current OS is left untouched; rather you just create a “virtual copy” of it. Think of it as creating a backup image of your computer but instead of restoring the image, you “run” the image with your favorite virtualization software such as VirtualBox.
You can turn your current OS into a virtual machine using two different programs: VMware vCenter Converter and Disk2vhd. After you virtualize your OS, you can run it using VMware, VirtualBox, or Microsoft Virtual PC.. For the purposes of this post, I will focus on a Disk2vhd + VirtualBox combination.
…allows you to easily virtualize your whole hard disk or select partitions. It is lightweight (707 KB download), portable, and [comparatively] fast (took me just under 40 minutes to virtualize the C:\ partition you see in the above screenshot) . You simply download Disk2vhd, unzip it (no installation required), run it, select the partitions you want to virtualize, click “Create”, and wait for it to finish. If you have multiple hard disks, Disk2vhd will create one VHD file for each hard disk.
The major advantage Disk2vhd has over rival create-virtual-images software is Disk2vhd takes advantage of Windows’ “Volume Snapshot” feature allowing you to virtualize the OS you are currently running whereas some other software will lock you out telling you they cannot create a virtual image of any online system.
After you have created a VHD for your OS, you can run the virtual machine on any computer you want via VirtualBox (of course make sure you copy the VHD file to the computer you want to run it on). Just download and install VirtualBox, create a new virtual machine on VirtualBox like you would normally, but make sure to select the VHD for the virtual hard drive instead of creating a new virtual hard drive:
After you create the virtual machine, simply run it, and let Windows install as many drivers as it can find. After that it is up to you to find the drivers yourself.
Of course since Disk2vhd creates a VHD, you can also use Microsoft Virtual PC to run the virtual machine instead of VirtualBox (do note, though, Virtual PC has a 127 GB virtual disk size limit). The only problem is Microsoft Virtual PC is only available to people who have Windows XP Pro, Windows Server 2003, Windows Vista Business or higher, Windows Server 2008, and Windows 7 Professional or higher.
Furthermore, if you have Windows XP, Windows Vista SP1, Windows Server 2008, or Windows 7 (regardless of which edition), you can “attach” your VHD and make Windows think it is a real physical partition on your hard drive so you can boot directly from it and not have to virtualize it with VirtualBox or Virtual PC. For XP/Vista you need to download the VHD mount from Virtual Server R2 while you can do it natively in Server 08/Win7.
All in all, this “turn-your-PC-into-a-virtual-machine” is very cool and can be potentially very useful. To get started yourself, download the appropriate software from the links below: