Update Manager

Recovery Guide: Fixing Corrupt Image Profiles on ESXi

Posted on Updated on


Weโ€™ve all been thereโ€”a patch remediation task in vSphere Update Manager (VUM) or vSphere Lifecycle Manager (vLCM) gets interrupted (shoutout to that one colleague!), and suddenly your ESXi host is in a “zombie” state.

If you see the dreaded “Unknown – no profile defined” error, your host has lost its identity. It no longer knows which VIBs (VMware Installation Bundles) should be installed. This is usually caused by a corrupt imgdb.tgz file.

Weโ€™ve all been thereโ€”a patch remediation task in vSphere Update Manager (VUM) or vSphere Lifecycle Manager (vLCM) gets interrupted (shoutout to that one colleague!), and suddenly your ESXi host is in a “zombie” state.

If you see the dreaded “Unknown – no profile defined” error, your host has lost its identity. It no longer knows which VIBs (VMware Installation Bundles) should be installed. This is usually caused by a corrupt imgdb.tgz file.

image profile issue

The Symptom: Missing Image Profile

When an image profile is empty or corrupt, you cannot install patches, remove drivers, or perform upgrades. ESXi relies on the image database to maintain consistency.

How to Diagnose a Corrupt imgdb.tgz

Before you resort to a full host rebuild, verify the file size of the database. A healthy imgdb.tgz is typically around 26 KB. If yours is only a few bytes, itโ€™s corrupted.

  1. SSH into the host.

  2. Locate the files:

    cd /vmfs/volumes
    find * | grep imgdb.tgz
  3. Note: You will usually see two results (one for each bootbank).

  4. Check the size:

    ls -l <path_to_result>/imgdb.tgz

    If the size is tiny (e.g., 0-100 bytes), the database is toast.


The Fix: Borrowing a “Known Good” Profile

Instead of a time-consuming reinstall, you can manually restore the database from a healthy host running the exact same version and patch level.

Step 1: Export from a Healthy Host

On a working ESXi host, copy the healthy database to a shared datastore:

cp /bootbank/imgdb.tgz /vmfs/volumes//

Step 2: Restore on the Corrupt Host

On the host with the issue, move the good file to /tmp and extract it to access the internal VIB and Profile metadata:

cp /vmfs/volumes//imgdb.tgz /tmp
cd /tmp
tar -xzf imgdb.tgz

Step 3: Rebuild the Database Directories

Now, manually place the healthy metadata into the system directories:

  1. Copy Profiles: cp /tmp/var/db/esximg/profiles/* /var/db/esximg/profiles/

  2. Copy VIBs: cp /tmp/var/db/esximg/vibs/* /var/db/esximg/vibs/

  3. Replace Bootbank File:

    rm /bootbank/imgdb.tgz
    cp /tmp/imgdb.tgz /bootbank/

Step 4: Finalize and Persist

To ensure these changes survive a reboot, run the backup script:

/sbin/auto-backup.sh

Summary Table: Resolution Options

OptionEffortRiskWhen to use
Rebuild HostHighLowIf you don’t have a matching “known good” host.
Manual File CopyLowMediumWhen you need a fast fix and have a twin host available.