vCenter Server/Host Client: The source host inventory shows VMs as "(invalid)".
Running vm-support -V on the source host may still list the VMs as registered, while the destination host confirms the same VMs are powered on and functional.
journalctl.log and hostd.log indicate a failure to access the boot media and the subsequent failure to load the VM configuration file (.vmx) because it is locked by the destination host.
/usr/bin/journalctl -b -0 | less
YYYY-MM-DD-TT vcenter vpxd[6062]: [vim.event.GeneralHostWarningEvent] [warning] Issue detected on ESXi_Source: Bootbank cannot be found at path '/bootbank'
/var/run/log/hostd.log
YYYY-MM-DD-TT In(166) Hostd[2100403]: [Originator@6876 sub=Vmsvc.vm:"/vmfs/volumes/.../vm_name.vmx"] Failed to load virtual machine: N3Vim5Fault12FileNotFound9ExceptionE(Fault cause: vim.fault.FileNotFound
YYYY-MM-DD-TT 798Z In(166) Hostd[2100403]: [Originator@6876 sub=Vmsvc.vm:"/vmfs/volumes/.../vm_name.vmx"] Failed to load VM
YYYY-MM-DD-TT In(166) Hostd[2100403]: [Originator@6876 sub=Vmsvc.vm:"/vmfs/volumes/.../vm_name.vmx"] Failed to load virtual machine: N3Vim5Fault12FileNotFound9ExceptionE(Fault cause: vim.fault.FileNotFound
YYYY-MM-DD-TT 798Z In(166) Hostd[2100403]: [Originator@6876 sub=Vmsvc.vm:"/vmfs/volumes/.../vm_name.vmx"] Failed to load VMN3Vim5Fault12FileNotFound9ExceptionE(Fault cause: vim.fault.FileNotFound
YYYY-MM-DD-TT In() Hostd[XXXX]: VigorOffline_Init: Failed to initialize VIGOR offline: Cannot open file "/vmfs/volumes/.../vm_name.vmx": Device or resource busy. YYY-MM-DDT In(166) Hostd[XXXXX]: State Transition (VM_STATE_INITIALIZING -> VM_STATE_INVALID_LOAD)
VMware vSphere ESXI 8.x
The issue is caused by a permanent failure of the ESXi boot media (e.g., SD card or USB). Because the /bootbank partition becomes unreachable, the host cannot persist changes to the vmInventory.xml file.
When the VMs are migrated away, the source host attempts to update its local inventory, but the failure of the boot device prevents this change from being saved. Upon a host reboot, the ESXi host loads a stale version of the inventory file. It attempts to register VMs that it no longer owns; since the destination host holds the file lock on the .vmx files, the source host marks them as Invalid.
Step 1: Reach out to Hardware vendor to review the host boot media health status (e.g., SD card or USB).
Step 2: Confirm VM Status: Log into vCenter and verify that the VMs are "Powered On" and healthy on the destination host.
Step 3: To Unregisters stale entry of VMs :