}

Fix VMware Error: Module DevicePowerOn Power On Failed [5 Solutions]

Fix VMware Error: Module DevicePowerOn Power On Failed

The "Module 'DevicePowerOn' power on failed" error in VMware ESXi or vSphere is a frustrating issue that prevents your virtual machine from starting. This error typically occurs with PCI passthrough devices, GPUs, or after migrating VMs between hosts. This guide provides five solutions to fix this error.

The Error Message

When trying to power on a virtual machine, you see one or more of these messages:

Failed - Module 'DevicePowerOn' power on failed.
Module 'DevicePowerOn' power on failed.
The systemId does not match the current system or the deviceId, and the vendorId does not match the device currently at 1:0.0.
Failed to start the virtual machine.

Note: The device ID (like 1:0.0) may vary depending on your configuration. Take note of this ID for the solutions below.

Why This Error Occurs

Common Causes

  1. PCI Passthrough Device Mismatch - The VM was configured for a device on a different host
  2. GPU/Hardware Change - Physical device was replaced or moved to different slot
  3. VM Migration - VM was moved to a host without the same passthrough device
  4. ESXi Host Update - System IDs changed after an update
  5. Corrupted VMX File - Configuration file has stale device references
  6. Insufficient Resources - Not enough memory for GPU passthrough
  7. Permission Issues - Host-level passthrough not properly configured

Solution 1: Remove and Re-add Passthrough Device (Recommended)

The cleanest solution is to remove the problematic passthrough device and add it fresh.

Step 1: Shut Down the VM

Ensure the VM is completely powered off (not suspended).

Step 2: Edit VM Settings

  1. Right-click the VM → Edit Settings
  2. Find the PCI device showing the error
  3. Click Remove on the device
  4. Click OK to save

Step 3: Re-add the Passthrough Device

  1. Right-click the VM → Edit Settings
  2. Click Add New DevicePCI Device
  3. Select the correct passthrough device from the list
  4. Click OK

Step 4: Power On

Try starting the VM. The device references will be fresh and match the current host.

Solution 2: Edit the VMX File Manually

If solution 1 doesn't work or you can't access vSphere, manually edit the VMX file.

Step 1: Download the VMX File

  1. Browse to the VM's datastore
  2. Download the .vmx file (e.g., myvm.vmx)
  3. Create a backup of the file before editing

Step 2: Identify Problem Lines

Open the VMX file in a text editor and search for the device ID from the error (e.g., 01:00.0):

pciPassthru0.id = "01:00.0"
pciPassthru0.deviceId = "1234"
pciPassthru0.vendorId = "5678"
pciPassthru0.systemId = "abcd1234-5678-90ef-ghij-klmnopqrstuv"

Step 3: Remove the Passthrough Configuration

Delete ALL lines containing the problematic device ID. This includes:

# Remove all of these (your IDs will differ):
pciPassthru0.id = "01:00.0"
pciPassthru0.deviceId = "..."
pciPassthru0.vendorId = "..."
pciPassthru0.systemId = "..."
pciPassthru0.present = "TRUE"
pciPassthru0.virtualizationMode = "..."

Step 4: Upload and Register

  1. Upload the modified .vmx file to the datastore (overwrite original)
  2. If the VM shows as invalid, unregister and re-register it
  3. Add the passthrough device through vSphere client
  4. Power on the VM

Solution 3: Fix Memory Reservation for GPU Passthrough

GPU passthrough requires memory reservation. Without it, you'll get DevicePowerOn errors.

Step 1: Edit VM Settings

  1. Right-click VM → Edit Settings
  2. Expand Memory
  3. Check Reserve all guest memory (All locked)

Step 2: Verify Memory Settings

Ensure the VM has enough memory for the GPU. NVIDIA GPUs typically need: - Minimum: Amount specified in GPU requirements - Plus overhead for the hypervisor

Step 3: Check Host Memory

Ensure the ESXi host has enough free memory:

# SSH to ESXi host
esxcli hardware memory get

Solution 4: Verify and Reconfigure PCI Passthrough on Host

The device might not be properly configured for passthrough on the host level.

Step 1: Check Passthrough Status

In vSphere: 1. Go to HostConfigureHardwarePCI Devices 2. Find your device 3. Check if it shows as available for passthrough

Via SSH:

# List all PCI devices
lspci -v

# Check passthrough status
esxcli hardware pci pcipassthru list

Step 2: Enable Passthrough

  1. Select the device in vSphere
  2. Click Toggle passthrough
  3. Reboot the ESXi host (required for changes to take effect)

Step 3: Verify After Reboot

After reboot, confirm the device shows as "Active" in passthrough mode.

Solution 5: Reset VM Configuration (Nuclear Option)

If nothing else works, create a fresh VM and attach the old disks.

Step 1: Note Current VM Settings

Document: - CPU count and cores - Memory amount - Network adapters - SCSI controllers - Any other custom settings

Step 2: Remove Old VM from Inventory

  1. Right-click VM → Remove from Inventory (don't delete from disk)
  2. This keeps the VMDK files intact

Step 3: Create New VM

  1. Create a new VM with the same specs
  2. When prompted for disk, select Use an existing virtual disk
  3. Browse to the original VMDK file

Step 4: Add Passthrough Device

Add the PCI passthrough device to the fresh VM configuration.

Troubleshooting Tips

Check VMware Logs

# On ESXi host, check VM logs
cat /vmfs/volumes/[datastore]/[vmname]/vmware.log | grep -i error

Verify Device Compatibility

Not all devices support passthrough. Check: - VT-d (Intel) or AMD-Vi enabled in BIOS - Device isn't used by ESXi itself - Device supports IOMMU groups properly

Common Issues with Specific Hardware

NVIDIA GPUs

  • Need "hypervisor.cpuid.v0 = FALSE" in VMX for consumer cards
  • Require memory reservation
  • May need specific vBIOS
# Add to VMX for NVIDIA consumer GPU
hypervisor.cpuid.v0 = "FALSE"

USB Controllers

  • Some USB controllers don't passthrough cleanly
  • Try a different USB PCI card

Network Cards

  • Ensure SR-IOV is properly configured if using virtual functions

Prevention Tips

  1. Use VM templates with correct passthrough configuration for each host
  2. Don't vMotion VMs with passthrough devices (not supported)
  3. Document device IDs for each host in your environment
  4. Test passthrough after any ESXi updates

Related Troubleshooting Guides

If you're working with other virtualization or database issues, these guides may help:

Conclusion

The "Module DevicePowerOn power on failed" error is almost always related to PCI passthrough device configuration mismatches. The most reliable fix is to remove the passthrough device configuration and add it fresh. If you're migrating VMs between hosts, remember that passthrough devices are host-specific and must be reconfigured on each host. Always ensure memory reservation is enabled for GPU passthrough scenarios.