Cannot start Hyper-V virtual machines on Windows Server 2008 R2 after Reboot

We have found a really annoying and recurring problem on some of our Windows 2008 R2 servers.

 

 

  • The Hyper-V virtual machines will not start after a reboot.

  • You cannot create or mount virtual drives in Disk Management.

 

 

The problem seems to randomly appear after a reboot. The problem also appears to be related to either Adaptec SCSI cards or Backup Exec.

 

 

Uninstalling and re-installing the Hyper-V role does not typically fix the problem. Some administrators have resorted to rebuilding the entire server OS to fix the problem.

 

 

My original repair was resolved by removing Backup Exec 12.5 and installing Backup Exec 2010 beta. The problem however recurred after a month. With a bit more time and research and other people with the same problem I came across this resolution that appears to be a defect in Server 2008 R2. It is still not clear why setting the service to start will fix this, I would have expected this to be a boot start device to begin with. I have confirmed on a default install that this in indeed set to a start value of 3.

 

 

Resolution

 

 

We’ve become aware of an issue with FSDepends.sys and certain backup software packages.

 

 

This issue is currently under investigation.

 

 

In situations such as these being reported here, FSDepends.sys is probably set to Manual in the Registry. To workaround the problems, this driver should be set to Boot by following the directions below.

 

Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows

 

 

To work around the issue, do the following:

 

1) Start Regedit.exe.
2) Navigate to the following reg key: “HKLM\SYSTEM\CurrentControlSet\Services\FsDepends”
3) Under the “FsDepends” key change REG_DWORD value “Start” from “3” to “0”
4) Reboot the machine.

 

 

Additional Background on FSDepends.sys

 

 

As you can see FSDepends.sys is a component of the VHD system which both Hyper-V and mounting Virtual disks is dependent on.

 

 

http://msdn.microsoft.com/en-us/library/dd323654(VS.85).aspx

 

 

http://msdn.microsoft.com/en-us/library/aa381442(VS.85).aspx

Virtual Hard Disk System Components Hyper-V will not start

The following is a summary explanation of the previously described components.

 

 

User Mode Native Win32 APIs:
 

  • VirtDisk.dll – Common library for VHD management APIs.
User Mode Domain-specific Management Wrappers:
  • VDS VHD APIs – VDS Object Model wrappers for the VHD Win32 APIs.
Kernel Mode Components:
  • Vdrvroot.sys – Root virtual drive enumerator.
  • FsDepends.sys – Nested volume dependency management.
  • Vhdmp.sys – VHD parser and dependency property provider.