Conversion failing at the "Configuring Virtual Machine" step with a hal.dll error

  • 7920051
  • 29-Jul-2004
  • 26-Apr-2012

Environment

PlateSpin Forge

Situation

Overview

This article outlines a potential problem at the "Configuring Virtual Machine" stage during step 9 of the conversion.

Applies to:  PowerP2V V4.0 and higher

Details

After the "Starting Target Machine" stage is completed during step 9, the conversion fails at "Configuring Virtual Machine".  When attempting to boot the newly created target VM manually through the VMware Remote Console or through Microsoft Virtual Server 2005, the following error is displayed:

Windows could not start because the following file is missing or corrupt:
<Windows Root>\System32\hal.dll

This error will usually occur if the entry in the boot.ini file of the target VM is pointing to the incorrect partition or if the source server was used in a previous failed conversion attempt and has an incorrect boot.ini entry.



Workaround

1.  Boot the target VM into the Windows Recovery Console
2.  Copy the boot.ini file onto a floppy disk (as you will not be able to edit the boot.ini
     from the Recovery Console)
3.  Place the floppy in another machine and open the boot.ini so that it can be edited
4.  Ensure that the boot.ini is pointing to the correct partition (see example below)
5.  Save the changes
6.  Copy the edited boot.ini file from the floppy back to the target VM.
7.  Reboot the target VM
8.  Leave the VM running for approximately 1 hour to allow the remaining conversion configuration to complete
9.  Install VMware Tools or VM Additions manually if needed.

 

Example:

Source machine's volume configuration

Vendor Partition - \disk(0)\partition(0)
C:                    - \disk(0)\partition(1)
D:                    - \disk(0)\partition(2)

Boot.ini before edit:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\winnt="Microsoft Windows 2000 Server" /fastdetect
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\winnt="Microsoft Windows 2000 Server" /fastdetect


Boot.ini after edit:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\winnt="Microsoft Windows 2000 Server" /fastdetect
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\winnt="Microsoft Windows 2000 Server" /fastdetect