When you replace computer or server hardware (motherboard, drive controller, etc.), restore a system image from a backup or migrate a physical host into the virtualization environment (P2V), the BSOD with error 0x0000007B can appear at the first time you boot Windows Server 2008 R2 or Windows 7.
STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000).
This stop code corresponds to the INACCESSABLE_BOOT_DEVICE error and is related to the difference of the hard disk controller of a new server (a computer or a virtual machine) from the original equipment. When booting, the driver necessary to boot from the new controller is not loaded. Windows cannot be started due to it.
An administrator may encounter the error 0x0000007B in the following cases:
- When restoring an OS from a backup to another physical computer or a Hyper-V / VMware / VirtualBox virtual machine (the recovery from Bare Metal Recovery to another hardware, as an individual case);
- When migrating a physical system using a computer image (created for example using disk2vhd) and deploying a new virtual machine from this image;
- After switching the SATA controller mode in BIOS from AHCI to IDE or vice versa;
- When replacing a motherboard and/or a hard drive controller.
In my case, the problem appeared when migrating a physical server running Windows Server 2008 R2 into VMWare environment. The blue screen appeared at the first startup of the VM.
In the debug mode you can see that Windows boot stops at the stage of loading the CLASSPNP.SYS driver.
To fix the error 0x0000007B, you need to boot from any Windows installation media (with Windows 7 / 2008 R2 or higher) or a boot disk (for example, DART). If you use the Windows installation disk, press Shift+F10 on the first installation screen (then you selecting a language and keyboard layout). The command prompt window appears, where you must execute the command:
In the Registry Editor window, go to the registry hive HKEY_LOCAL_MACHINE and select File -> Load Hive. On the local server drive (don’t confuse it with the WinPE disk), select the file \Windows\System32\config\SYSTEM. This file stores the system part of the registry your local Windows copy.
Thus, you will mount (for example, under the name local_hkey) the registry hive of your system from the hard drive to the registry editor.
In the loaded hive, go to registry key HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services\
Find these registry keys:
Find REG_DWORD parameters with the name Start in each of these keys and change their values to 0 (0x00000000).
If you had switched your SATA controller mode to AHCI before this error appeared, you should also set Start = 0 in the msahci section.Note. The Start=0 value means that the service will start at Windows startup. Start=3 means that the service will be started manually.
To save the changes in the local registry file on the disk, go to the registry key HKEY_LOCAL_MACHINE\local_hkey and select Unload Hive in the menu.
Now you can restart your server. Windows should boot normally. It will search and install drivers for your new drive controller
In case of VMWare, you will just have to install VMWare Tools.
If after these changes your Windows still returns the same error INACCESSABLE_BOOT_DEVICE when booting, it means you are using some other type of the disk controller. Try to change the value of the Start parameter in HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services according to the table below.
|Windows Service Name||VMWare Virtual Machine||Physical PC Running Windows x64 with Native SATA Adapter||Physical PC with RAID Controller|