In situations where Windows installer or the Windows Recovery Environment (WinRE) fails to detect the computer’s local disks, it may be necessary to load additional disk controller drivers. This often occurs with systems that utilize NVMe SSD controllers. For instance, after migrating a virtual machine from VMware ESXi to Proxmox, the guest Windows OS may lack the VirtIO drivers needed for access to the virtual hard disk controller, resulting in the 0x0000007B (INACCESSIBLE_BOOT_DEVICE) error
.
This guide will cover how to load disk controller drivers in WinPE or WinRE. Once the local hard disk appears, users can add the required controller drivers to the offline Windows image.
Prior to migrating a physical or virtual machine (P2V or V2V), it is crucial to inject the necessary drivers for the new virtual hardware into the Windows image. This can be done by installing the VirtIO drivers in the guest Windows prior to starting the migration.
Steps to Load Drivers:
-
Download Necessary Drivers: Acquire the ISO image of VirtIO drivers for Windows. For physical computers, mount the ISO on another machine to copy the driver folders to a USB flash drive.
-
Boot into WinRE or WinPE: Use a recovery disk or Windows installation media to access the recovery environment. Open a command prompt and verify that local drives are not visible by executing the command:
diskpartlist disk
-
Mount Driver Media: Insert the USB or mount the ISO containing the driver files.
-
Check Drive Letters: Identify the drive letter assigned to the connected media using:
wmic logicaldisk get caption, volumename
-
Load Driver Using
drvload
: Use thedrvload.exe
command to load the required driver. For example:drvload d:vioscsi2k25amd64vioscsi.inf
If an error occurs while loading the driver, ensure that the correct files (.INF, .CAT, .SYS) are present in the directory.
-
Verify Loaded Drivers: Confirm that the driver is loaded into memory with:
pnputil /enum-drivers
-
Check Local Disks: Use
diskpart
again to ensure that the local disks are now recognizable. -
Integrate Drivers into Offline Windows Image: You can add individual drivers or recursively add all drivers from the specified folder, using:
DISM /Image:C: /Add-Driver /driver:D:vioscsi2k25amd64vioscsi.inf
or
DISM /Image:C: /Add-Driver /driver:D: /recurse
-
Reboot from WinPE: Finally, reboot the computer from the WinPE environment with:
wpeutil reboot
After following these steps, the guest Windows should successfully boot, and the Red Hat VirtIO SCSI disk device should be visible in the Device Manager.