I am setting up a virtual machine to host a Windows XP environment with specific legacy software to replace a customer's broken Dell MTC2 desktop. I used Disk2vhd to generate a VHD from the customer's IDE hard disk and created the virtual machine with VirtualBox. The system begins to boot but then stops with the following BSOD error:

enter image description here

If I copy the C:\WINDOWS directory from a different Win XP installation to this same drive and boot from it, everything works with no issues. I suspect that somewhere in the C:\WINNT directory is there is a corrupt file or registry entry. I tried running chkdsk /r, bootcfg /rebuild, and fixboot in the recovery console, but the OS still fails to boot.

This tutorial mentions that "Windows memorizes which IDE/ATA controller it was installed on and fails to boot in case the controller changes." It says that the solution "is to perform several modifications to the Windows registry" to disable these checks, using a tool called MergeIDE. Unfortunately, this approach requires the original computer to be functional, which it is not. It also provides a link to an MS Docs page, but I cannot find anything that details how to disable this checks.

How can I resolve this issue?

  • A possible workaround would be to get an old version of VMware Vcenter Converter and make a VMware VMXD disk file. Then see if it opens in VMware Player. This may help you - I am not sure.
    – John
    Sep 11 at 22:06

1 Answer 1


For future reference, it looks like the MergeIDE utility is just a .reg and .bat file. For anyone who is unable to start the original machine, try downloading MergeIDE, extracting the files, and looking at the registry keys and batch script. Every change you need to make is already defined for you in these files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.