Environment
Situation
This article outlines a potential problem at the "Configuring Virtual Machine" stage during the "Configuring Operating System" step of the conversion (Virtual Machine or Physical Target). The workaround steps in this article refer to Virtual Machine target but these steps also apply to Physical Target Servers (e.g. Any-to-Physical migrations).
Windows could not start because the following file is missing or corrupt:
<Windows Root>\System32\<hal.dll/NTLDR/NTOSKRNL.exe>
This error will usually occur if the entry in the boot.ini file of the target VM is pointing to the incorrect partition\directory or if the source server was used in a previous failed conversion attempt and has an incorrect boot.ini entry.
Resolution
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 or directory (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