Converting a physical machine to a virtual machine can be a bit of an arduous task under many virtualisation solutions, and the various Microsoft solutions are no exception. Microsoft have released the VS Migration Tool Kit, however this unfortunately requires ADS 1.0 to be deployed. In my instance this isn't suitable. However, what you should realise is that it's simply possible to make an image of the hard disk, restore it and then quickly wap Windows on top again, as the quickest hands-free fix to sort any BSOD or driver issues (if required).

Today I've done just that, using Clonezilla, an open source clone of Symantec / Norton Ghost based on Debian. I'm sorry Redhat-lovers, but I think the world is trying to tell you something when awesome tools are created from a Debian base ;) Now the obligatory distro bashing is out of the way, we can continue.

This is the first time I've used Clonezilla, and I've got to say that I'm very impressed. You can send and receive an image to and from a variety of filesystems, both network and local, and is capable of compressing the files quite nicely. If you're running a server you can also do some clever multi-cast magic for casting a number of machines simultaneously. Nice.

I won't bore you further with how awesome Clonezilla is, and I'll get to the nitty gritty. I saved and restored my image to and from an SMB (Windows) share, which you may find a bit tricky if you're not up together with the ins and outs of running Linux on MSVS2005SP1R2. I've written about this before, but rather than point you at a previous article, and tell you what to ignore, I've popped my steps together below. The reason for this is that all you need to do is get the networking up and running, as the “GUI” is simply an curses interface, and the clock issues shouldn't matter as you're doing this over a very short space of time.Burn the Clonezilla CD, boot it and make an image of your machine to your chosen SMB share. There are plenty of tutorials for this if you get stuck. I won't give you a step by step guide, I'm afraid.Create a virtual machine and set it to boot from the Clonezilla iso or CD. Turn it on.Select whatever boot option you need to, and once in to the GUI drop to a terminal (Ctrl+Alt+Fx, where Fx is an F key. F1 is the GUI, so I'd suggest F2).Login as root:

sudo su
ifconfig -a

You should see eth0, unconfigured. If you don't then you need to

modprobe tulip
vim /etc/network/interfaces

and add the following at the bottom, to get it running on DHCP

auto eth0
iface eth0 inet dhcp

Save and close.Restart the networking stack:

/etc/init.d/networking restart

Check that you've got an IP assigned to eth0, by using

ifconfig

Thanks to mypapit gnu/linux blog, via PlanetSysadmin, for bringing this awesome tool to my attention.