VMware Converter seems to have issues converting Windows 2000 Server machines from physical to virtual machines. The process (for me at least) always fails at 97%, but you can see that the VM was created as it is taking up space in your VM storage pool. It fails during the VM configuration phase. There are several theories, but I have narrowed it down to SCSI drivers and configuration that are causing the problems. If you try to start up the VM as is, it will fail and you will most likely get something akin to the following:
Windows could not start because of a computer disk hardware configuration problem.
Could not read from the selected boot disk. Check boot path and disk hardware.
Please check the Windows documentation about hardware disk configuration and your hardware reference manuals for additional information.
This basically tells you that the boot.ini is incorrect, so you need to correct it. The two issues that will plague most people with the boot.ini configuration and VM conversion are that the partition numbers are incorrect, or that the paths are marked as SCSI instead of multi.
Here's how I solved the issue.
- Make sure and install the VMware SCSI drivers on the physical server BEFORE you attempt to convert the physical server. You can get them here.
- Start the conversion process and wait for it to fail.
- Drop a Knoppix Live CD (or mount the ISO) through your Virtual Center Management Console and boot the VM from this.
When you are at the Linux desktop, mount the virtual C: drive and look for the boot.ini in the root of the C: Open it in a text editor and look for the following:
scsi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000″ /fastdetect
You can see here that it is showing SCSI in the paths. You need to change that to multi like this:
multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000″ /fastdetect
You should also check to make sure that 'partition()' has a 1 and not a 2.
Go ahead and save the file and close it.
Now un-mount your Knoppix disc or ISO and reboot the VM. It should power up normally.
*An alternate method for those not Linux inclined is to use another VM (termed helper VM) that runs fine and add the C: drive from the bad VM conversion to it's list of available drives. Reboot that VM and when it comes up, you will have to go into the disk management tool and change the drive letter for that 'bad' C: (it should come up as an available but unassigned disk) to some other letter. That will allow you to browse the disk, (make sure you are able to view hidden files) and locate boot.ini When you locate it, open the properties of the file and make sure that it is not read-only (which it probably is by default.) Make the same edits as mentioned above, save the file, and shutdown your 'helper VM.' Remove the disk that you added to it. Go back to the 'bad' VM and turn it on. It should boot up normally.
**There is yet a third method which involves using the VMware Virtual DiskMount Utility, but I feel that method is far too much work. You can read about that process here: http://rip747.wordpress.com/2007/10/23/vmware-windows-2000-migration-errors-encoutered-and-solutions/