The 0x0000007B error, known as INACCESSABLE_BOOT_DEVICE, occurs when Windows cannot access the boot disk. This may be due to missing drivers or damaged storage media. In this article, we will explore the causes of this error and suggest methods to fix it.
Causes of the 0x0000007B Error
Administrators may encounter this error in the following scenarios:
– Restoring Windows from a backup to another computer or virtual machine (e.g., Hyper-V, VMware, VirtualBox).
– Transferring or cloning the system to a new disk or computer.
– Migrating a physical system using a disk image (e.g., disk2vhd) and deploying it on a new virtual machine.
– Changing the SATA controller mode in BIOS (e.g., from AHCI to IDE/RAID or vice versa).
– Replacing the motherboard or hard disk controller.
– Updating BIOS/UEFI or modifying its settings.
Common Scenarios for the Error
In practice, the 0x0000007B error frequently occurs during the conversion of a physical system to a virtual machine, particularly when using VMware vCenter Converter. After conversion, Windows on the new virtual machine fails to boot, displaying a BSOD with the stop code:
STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000).
This happens because the hard disk controller on the virtual machine differs from the original hardware, causing a failure during Windows startup.
In most hypervisors, disks are connected using a SCSI or SAS controller by default, which is typically disabled in the original Windows image. The driver lsi_sas.sys is installed, but its associated service is disabled. As a result, the operating system cannot load the required driver, leading to a BSOD during startup.
In debug mode, you can see that Windows startup halts while loading the CLASSPNP.SYS driver.
How to Fix the 0x0000007B Error
To resolve the issue, boot from a Windows installation disk or a USB drive (e.g., using MsDaRT) and follow these steps:
1. Boot into Windows Recovery Environment
– From the bootable media (installation disk or USB), open a command prompt by pressing Shift+F10.
– In the command prompt, enter Regedit.exe to open the Registry Editor.
2. Load the Registry Hive
– In the Registry Editor, select HKEY_LOCAL_MACHINE, then go to File > Load Hive.
– Select the \Windows\System32\config\SYSTEM file on your Windows local disk. This is the system registry hive file.
– Name the loaded hive, for example, local_hkey.
3. Modify Registry Values
– Navigate to HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services.
– Locate and modify the values for the following drivers:
– Atapi
– Intelide
– LSI_SAS
– For each driver, find the Start parameter and set its value to 0 (0x00000000), which ensures the service loads at Windows startup.
4. Additional Settings for AHCI
– If the issue occurred after switching the SATA mode to AHCI, locate the msahci section and set the Start parameter to 0.
5. Save Changes and Reboot
– To save changes, return to HKEY_LOCAL_MACHINE\local_hkey and select Unload Hive.
– Reboot the system in normal mode. Windows should now boot correctly.
If the system still fails to boot, it may be using a different disk controller type. In this case, try modifying the Start parameter in the HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services branch according to the following table:
Windows Service | Virtual Machine VMware or Hyper-V | Physical PC with Windows x64 with Native SATA Adapter | Physical PC with RAID Controller |
---|---|---|---|
aliide | 3 | 3 | 3 |
amdide | 3 | 3 | 3 |
atapi | zero | zero | zero |
cmdide | 3 | 3 | 3 |
iastorv | 3 | 3 | 3 |
intelide | zero | 3 | 3 |
msahci | 3 | zero | zero |
pciide | 3 | zero | 3 |
viaide | 3 | 3 | 3 |
LSI_SAS | zero | 3 | 3 |
Manually Installing Drivers
If the error is caused by a missing disk controller driver, you can manually install the required drivers into the offline Windows image:
1. Copy the drivers to a USB drive and boot from it.
2. Use the command:
dism /image:f:\ /add-driver /driver:vioscsi.inf
where f:\ is the drive with the Windows image.
Group Policy Restrictions
If your organization has policies that restrict the installation of third-party drivers, this may prevent the automatic installation of disk controller drivers. Specifically, if the following policies are enabled in Computer Configuration > Administrative Templates > System > Device Installation > Device Installation Restrictions:
– Prevent installation of devices that match any of these device IDs
– Prevent installation of devices using drivers that match these device setup classes
– Prevent installation of removable devices
– Prevent installation of devices not described by other policy settings
To resolve this:
1. Load the system registry hive (\Windows\System32\config\SYSTEM).
2. In the HKEY_LOCAL_MACHINE\local_hkey\System\ControlSet001\Control\PnP section, set the DisableCDDB and DontStartRawDevices parameters to 0.
3. Unload the registry hive and reboot the computer.
Conclusion
These steps should help resolve the 0x0000007B error and restore your Windows system to full functionality.