Monday, April 25, 2011

Dell Server P2V stuck at loading screen

Almost every P2V I have done to date has gone flawlessly. I frankly expected more trouble, but have been very pleased with VMware's product thus far. Almost every virtualization that experienced trouble was a result of third party software, or in this case, drivers for third party hardware.

The specific server in question was a Dell PowerVault 700 series NAS... it was running Windows Server 2003 Appliance edition, an OEM only version of windows 2003. Not really supported for virtualization, but the intention was to upgrade it to Datacenter Edition anyway once all was said and done... it was just a matter of getting there. After the virtualization process finished, the server powered on, and would not get past that animated windows logo loading screen with the grey dots moving across the bottom. I let it sit for up to 30 minutes before I was fairly sure there was no hope. The processor spiked at 100% the entire time, so I knew it was some kind of driver or service misbehaving. The system booted into safe mode just fine, but wouldn't boot into normal mode, even in diagnostic startup mode.

I worked with Microsoft, they didn't have a clue either. Time for process of elimination! I opened up MSINFO32 and made an export of all the Software Environment > System Drivers section for safe keeping, then went to work disabling all of them, section by section, starting with the ones marked as 'Stopped' with 'Start Mode' Set to Boot. I knew it had to be a 'stopped' one as windows was starting fine in safe mode, but not when everything started up normally. You can change them by opening up regedit and going to HKLM\System\Services. Expand each service name, and under it is a key called 'Startup' with a value of 0-4. 0 is 'Boot', 1 is 'System', 2 is 'Automatic', 3 is 'Manual', and 4 is 'Disabled'. Make sure to write down the original value of each 'startup' item as you set it to 4, because you will need to revert the changes.


Either way, disabling all the 'Boot' startup items didn't fix it, so I moved on to disabling all of the ones with 'start mode' set to 'System'. With all Boot and System items set to disabled, bingo! It started up. Now I put them each back to their original startup mode, one by one, rebooting into normal mode each time to see if the server would start. It finally narrowed down to one service, called "Msdisp." The description? "DELL LED DRIVER". Go figure! It was a driver for the hardware chassis to control the LED lights on the front of it, and it apparently blew up when it couldn't find whatever LED controller it was looking for. I left the service disabled, returned all others to their original values, and I was off to the races!

Hopefully this process of elimination method helps someone else out there!

9 comments:

  1. Andrew... you are a legend! Been having issues trying to virtualise a DELL PV NAS for the past 2 days... this solved the issue with 30mins. Many mnay thanks!! :)

    ReplyDelete
  2. Ah, I ran into the same thing, but my standard process is to boot to safe mode, disable any legacy hardware services, and go into device manager and remove any legacy hardware drivers. Be sure to use "set devmgr_show_nonpresent_devices=1" and then start devmgmt.msc, select "Show hidden devices" and then delete anything that is "greyed out", and anything like the stupid LED driver from Dell.

    ReplyDelete
  3. This saved me a lot of work! I had the same problem but I was unable to access safe mode. It would boot to safe mode but it would not let me into Windows unless I activated it first, and it would not activate in safe mode.
    So I simply disabled the driver in the registry before the P2V and it booted right up.
    Another way to do this is to attach the virtual drive to another guest server, rename the driver file (\windows\system32\drivers\msdisp.sys) and then re-attach the drive to the original server.

    ReplyDelete
  4. Spent hours on this. Finally found this article and fixed it in 5 minutes. Thank you so much for posting this fix.

    ReplyDelete
  5. Boot from Windows disc and press "R"
    C:\windows\system32\drivers\msdisp.sys
    rename msdisp.sys msdisp.org

    ... reboot.

    ReplyDelete
  6. Thanks this solved my problem

    ReplyDelete