VMware
VMware ESX Server 1.5
Features | Documentation | Knowledge Base | Discussion Forums

previous Prev   Contents   Last   Next next

Modifying the SMBIOS UUID

Modifying the SMBIOS UUID

Each ESX Server virtual machine is automatically assigned a universally unique identifier (UUID), which is stored in the SMBIOS system information descriptor. It can be accessed by standard SMBIOS scanning software - for example SiSoftware Sandra or the IBM utility smbios2 - and used for systems management in the same ways you use the UUID of a physical computer.

The UUID is a 128-bit integer. The 16 bytes of this value are separated by spaces except for a dash between the eighth and ninth hexadecimal pairs. So a sample UUID might look like this:

00 11 22 33 44 55 66 77-88 99 aa bb cc dd ee ff

Generating the UUID Automatically

Generating the UUID Automatically

The automatically generated UUID is based on the physical computer's identifier and the path to the virtual machine's configuration file. This UUID is generated when you power on or reset the virtual machine. The UUID that is generated remains the same so long as the virtual machine is not moved or copied.

The automatically generated UUID is also written to the virtual machine's configuration file as the value of uuid.location.

If you move or copy the virtual machine, a new UUID is generated when the virtual machine is powered on - based on the physical computer's identifier and path to the virtual machine's configuration file in its new location.

If you suspend and resume a virtual machine, this does not trigger the process that generates a UUID. Thus, the UUID in use at the time the virtual machine was suspended remains in use when the virtual machine is resumed, even if it has been copied or moved. However, the next time the virtual machine is rebooted, the UUID is generated again. If the virtual machine has been copied or moved, the UUID is changed.

In some circumstances - for example, if you are moving the virtual machine but want to keep the same UUID - you may want to assign a specific UUID to the virtual machine. In that case, you need to override the automatically generated UUID value. To do so, edit the virtual machine's configuration file as described in this section to set the value of the parameter uuid.bios.

Comparing the Generated UUID to Configuration File Parameters

Comparing the Generated UUID to Configuration File Parameters

When a virtual machine is powered on, ESX Server generates a UUID as described above and compares it to the values for uuid.location and (if it exists) uuid.bios in the configuration file.

If the automatically generated UUID matches the value of uuid.location, ESX Server checks for uuid.bios. If uuid.bios exists, its value is used as the virtual machine's UUID. If uuid.bios does not exist, the automatically generated value is used.

If the automatically generated UUID does not match the value of uuid.location, the newly generated value is used as the virtual machine's UUID and is saved to the configuration file, replacing the previous value of uuid.location and (if it exists) uuid.bios.

Note: Any changes to the UUID take effect only after the virtual machine is rebooted.

Setting the UUID for a Virtual Machine that Is Not Being Moved

Setting the UUID for a Virtual Machine that Is Not Being Moved

To assign a specific UUID to a virtual machine that is not being moved, add one line to the configuration file. You may use the configuration file editor in the VMware Management Interface (point to the terminal icon for the virtual machine, then click Edit Configuration > Use Text Editor) or log in to the console operating system and use a text editor there. The format for the line is:

uuid.bios = <uuidvalue>

The UUID value must be surrounded by quotation marks. A sample configuration line might look like this:

uuid.bios = "00 11 22 33 44 55 66 77-88 99 aa bb cc dd ee ff"

After adding this line to the configuration file, restart the virtual machine. The new UUID is used when the virtual machine restarts.

Setting the UUID for a Virtual Machine that Is Being Moved

Setting the UUID for a Virtual Machine that Is Being Moved

If you plan to move a virtual machine and want it to have the same UUID it did before the move, you must note the UUID being used before the move and add that UUID to the configuration file after the move. Follow these steps:

  1. Before moving the virtual machine, examine its configuration file. You may use the configuration file editor in the VMware Management Interface (point to the terminal icon for the virtual machine, then click Edit Configuration > Use Text Editor) or log in to the console operating system and use a text editor there.

    If the virtual machine's UUID has been set to a specific value, the configuration file has a line that begins with uuid.bios. Note the 128-bit hexadecimal value that follows. This is the value you should use in the new location.

    If there is no line beginning with uuid.bios, look for the line that begins with uuid.location and note the 128-bit hexadecimal value that follows it.

  2. Move the virtual machine's disk (.dsk) file to the new location.
  3. Use the VMware Management Interface to create a new virtual machine configuration and set it to use the virtual disk file you moved in the previous step.
  4. Start the virtual machine, then shut it down.
  5. Edit the virtual machine's configuration file to add a uuid.bios line, as described in Setting the UUID for a Virtual Machine that Is Not Being Moved. Set the value of uuid.bios to the value you recorded in step 1.
  6. Start the virtual machine. It should now have the same UUID as it did before the move.

previous Prev   Contents   Last   Next next