Monday, May 9, 2022

Installing VirtIO Driver on Windows Recovery Environment (Nutanix AHV)

﷽ 

While migrating an older Windows virtual machine from VMware to Nutanix AHV recently, I hit one of those classic virtualization headaches that always seems to appear at the worst possible moment:

Windows booted directly into recovery mode with no storage drivers available.

The culprit? Missing VirtIO SCSI drivers.

This is an extremely common issue when moving Windows VMs between hypervisors that use different virtual storage controllers. VMware environments often rely on LSI Logic or VMware Paravirtual adapters, while Nutanix AHV typically expects VirtIO-based storage drivers. Without the correct driver loaded, Windows simply cannot see the system disk anymore.

The result is usually one of the following:

  • INACCESSIBLE_BOOT_DEVICE
  • Automatic Repair loops
  • Recovery Environment boot
  • Missing disks during startup
  • Failure to detect the system partition

At first glance, this can look catastrophic — especially if the VM contains production workloads or legacy applications that are difficult to rebuild.

Fortunately, Windows Recovery Environment (WinRE) provides a surprisingly effective way to inject the required drivers offline without reinstalling the operating system.

If the proper driver was never installed before migration, Windows loses access to its own boot volume immediately after startup.

Linux systems usually adapt gracefully because VirtIO support is built directly into most kernels. Windows, however, depends heavily on pre-installed vendor drivers.

Here is the Quick walk through :

Step 1 - Boot into Windows Recovery
Attach media :

    1. Windows installation ISO
    2. VirtIO driver ISO (virtio-win.iso) downloadable from VirtIO  

    Boot the VM and enter :

    Repair your computer
    → Troubleshoot → Advanced options → Command Prompt


Step 2 - Identify Drive Letters
Inside WinRE, drive letters are often reassigned.

    Use:

    diskpart list volume

    Locate:

    1. Windows partition
    2. VirtIO ISO drive

    Exit DiskPart:
    
    exit 

Step 3 - Permanently Inject the Driver to Windows System
Permanent installation avoids repeated failures.

    Use DISM:

    dism /Image:C:\ /Add-Driver /Driver:D:\vioscsi\2k19\amd64\vioscsi.inf

    You should receive:

    The operation completed successfully.
 
    This injects the driver directly into the offline Windows image.

Step 4 - Reboot to system
If everything went correctly, Windows should now boot normally using the VirtIO storage controller.

Barakallahu fiikum.
Wa Jazakumullahu khair.


No comments:

Mengingkari Dunia Dengan Amalan Akhirat

 ﷽ πŸ“— Mengingkari Dunia Dengan Amalan Akhirat  πŸ‘€ Ustadz Abdullah Amir Maretan حفظه Ψ§Ω„Ω„Ω‡ πŸ“… 14 Mei 2026, Ba'da Maghrib  πŸ“Ή Live streamin...