Virtual Machine Moved/Copied Identifier and Mac Address behaviour explained

Virtual Machine moved or copiedWhen we copy the Virtual Machines to the laptops in the training rooms VMware Workstation will notice that they are not in their original location. It will then respond with a message such as in the image on the right. The question is if the VM is moved or copied.

The reason for this process is that an absolute clone of a virtual machine would have the same identifier but also the same MAC-address on the network, which could lead to problems. Therefor it is important to make the right choice. When you answer I copied it, it will create a new identifier and generate a new MAC-address (since after copying there are now two or more identical VMs) When you answer I moved it it will keep the identifier and MAC-address, since it is the same VM but in a different location.

To automate answering this question you need to consider what the right answer to the question should be and place one of these lines in the .vmx file of your VM:
uuid.action=“create” To answer I copied it and create a new identifier and MAC-address
uuid.action=“keep” To answer I moved it and keep the identifier and MAC-address
Just add one of these lines to the end of the file. It is best practice to add this line to the .vmx file when it is not in use by VMware Workstation.

The short instruction/rule of thumb:
- If your VM runs a version of Windows and you do not have software or a configuration that uses the MAC-address (you probably have not) then add uuid.action=“create” to the .vmx file.
- If your VMs run a version of Linux then please test how it responds to changing the MAC-address. (Create a snapshot / clone and try) If you are running your VMs in the Host Only network (VMNET1) or NAT network (VMNET8) then you are safe to use uuid.action=“keep” because it is isolated in the host. If it is bridged (VMNET0) you must create a new MAC-address to prevent networking conflicts and you should add uuid.action=“create” to the .vmx file.

The longer version:
- With the Windows OS there are no versions that bind a networking configuration to the MAC-address, therefor with Windows you are safe to always create a new identifier and MAC-address. The only exception would be if you are using software that uses the MAC-address for anything. There for example are programs that use that unique address to bind the licensing to. But this is becoming very rare. So therefor with Windows you can almost always safely add the uuid.action=“create” to the .vmx file. By using this choice your VMs will always be properly configured for both host-only and bridged networking.
- With Linux distributions it’s a different story because there have been many operations systems, including OES and SLES11, that bind the eth0 config to the MAC-address. So when you change that address it would break the networking configuration. Many recent distributions no longer store the configuration this way so when you change the MAC-address no harm is done. When this is the case the best choice is to set the uuid.action=“create” setting in the .vmx file because then it will work in host-only and bridged configurations. If you are not sure then your best bet is to first create a snapshot of the VM and then test copying it and see if creating the new identifier breaks your networking configuration.

In the VMware documentation you can read more about this: (link)