Hot Migration Fails with “Virtual TPM Initialization Failed” Error Due to Non-Standard NVRAM Filename
search cancel

Hot Migration Fails with “Virtual TPM Initialization Failed” Error Due to Non-Standard NVRAM Filename

book

Article ID: 423395

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Hot migration (vMotion) of virtual machines may fail with a “Virtual TPM initialization failed error reported in vCenter events.

/vmfs/volumes/Datastore/VMname/vmware.log

xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - OBJLIB-FILEBE : FileBEQueue: could not queue the operation on 'nvram' : Bad file descriptor (589826)
xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - OBJLIB-encObjBE :EncObjBEQueue: Failed to write object : Bad file descriptor (589828)
xxxx-xx-xxTxx:xx:xx.xxxZ In(05)+ vcpu-4 - .
xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - NVRAMMGR: Could not write to nvram file nvram: Bad file descriptor
xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - Msg_Post: Error
xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - [msg.literal] Bad file descriptor
xxxx-xx-xxTxx:xx:xx.xxxZ In(05) vcpu-4 - [msg.nvram.write] NVRAM: write failed.

The issue occurs due to a non-standard NVRAM filename configured in the virtual machine’s .vmx file, which causes vMotion to fail safely while the VM continues running on the source host.

Environment

VMware vSphere 8.x

Cause

The failure is caused by a non-standard NVRAM filename configured in the VM’s .vmx file.

Affected VMs have the following entry: 

nvram = "nvram"

Expected standard format:

nvram = "<vmname>.nvram"

Resolution

Workaround (Manual Fix)

To resolve the issue on affected VMs:

  1. Take a snapshot of the VM

  2. Power off the VM

  3. Edit the VM’s .vmx file

  4. Update the NVRAM entry:  nvram = "<vmname>.nvram"

  5. Power on the VM

  6. Confirm the NVRAM entry is updated

  7. Retry hot migration (vMotion)

Note: This workaround can be applied with VM powered on by making changes in VM Options

Long-Term Fix (Engineering Enhancement)

Broadcom Engineering is implementing an enhancement targeted for future release.

Enhancement behavior:

  • Automatically realigns the NVRAM filename during hot vMotion

  • Ensures correct NVRAM file mapping on the destination datastore

  • Occurs inline during migration

  • No manual intervention required

  • Fully transparent to the user

 

Additional Information

  • Cold migration does not modify VM configuration files and therefore does not introduce this issue.

  • There is no automated pre-check or API to validate NVRAM filename correctness.

  • If a VM is running, its NVRAM is already considered valid.

  • The “Virtual TPM initialization failed” event in this scenario is misleading and does not indicate an actual vTPM failure.