Resolving INACCESSIBLE_BOOT_DEVICE Error after restoring Winclone image
When migrating Windows between different hardware or hard drives, Windows may start up with an INACCESSIBLE_BOOT_DEVICE error. This error is caused by the lack of the correct mass storage device driver. To resolve this issue, the correct mass storage device driver can be injected into Windows. This document outlines what is needed to inject the correct mass storage driver into Windows.
What is needed
- USB Flash drive (8 GB or larger recommended)
- Windows Installer ISO for Windows 10
- Boot Camp drivers
Overview
In order to resolve the INACCESSIBLE_BOOT_DEVICE issue and successfully boot Windows, a recovery USB flash drive must be created. Once created, the Mac will boot into the installer and a command line interface will be used to inject the correct drivers into Windows.
Preparation
All the preparation is done in macOS on the Mac that is having an issue booting Windows. It is important to use this Mac, since it will be used to identify the correct Windows drivers.
USB Flash Drive
The USB Flash drive must be formatted as exFAT.
- Insert an 8GB or larger flash drive into a USB port on the Mac
- In Disk Utility, format the Flash drive as exFAT. Quit Disk Utility after this operation completes.
Boot Camp Driver
Open Boot Camp Assistant in the Utilities folder, and download the current Windows Support Software from the Action menu. Save the Windows Support Software to your desktop or another location of your choice, but do not save directly to the USB Flash Drive.
Windows Install Media
Download the current install media from the Microsoft website. Windows will not be installed, but the install media will give access to the command line tools in Windows. Select the version of Windows that is closest to the version of Windows installed on the Mac (Windows 8, Windows 10). It does not matter what edition of Windows is used, since Windows is not going to be installed.
Create Recovery USB Flash Drive
Follow the Create a Windows 10 Bootable USB Flash Drive on a Mac page to create a Windows 10 USB Flash drive.
Boot from the USB Flash drive
To inject the drivers, the Mac must be booted from the USB Flash drive.
- Insert the USB Flash drive into an available USB port on the Mac
- Reboot while holding the Option key
- Select EFI volume in the startup selector
Inject drivers
Once booted from the USB Flash drive, the correct Windows drivers can be injected into the version of Windows that is experiencing the INACCESSIBLE_BOOT_DEVICE error.
- Press fn-shift-f10 (or just shift-f10 depending on your keyboard) to open the Windows command line interface.
- Typically, the USB Flash drive is assigned C: and the internal drive is assigned D: when booted from the USB Flash Drive. Verify drive lettering by entering in these commands and verifying correct driver letter assignment. If the drive letters are different, adjust the dism command below to use the correct lettering. On C: you should see a $WinPEDriver$ folder (and other items) and on D: you should see a Windows folder and Users folder (and other items).
dir c:
dir d: - Inject Windows drivers by running the following command (note that there is a space before every forward (“/”) slash.
dism /Image:D:\ /Add-Driver /driver:c:\$WinPEDriver$ /recurse
You should see output similar to this:
Deployment Image Servicing and Management tool Version: 10.0.17134.1 Image Version: 10.0.16299.125 Searching for driver packages to install... There was a problem opening the INF file. d:$WinPEDriver$\IntelHDGraphics64\autorun.inf Error: 0xE0000100. Found 16 driver package(s) to install. Installing 1 of 16 - c:$WinPEDriver$\AppleBluetoothBroadcom64\AppleBTBC.inf: The driver package was successfully installed. Installing 2 of 16 - c:$WinPEDriver$\AppleSPIDevice\AppleSPIDevice.inf: The driver package was successfully installed. Installing 3 of 16 - c:$WinPEDriver$\AppleSPIKeyboard\AppleSPIKeyboard.inf: The driver package was successfully installed. Installing 4 of 16 - c:$WinPEDriver$\AppleSPITrackpad\AppleSPITrackpad.inf: The driver package was successfully installed. Installing 5 of 16 - c:$WinPEDriver$\AppleSSD64\AppleSSD.inf: The driver package was successfully installed. Installing 6 of 16 - c:$WinPEDriver$\IntelHDGraphics64\DisplayAudio\6.16\IntcDAud.inf: The driver package was successfully installed. Installing 7 of 16 - c:$WinPEDriver$\IntelHDGraphics64\DisplayAudio\8.20\IntcDAud.inf: The driver package was successfully installed. Installing 8 of 16 - c:$WinPEDriver$\IntelHDGraphics64\Graphics\igdlh64.inf: The driver package was successfully installed. Installing 9 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS_GPIO.inf: The driver package was successfully installed. Installing 10 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS_I2C.inf: The driver package was successfully installed. Installing 11 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS_SPI.inf: The driver package was successfully installed. Installing 12 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS_UART2.inf: The driver package was successfully installed. Installing 13 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS2_GPIO2_SKL.inf: The driver package was successfully installed. Installing 14 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS2_I2C_SKL.inf: The driver package was successfully installed. Installing 15 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS2_SPI_SKL.inf: The driver package was successfully installed. Installing 16 of 16 - c:$WinPEDriver$\SerialIO\iaLPSS2_UART2_SKL.inf: The driver package was successfully installed. The operation completed successfully.
Once completed, close all the windows by clicking X in the top right corner of all the open windows; the Mac will shut down. Remove the USB Flash drive. Then, restart into Windows by holding the Option key as you turn on Mac and select your Windows partition.