When a Virtual Machine is first created with 1 hard disk, all the config files and hard disk vmdk is situated on the one datastore. Within the vmx file for this virtual machine the first hard disk vmdk is simply reference by the file only. In our example below we can see scsi0:0 is actually Web01.vmdk

If you create a second hard disk on the same virtual machine and store it within the same datastore, then that hard disk will be reference simply by it’s vmdk file, similar to the above image.
However if you add a second hard disk to the virtual machine and store this drive on a separate datastore, the scsi0:1.filename setting will have to refence the datastore and the file location. It does this by utilizing the datastore’s UUID value. You can see this in the example below:

So far so good. However what happens when you want to move this virtual machine or perhaps bring this virtual machine up in a disaster recovery location, the UUID will not be the same and you will receive an error.
How is the UUID calculated ? Glad you asked, there is an excellent article in the Netapp Communities explaining this:
How do you work around it ?
DR Testing
In the case of DR testing you can simply edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine.
DR
In the case of a real DR, you can edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine. Once the virtual machine is booted, create a new datastore in your vSphere environment and Storage vMotion the second disk to the new Datastore
Moving from 1 vSphere Environment to another
In the case of a moving the virtual machine to a new vSphere environment, you can edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine. Once the virtual machine is booted, create a new datastore in your vSphere environment and Storage vMotion the second disk to the new Datastore
why in DR we need to do the storage vmotion. secondly why do we need to create a new datastore.
Hi Faisal, the example that I show here is for DR, however you might run into the same situation in your primary. If you do you can use the method here to temporarily get your virtual machine up so you can vmotion it off.