Assigning unique BIOS UUID to VMs sharing the same BIOS UUID (duplicate UUIDs)
If multiple VMs in the same vCenter have the same BIOS UUID (duplicate UUIDs), then VirtuCache disallows Write-Back caching policy on these VMs and only allows Write-Through caching policy. However duplicate UUIDs are rare and are caused by VMs that were provisioned in non-standard ways.
To fix this problem, and force a unique BIOS UUID to one of the VMs that has the duplicate UUID, you could either full clone the VM (Option 1 below) or recreate the VMs .vmx file (Option 2 below) or manually / programmatically edit the virtual machine’s .vmx file (Option 3 below).
Option 1. Create a clone of the VM.
Here is a link to VMware documentation which explains how to clone a VM.
This might be the easiest way. However for very large VMs, cloning might take a long time, instead, you could recreate the .vmx file as described below.
Option 2. Removing and recreating the .
vmx file for the VM.
- Remove the VM from inventory (Be careful not to select ‘Delete from disk’)
- Login to the ESXi host through SSH and delete the .
vmxfile of the VM by going to the VM folder in the datastore.
- Now we will create a new virtual machine configuration file and point it to the existing virtual disk (.
Note: This process creates a new MAC address for the network card(s) and may cause issues with software that is dependent on the virtual machine’s MAC address. To create a new virtual machine configuration file and point it to the existing .
vmdk file, follow the steps below:
- Login to the vSphere web client as an administrator
- Right-click the affected virtual machine and click ‘Remove from Inventory’
- Right-click an ESXi host
- Click ‘New Virtual Machine’
- Go through the Create New Virtual Machine wizard until you reach the ‘Customize Hardware’
- Click ‘Add New Device’
- Select ‘Existing hard disk’ and browse to the .
- Complete the Create New Virtual Machine wizard
This procedure recreates the configuration file (.
vmx) and other supporting files for the virtual machine. You can now turn on the virtual machine and it will now get a Unique BIOS UUID.
Once the VM is created, you will see a new folder <vmname>_1 in the datastore, if you are using the same datastore and the same VM name.
Note: The above steps are for ESXi 6.7 using the HTML5 vClient GUI. Although there are differences between ESXi versions in how you do this from the vClient GUI, the same logic can be used in older ESXi versions.
Option 3. Manually or programmatically edit the virtual machine .vmx file.
Follow this VMware KB to change the BIOS UUID of a virtual machine.