After configuring a Windows Server 2008 R2 server with an iSCSI SAN storage device, the system may hang during boot at a black screen.
This can occur if the system is using network interface cards (NIC) that trigger a PnpRebalance during boot and Quality of Service (QoS) is enabled in the Networking components.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs.
For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756 (http://support.microsoft.com/kb/322756/) How to back up and restore the registry in Windows
Boot the system into Safe Mode.
Click Start, click Run, type regedit in the Open box, and then click OK.
Locate the following subkey in the registry, and then click this subkey:
Highlight Start and select Modify... from the Edit menu.
In the Value data: field, change the 1 to 2 and click OK.
Close Regedit and reboot the system.
With an iSCSI target configured for the system, even though we are not booting from the iSCSI target, it causes the networking components to be initialized earlier in the boot process. In this case, due to the PnpRebalance occurring when the second NIC is initialized, this is triggering a removal of the initial NIC device, which is, at the time, attempting to initialize pacer.sys in the networking stack. Because this is now occurring earlier in the boot process, the paging path flag has not yet been set on the system disk, so the boot volume is allowed to be removed during the PnpRebalance. We then see the hang due to pacer.sys blocking the removal of the device, which in turn blocks the PnpRebalance from completing. While all the components are working as designed, pacer.sys is not boot safe, in that it requires access to the registry during its initialization. By setting the Start value for Psched (pacer.sys) to 2, we prevent it from being initialized during this process, thus preventing the hang.