Monday, 11 February 2013

VMware Workstation – Cannot Assign Available PCI Slot

An interesting little problem when I decided to add additional Network Adapters to a Virtual Machine in VMware Workstation.

The Virtual Machine had no problem starting with the original hardware as below.

Image: Original Hardware

But when I added two more virtual Network Adapters, on powering on the VM, received this error “Cannot assign available PCI slot to …. There are no more PCI slots available in the virtual machine. Please remove some devices ….”

Image: No more PCI slots error

The fix was to edit the VM_NAME.vmx file (check ‘Virtual Machine Settings > Options tab > Working directory’ for location) and add the lines –

pciBridge0.present = "TRUE"
pciBridge0.pciSlotNumber = "16"

Note: If you’re having problems, try typing out the above  sometimes the formatting's out if you copy and paste!

– before the line scsi0.pciSlotNumber = “16”, and then increment all the pre-existing pciSlotNumber entries by 1 (so they are consecutively numbered) like in the image below.

Image: VMX file pciSlotNumber entries

Note: ethernet4 and ethernet5 will auto generate on boot.


  1. today a run in exact the same problem thanks to your post I solved it, thankyou cheers Juergen

  2. The VMX file seems to have less information in
    VMworkstation 9.0.2 build-1031769

  3. Thanks. This has really helped me ... :-)

  4. Excellent! my problem was not exactly mine and had to delete a whole unused device but this was the key. thanks!

  5. This worked for me... Thanks a lot!

  6. Just had the exact same issue for exactly the same reason with the exact same VM :-)
    Thanks for post, saved me time. Cheers!

  7. This works on ESXi 5.1 as well.

  8. Thank you for your post! It fixes my issue with CDOT 8.2.1 Simulator that adds 2 additional NAT NICs for a total of 6 NICs.

    1. Thanks Hien. That's exactly why I needed it to ;-)

  9. Hi,
    I´m using workstation 12 and CDOT 8.2.3 and experimented the same issue, with a notepad just add at the middle of the .vmx file the following lines:

    pciBridge0.present = "TRUE"
    pciBridge4.present = "TRUE"
    pciBridge4.virtualDev = "pcieRootPort"
    pciBridge4.functions = "8"
    pciBridge5.present = "TRUE"
    pciBridge5.virtualDev = "pcieRootPort"
    pciBridge5.functions = "8"
    pciBridge6.present = "TRUE"
    pciBridge6.virtualDev = "pcieRootPort"
    pciBridge6.functions = "8"
    pciBridge7.present = "TRUE"
    pciBridge7.virtualDev = "pcieRootPort"
    pciBridge7.functions = "8"

    Until now it appears to be working well.

    I found the solution in this link: