The first tool for anyone using virtualisation

I am a fan of virtualization—my comments on an earlier post about it being the future should be a giveaway. As such, I have a “few” VHDs around, and sometimes I have problems the out-of-the-box technology can’t solve. A few of these are:

  1. I sometimes need code, a sample, or a file to fix something that’s sitting in the VHD file. The pain here is that to do that, you need to boot up the VM, log in to it, find the file, and copy it to the host machine.
  2. As pointed out before, I work in a team that does not prescribe to a single best tool. I personally use Hyper-V, but that’s just me. VirtualPC is used by some who run Vista or XP, VMWare is popular (duh), and so is Xen—so how do I get my files to them?
  3. Sometimes I need to test something on a live system and require a VM of that system.
  4. Other times, I want to deploy what I’ve done on a VM to a physical machine.

All the above are just plain annoying, but thankfully there’s a program called WinImage! (It comes with a 30-day fully functional evaluation edition, so don’t worry if you need to test it out before buying.) So how does it solve my problems? (The numbering below matches the issues listed above.)

  1. It allows you to open VHDs directly, as well as other formats like ISO or VMWare’s formats! It’s very simple to use—similar to most compression tools like WinRAR or WinZIP—so you just go to File → Open, select the VHD, and it displays the contents almost instantly (the 47GB one from the previous example in about 2 seconds on my standard-spec laptop). Now you browse it like any other file system, find the file, right-click, and hit Extract! There are even options to extract multiple files while keeping the folder structure.

  2. Moving between Hyper-V and VirtualPC is fine (VHD is compatible between them)—all I have to do is uninstall the additions before transferring it. I keep VirtualPC installed for this purpose, but that’s all it gets used for. WinImage lets me convert between VHD (Virtual Server, VirtualPC, and Hyper-V) and VMDK (VMWare). I can also convert from an IMA (image) file to VHD and VMDK, but not the other way around. Unfortunately, there’s nothing for Xen yet—but hopefully, as it becomes more widely used, we’ll see support for it.

  3. I can rip an image of a real hard drive to a VHD or VMDK format! And since WinImage doesn’t need installation (it’s a single .exe that can run directly from a ZIP archive), it’s easy to get onto a server.

  4. The same is true if I have an image—I can write it directly to a physical hard drive, so no more extracting, copying, and rebuilding. Once your environment works, just deploy it!