When migrating Windows between different hardware or hard drives, Windows may start up with a 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

  1. USB Flash drive (8 GB or larger recommended)
  2. Windows Installer ISO for Windows 10
  3. 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.

  1. Insert an 8GB or larger flash drive into a USB port on the Mac
  2. 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 other location, but do not save directly to the USB Flash Drive.

Windows Install Media

Download the current install media from the Microsoft website. Windows is not going to be installed, but the install media will give access to the command line tools in Windows. Select the version of Windows that is closes 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.

  1. Insert the USB Flash drive into an available USB port on the Mac
  2. Reboot while holding the option key.
  3. 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.

  1. Press fn-shift-f10 (or just shift-f10 depending on your keyboard) to open the Windows command line interface.
  2. 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:
  3. 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 upper right hand corner of all the open windows, and the Mac will shut down. Remove the USB Flash drive, and restart into Windows by holding the option key as you turn on Mac and select your Windows partition.