Installing VirtIO (or any driver) from Windows Recovery
Today I was migrating an older Windows VM running under VMware to Proxmox and encountered a frustrating sudden roadblock: no PVSCSI drivers! My newer builds all use VMware PVSCSI, but this VM was an older build still using LSI SAS.
Now staring at the INACCESSIBLE_BOOT_DEVICE
BSOD, your options are abort or
press ahead. In this article, we charge forward and overcome our lack of
preparedness!
Enter Windows Recovery
Reset the VM a few times while at the Windows loading screen and it’ll dump you into the recovery environment. From here you can perform an advanced repair and summon a command prompt. It typically takes 2 failed boots to trigger recovery.
Mount an ISO Containing Drivers
In this example, I’ve neglected to install the VirtIO SCSI driver so I’ll mount the VirtIO ISO for Windows. You can grab it from here
Switch to your disc in the Command Prompt using its drive letter (usually D:
)
Load the SCSI Driver
Find the driver you wish to load. (vioscsi.inf
in my case)
Load the driver by running drvload vioscsi.inf
List Disks
Use diskpart
to list your disks to confirm they’re now visible
Use list volume
to see what drive letter your Windows drive got assigned
My Windows partition was now visible on drive letter E:
Add the Driver to Windows
Use dism
to insert the driver into your Windows install
dism /Image:E:\ /Add-Driver:D:\vioscsi\2k19\amd64\vioscsi.inf
Success!
Reboot into Windows and enjoy your new SCSI driver.