VMware

VMware ESX Server 2.0

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 by completing one of the following:

  • In the management interface, click the arrow to the right of the terminal icon for that virtual machine and select Configure Options in the virtual machine menu (see Using the Virtual Machine Menu), then click the link under Verbose Options. Create an option called uuid.bios and set the value as described below.
  • Log in to the service console and, using a text editor there, open the virtual machine's configuration file (.vmx). Add the following line:
    uuid.bios = <uuidvalue>

The UUID value (<uuidvalue>) must be surrounded by quotation marks. A sample configuration option 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 option 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. Complete one of the following:
    • In the management interface, click the arrow to the right of the terminal icon for that virtual machine and select Configure Options in the virtual machine menu (see Using the Virtual Machine Menu), then click the link under Verbose Options.
    • Log in to the service console and, using a text editor there, open the virtual machine's configuration file (.vmx).

      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 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. 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. Also, remove the uuid.location line in the virtual machine's configuration file.
  5. Start the virtual machine. It should now have the same UUID as it did before the move.
Enabling the Physical Hardware's OEM ID to Be Seen by the Virtual Machine

Enabling the Physical Hardware's OEM ID to Be Seen by the Virtual Machine

Each virtual machine is automatically assigned an Original Equipment Manufacturer ID (OEMID), comprising the Manufacturer and Product Name, 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 way you use the OEMID of a physical computer.

By default, the Manufacturer string is "VMware, Inc." and the Product Name string is "VMware Virtual Platform".

If the virtual machine's configuration file has the option

SMBIOS.reflectHost = TRUE

then the Manufacturer and Product Name strings in the virtual machine are the same as the Manufacturer and Product Name of the host system.

These strings are updated (copied from the host BIOS to the virtual machine BIOS) on every virtual machine BIOS POST (Power On Self Test).

previous Prev   Contents   Last   Next next