NT4 as a Hyper-V Guest: a P2V nightmare

Discussion in 'Virtualization' started by Myrrh, Jan 28, 2011.

  1. Myrrh

    Myrrh MDL Expert

    Nov 26, 2008
    #1 Myrrh, Jan 28, 2011
    Last edited: Jan 28, 2011
    I thought I would pass along a recent experience with Windows NT 4.0 Workstation as a Hyper-V guest. Maybe somebody will find it interesting or useful.

    I have a user who had an ancient legacy application that nobody understands exactly how to install properly on a new system and migrate data to. The only copy of said applcation was on an old Toshiba Equium Intel Inside! Pentium II running (ugh!) NT 4 Workstation. 96MB, two 2GB partitions C and D on a 4GB Maxtor IDE drive that sounded like it could crash any day.

    I got the bright idea, use the P2VMigration.msi I snagged from MS Software Assurance. So I yank the drive, attach it to a USB-to-IDE bridge, and a few minutes later I have a shiny new VHD file on my desktop.

    I build a new machine in Hyper-V, specify it to "Migrate to a...different processor version" and "Run an older operating system" for compatibility, generously give it 256MB, attach the VHD to it and turn it on. Bam! blue screen. I finally figure out, something must be corrupted, need to attach it to an existing machine and run chkdsk on it.

    I attach the VHD to a virtual Windows XP, power it up, the VM goes to 100% CPU and sits there. Same thing happened to a virtual Windows 7. So I scrap the project for a while.

    A couple weeks later, I'm piddling around in Windows 7 Disk Management and notice the new VHD options and a lightbulb goes on in my brain :D What if I create a new VHD from here, mount it into an existing virtual machine, and use RoboCopy to duplicate everything including permissions and auditing from the old drive into the VHD? I gave that a try and it almost worked. This time when I boot the NT VM I see something about the boot manager being missing. OK, so I created the VHD in Win7, it wants bootmgr instead of ntldr.

    There is probably a lot simpler way to fix this but I attached an XP ISO to the VM and booted from it, then began a clean install to the D partition. Once it was ready to reboot and offered to launch XP setup, I instead chose NT. Boot was successful! I cleaned up boot.ini to get rid of the aborted XP install and deleted the temp files it had copied. All that was left was to install the "DEC PCI Fast Ethernet DECchip 21140" network adapter which is what's emulated by the Hyper-V "Legacy" adapter.

    Now I have proven to myself that I can, if necessary, run NT4 as a Hyper-V guest and the user is happy they don't have to worry about that old hardware dropping dead. The legacy application is now portable, and it's easy to make a backup copy at any time. I installed a VNC server on it so the user can access it from their desk.

    I've since taken a copy of that VHD, made it bigger and expanded the partitions a couple of times (boot VM using pmagic-5.9.iso), and upgraded to Win2000 and finally to XP. Now the legacy app still works, plus I can install the Integration Services so that it can use the synthetic adapters and the user can use RDP and the display can be better than 800x600x16. I suspect I might soon try upgrading it to Vista x86 followed immediately by Windows 7 x86, just to see if it still works.

    1. P2VMigration might work for some things, but an old NT4 drive is not a good candidate.
    2. Robocopy is great!
    3. When migrating something, be sure to build your partitions big enough.
    4. You can start with something as old as NT4, and upgrade it all the way to XP.
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. johnkeates

    johnkeates MDL Novice

    Oct 2, 2009
    Hmm, that is strange, must be a bug in Hyper-V, since it doesn't happen with Xen or XenServer... You can just select the hardware the OS came from and it'll boot if nothing happened.