VMware Cloud Community
Miral
Contributor
Contributor

MAC error after upgrading from vSphere 5.0 to 5.1

Trying to power on certain VMs (imported from Workstation) after this upgrade gives the following error:

An error was received from the ESX host while powering on VM Example VM.
Failed to start the virtual machine.
Module DevicePowerOn power on failed.
Could not set up "macAddress" for ethernet0.
Invalid MAC address specified.
00:0C:29:nn:nn:nn is not an allowed static Ethernet address. It conflicts with VMware reserved MACs.

(I've replaced the specific address with NNs.)

How do I override this?  It is not possible to change the MAC address of the VM.

Tags (3)
6 Replies
prashanthbgoud
Enthusiast
Enthusiast

yes you can Change the MAC address of the VM, right click on VM go to edit settings. then select the NIC of the VM. on to the right you have MAC address, check the option Manual below that. Give your own MAC address there and give a try!

If you find this information useful, please award points for "correct" or "helpful" Best Regards, Prashanth
0 Kudos
Miral
Contributor
Contributor

The software on the VM will not run correctly without using its current address, and cannot be reconfigured to use a different MAC address.  So I need to be able to convince VMware to boot up this VM with its current address -- no changes allowed.

0 Kudos
prashanthbgoud
Enthusiast
Enthusiast

Copy the original mac address and then try giving the same MAC address manually! also check  if the MAC address on the .vmx file of VM matches with the MAC address you have on VM.

If you find this information useful, please award points for "correct" or "helpful" Best Regards, Prashanth
0 Kudos
Miral
Contributor
Contributor

That's how I got to the error shown above.

But I've managed to get it to work now -- I've set the VM options to have a dynamic MAC and then overridden it in the Windows device properties instead.

0 Kudos
bobby777
Contributor
Contributor

Hi Miral,

Here is a very simple work arround:

1. Remove your VM from inventory. Do not delete it from disk!

2. Connect to your VMware host where your VM is located for example using WinSCP (Make sure you have SSH enabled)

3. Navigate to /vmfs/volumes/your_storage/your_vm_folder

4. Open VM configuration file. I should be something like this: your_vm_name.vmx

5. Make sure you are using: ethernet0.addressType = "generated" - This will put you MAC address into "VMWARE automatic (00:0c:29)" zone.

6. Edit the last 6 char of your uuid.bios = by replacing it with the last 6 chars of your desired MAC address

    For example if you need to to have MAC address 00:0C:29:3D:22:12 and your original uuid.bios is:

    uuid.location = "56 4d 74 53 f4 52 bf 03-02 fb 39 13 6b 2b 6c fc"

by replacing the last 6 chars you must have next:

   uuid.location = "56 4d 74 53 f4 52 bf 03-02 fb 39 13 6b 3d 22 12"

7. At the end make sure ethernet0.generatedAddress  key looks like your desired MAC address

   ethernet0.generatedAddress = "00:0c:29:3d:22:12"

   If you have ethernet0.Address key instead replace it with ethernet0.generatedAddress.

8. On your vSphere Client:

   8.1. Select the host where your VM is located.

   8.2. Select Summary tab.

   8.3. Right click on the date store  where your VM is located and select "Browse Datastore".

   8.4. Navigate to your VM's folder and open it.

   8.5. Right click on your VM's .vmx file and select "Add to inventory"

   8.6. Follow the wizard.

9. Once you have tour VM back - Make sure you have the correct MAC address.

10. Power up your VM.

Important: 1. If you need to replace MAC address for your second NIC just replace same keys but for ethernet1

                  2. Do not use vCenter connection to "Remove from inventory" and to "Add to inventory". You must use vSphere Client and to connect to the host where your VM is located.

Good Luck!

Shivaprabhu
Contributor
Contributor

This solution worked great for me however I am bit confused about the last line. any specific reason for this..!

Do not use vCenter connection to "Remove from inventory" and to "Add to inventory". You must use vSphere Client and to connect to the host where your VM is located

0 Kudos