Changing the MAC Address on a VM to a Non VMware MAC Address

I recently had to P2V a server where the application that was running on it was bound to the MAC address of the physical server NIC. This was not going to work with the VMware assigned MAC address 00:50:56:ae:46:27. I had to set the NIC on the VM to the same as it was on the physical server. Since I am still in the dark ages and working with VIM 3.5 this was not going to work. After finding a couple of old posts online http://jasonnash.com/2008/08/30/disabling-mac-address-checking-in-vmware/

I was able to get the VM to use the MAC address from the physical server and have the VM power up. Without the error

Here is what I did

First I found that changing the MAC in the vSphere Client would not work. I was working in ESX 3.5 and it does not allow you to change the MAC to anything but VMware generated. This is not the case in vSphere 5 where you are able to change the MAC within the vSphere Client.

So I opened up the .vmx file and made a couple of changes.

I changed:

ethernet0.addressType = “vmx”

ethernet0.generatedAddress = “xx:xx:xx:xx:xx”

To:

ethernet0.addressType = “static”

ethernet0. Address = “xx:xx:xx:xx:xx”

Then I added:

ethernet0.checkMACAddress = “FALSE”

After making these changes and saving the .vmx file back to the host, the VM powered on successfully with the correct MAC address.

Another thing that I noticed was that after these changes were made I was no longer able to make any edits to the NIC via the client. It would give the “MAC address is not valid” error. This was ok with me, I will just make any future changes to the NIC such as port group changes via the .vmx file.