I recently reinstalled Windows 7 and then VM Workstation 7 on a machine that I’d been using as a VMware Workstation host running an XP virtual machine. The VM is named “XP-Office2007″ and it resides on a separate physical hard drive in the machine. Since the reinstall, upon clicking the “Power on this virtual machine” link, VMware returns a cryptic “Internal error.” and fails to start the VM.
The vmware log in %temp% had the following entries:
Mar 01 09:28:46.750: vmui| CVMUIStatusVM::OnPowerVM clicked Mar 01 09:28:46.920: vmui-1176| /vm/#6f7088f493f32788/: VMHSVMCbPower: Setting state of VM to powerOn with option hard Mar 01 09:28:46.921: vmui-1176| VMHSGetVMX failed: Empty vmxFilePath Mar 01 09:28:46.921: vmui-1176| VMHSLaunchVM failed: VMDB failure Mar 01 09:28:46.957: vmui| Internal VMDB error: VMDB failure Mar 01 09:28:46.957: vmui| Internal error. Mar 01 09:28:46.957: vmui| VMDlg::ShowDialog: Internal error.
Of course, I immediately started Googling these errors and failure messages, but found very little. At least one page indicated that a similar sounding problem wasn’t resolved by re-installing VMware. I like to think I’m pretty decent with VMware, so I decided I’d roll up my sleeves, dig into the VM, and try to figure it out.
Trying to get lightning to strike twice, I tried my old standby fix of editing the name of the hard drive in the *.vmx file. Instead of pointing the IDE drive to the “XP-Office2007-000001.vmdk” file, I moved that file out of my VM directory and then changed the ide0:0.fileName value to point to the older *.vmdk file, named “XP-Office2007.vmdk”. The IDE lines now looked like this:
ide0:0.present = "TRUE" ide0:0.fileName = "XP-Office2007.vmdk" ide1:0.present = "TRUE" ide1:0.fileName = "E:"
When the machine was powered on, it still failed, but with a different and more descriptive error:
Unable to open file “D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk”: One of the disks in this virtual machine is already in use by a virtual machine or by a snapshot.
The more verbose message from the vmware log in %temp% read:
Mar 01 10:31:22.814: vmui| CVMUIStatusVM::OnPowerVM clicked Mar 01 10:31:23.016: vmui-3992| SNAPSHOT: SnapshotDiskTreeAddFromSnapshot: Trying to add snapshot XP-Office2007-Snapshot2.vmsn to disk D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk which already has snapshot currentState. Mar 01 10:31:23.016: vmui-3992| Cannot open D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk of type disk: One of the disks in this virtual machine is already in use by a virtual machine or by a snapshot. Mar 01 10:31:23.016: vmui-3992| Cmd /vm/#6f7088f493f32788/cmd/##94/op/checkMissingFiles/ failed: Unable to open file "D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk": One of the disks in this virtual machine is already in use by a virtual machine or by a snapshot. Mar 01 10:31:23.016: vmui| Unable to open file "D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk": One of the disks in this virtual machine is already in use by a virtual machine or by a snapshot. Mar 01 10:31:23.016: vmui| VMDlg::ShowDialog: Unable to open file "D:\VMware\Virtual Machines\XP-Office2007\XP-Office2007.vmdk": One of the disks in this virtual machine is already in use by a virtual machine or by a snapshot.
I copied only the *.vmx and *.vmdk files into a new folder and tried to launch the *vmx as a new VM, but got the Internal error message again. This was something of a relief, as it suggested that the problem wasn’t with the VM itself.
I tried to create a new, empty virtual machine using the New Virtual Machine Wizard, but the process didn’t complete. After setting up the basic machine, I clicked the Finish button in the wizard, but the window did not close. The *.vmx and *.vmdk files were created, however. When I closed the window with the red X and tried to power on the VM, I got the same Internal error message.
I found a VMware community article suggesting that I needed to run Windows Updates on the host. This seemed logical, as perhaps the old host had more recent updates, but I found that the current host was up to date.
As I was running out of ideas, I decided that maybe re-installing Workstation was worth a shot, so I first checked in SCCM Software Center and found it had a Failed status. I then looked in Windows Programs and Features and found it wasn’t listed at all.
I reinstalled Workstation from Software Center and lo and behold, the VMs powered up normally. If I’d just kept my self-confidence in check, I would probably have gotten around to verifying the install much sooner.