A Virtual Machine running on ESXi Host would not power on and gets stuck at 88% until it errors with the message “Module ‘DevicePowerOn’ power on failed”:
This is a quick blog to help anyone with a similar PCI Passthrough (Passthru) issue I faced recently, after the ESXi host upgrade from v7 o v7U1.
- The PCI device in my case is a NVIDIA GTX 1080 TI graphic card.
- Hypervisor – ESXi v7 Update 1.
Looking at the VM’s “Event details”, it shows the following error description:
“Module ‘DevicePowerOn’ power on failed. Failed to start the virtual machine. Device x:y.z is already in use”.
Where “x” is the Bus, “y” is the slot, “z” is Function.
The error I received was shown with the device 3:0.0:
This issue is because the PCI device i.e. GPU NVIDIA 1080Ti was assigned to more than one VM. Somehow the ESXi Host v6.7 and v7 were happy with the GPU assigned to multiple VMs and would still power on this VM (if the other VMs are powered off), but after the upgrade to ESXi v7 Update 1 – it decided to play naughty!
To identify the other VM(s) that may be attached/using this device – go to the vCenter console -> ESXi Host -> Configure -> Hardware -> PCI Devices, identify the device matching the bus, slot and function and select it to display “General information”:
As shown in the screenshot above, the PCI device is assigned to three VMs (in my case).
- Remove the PCI device from all VMs.
- Add the PCI device to the VM you want to passthrough.
- Restart the ESXi Host and power on the VM.
I had to perform the third step, as the VM would not power on until the ESXi host was restarted.
If you are seeing the error below, please see my other blog here:
“Failed to register pciPassthru0 for 3:0.0 due to unavailable hardware or software support”.
Hope it helps…