What does HRESULT 0x803100AC (FVE_E_NO_TPM_WITH_PASSPHRASE) mean?

 
Previous Next
FVE_E_NO_PASSPHRASE_WITH_TPM FVE_E_NOT_ALLOWED_ON_CSV_STACK

FVE_E_NO_TPM_WITH_PASSPHRASE

What BitLocker has already established

At HRESULT 0x803100AC, BitLocker has determined that the requested TPM protector conflicts with an existing password protector on the volume. The FVE_E_NO_TPM_WITH_PASSPHRASE code does not by itself say that the volume master key is lost or that user data is corrupt.

Operational boundary: key-protector lifecycle.

Note: A BitLocker key protector wraps access to the volume master key. When diagnosing this result, remember: TPM, TPM+PIN, startup key, recovery password, password, certificate and Network Unlock protectors have different volume and policy rules; changing one is not the same as decrypting the volume. Note: Never capture PINs, passwords or recovery passwords in logs. When diagnosing it, remember: IDs, types, policy, call result and attempt counters are sufficient for most diagnosis.

Data to preserve before changing state

  • record protector list, volume type, TPM readiness, policy and the order in which protectors were added. Keep the full HRESULT and the first method that returned it because later cleanup calls can report a different state.
  • capture manage-bde -status and the protector inventory for the exact volume GUID, not only the drive letter, because letters can change in WinRE, clusters and deployment environments.
  • Export BitLocker operational events for the result failure and note the boot session, caller identity and management source; that evidence separates this BitLocker condition from a generic access or storage error.

Related state to rule out

Do not merge this incident with TPM not ready or disabled; here the conflict exists even if the TPM is healthy. If both appear with this result in one trace, preserve ordering because the first HRESULT normally identifies the prerequisite that caused later cleanup or fallback messages.

How to retest without losing evidence

Remove the incompatible password protector only after validating another recovery path, then add the approved TPM combination.

  1. After correcting the result prerequisite, refresh protection, conversion and lock state before one controlled retry; a cached UI message is not proof that the condition is still active.
  2. Before a this result remediation deletes protectors, changes firmware mode, resizes partitions or decrypts a production drive, verify that an independent recovery method is available and escrowed in the intended directory or account.
manage-bde -protectors -get C:\npowershell -NoProfile -Command "Get-BitLockerVolume C: | Format-List KeyProtector,ProtectionStatus,VolumeStatus"

Diagnosis should be driven by the target object, effective policy and captured state snapshot rather than by a generic remediation applied to every BitLocker error.

State checks specific to the result

CheckpointHow to interpret it for it
Before the callRecord the target identity and the pre-call key-protector lifecycle state. The decisive boundary is that the requested TPM protector conflicts with an existing password protector on the volume.
At failurePreserve protector list, volume type, TPM readiness, policy and the order in which protectors were added. This proves whether it came from BitLocker itself or from a wrapper translating another result.
After correctionRemove the incompatible password protector only after validating another recovery path, then add the approved TPM combination. The request should then advance without removing an unrelated recovery route.
After reboot or remountRecheck protection, conversion and lock state for it; a successful management call is incomplete if the next boot cannot unlock the volume.

Verification after the change

Success means more than the absence of a dialog. Confirm that the condition represented by it now matches the intended design, that the protector inventory has not lost an independent recovery route, and that the next reboot or remount can unlock the volume. If the request advances to another HRESULT, record both values in order because that transition reveals the next unmet prerequisite.

Microsoft references

Reference set for it:


Looking for a different code? Search another status or error code.