14 December 2009

Converting a physical machine to virtual using VMware

(N.B. tl;dr notes at the end...)

I'm in the process of upgrading two very old machines on my home network to something a little more 21st century, so last week I picked up two Lenovo desktops from Newegg with:

  • 64 bit Intel Core 2 Quad Q8200 (2.33GHz)
  • 4MB L2 Cache
  • 6GB DDR2 (8 max)
  • 640GB hard drive
  • DVD±RW

I've been doing a lazy port of software from the old machines and wanted to virtualize them for posterity. They're both Win2k SP 4 with sub-1GB memory and will probably run more smoothly virtualized on the new hardware than they did on the old. I looked at Microsoft's Virtual PC but had miscellaneous issues using Virtual PC 2004 SP1. A discussion thread recommended Disk2vhd v1.4 from Sysinternals, but it only goes as far back as Windows Server 2003 SP1. The conversion using Virtual PC was most likely possible, but I decided to give up in order to look at the much-recommended VMware.

I scanned through the VMware web site and quickly got lost in the combination of utilities and features and packages they offered. Instead, I went to the Wikipedia entry on VMware and immediately found the what I needed: VMware vCenter Converter (to convert from a physical machine to a virtual machine) and VMware Player 3.0 to run the virtual machines. Both free. There's a lesson in there somewhere when the Wikipedia entry is more informative than a company's web site.

I had to specifiy VMware Player 2.5 in the converter software because it was the highest version available. Creating the first image took three tries, the first two ending at 97% complete--after running an hour-and-a-half--with the error dialog "maximum registry size is too small". Solution is to increase the "Maximum registry size" setting in Control Panel > System > Advanced > Performance Options > Change. I had to bump it up to 120 (from ~40) to get it to work.

Final hurdle in the virtualized machine itself was configuring the network adapter. VMware adds its own adapter and you need to copy the specific IP and DNS settings. Once I did that, applications had internet access, but DNS seemed to not be working. I followed KB837333 - How to repair network or modem connectivity issues in Windows 2000 (found via the VMware community thread "Network not working after Windows 2000 SP4 P2V") to finally get the image visible on the network.

  1. Install VMware vCenter Converter
  2. Convert the remote machine: destination type = "VMware Workstation or other VMware virtual machine", VMware product = "VMware Player 2.5.x"
  3. Install VMware Player 3.0
  4. In VMware Player, select "Open a Virtual Machine" and add it to the available VMs
  5. Select VM > Settings... and set the Netowrk Adapter to be "Bridged"
  6. Start the VM
  7. Install new hardware drivers
  8. Update the VMware network adapter with IP and DNS settings

Oh, and beware of your firewall settings!

[ updated 8 Dec 2010 ]

The article VMWare Server Temporary Files That are Safe to Remove lists and describes VMWare's temporary files that may be left around. These are useful to know if there was a crash of some sort and the virtual machine won't start. Deleting the temp files usually fixes it. Delete: .VMEM, .LOG, .NVRAM, and .VMSD. Keep: .VMX, .VMDK or .#.VMDK.

[ posted by sstrader on 14 December 2009 at 10:20:39 PM in Home Network & Gadgets ]