0X80280046

TPM_E_NOT_FULLWRITE (0X80280046): Fix for Incomplete TPM Write

This error hits when you try to write data to a TPM area but don't send the full block. It usually happens with BitLocker or TPM provisioning tools on Windows 10/11.

You're trying to enable BitLocker, run a TPM provisioning script, or maybe use a tool like tpm.msc to manage your Trusted Platform Module. Then you get the error 0X80280046 – TPM_E_NOT_FULLWRITE. The exact message says “The write is not a complete write of the area.” I know this error is infuriating because it’s cryptic and doesn't tell you what you did wrong.

Here’s the typical trigger: You’re on Windows 10 version 21H2 or later, or Windows 11, and you’ve just updated your firmware or BIOS. Or maybe you’re running a custom TPM command from PowerShell (like Set-TpmOwnerAuth) and the data you're trying to send doesn't match the exact block size the TPM expects. The TPM 2.0 spec requires writes to be exactly aligned to the area’s size – no partials allowed.

Why This Happens

Your TPM has storage areas called NV (Non-Volatile) indices. Each index has a fixed size, defined when it's created. When you write data to that index, you must write the entire size in one shot. If your application or script sends fewer bytes than the area expects, the TPM rejects the write with this error.

Another common cause: The TPM’s firmware is out of date. Older TPM firmware versions (especially on Intel PTT or AMD fTPM) have quirks where they misreport the area size, so a correct write from your side still fails. I’ve seen this on Dell Latitude 5430 and HP EliteBook 840 G9 models after a BIOS update that silently changed TPM behavior.

Step-by-Step Fix

  1. Check your TPM status
    Open tpm.msc (press Win+R, type tpm.msc, hit Enter). Look at the status. If it says “The TPM is ready for use,” you’re in good shape. If it shows an error or says “Compatible TPM cannot be found,” you’ve got deeper issues, but that’s not our problem here.
  2. Update TPM firmware
    If your TPM is from Intel (PTT) or AMD (fTPM), the firmware is part of the system BIOS. Go to your PC manufacturer’s support site, grab the latest BIOS update, and flash it. On a Dell, use Dell Command Update. On a Lenovo, use Lenovo Vantage. This alone fixed 0X80280046 for me on a ThinkPad X1 Carbon Gen 10.
  3. Clear the TPM (if safe)
    Warning: This wipes BitLocker keys and certificates. Back up your recovery key first. Then in tpm.msc, click “Clear TPM.” Reboot. Windows will reinitialize the TPM. This resets all NV indices to their default sizes, which eliminates any mismatched area sizes from previous operations.
  4. Use the exact write command
    If you’re writing from PowerShell, you must match the area size. Use Get-TpmEndorsementKeyInfo to check the key size, or query the NV index directly with Get-TpmNvStorage. Here’s an example for writing a 32-byte digest:
    $data = 0x01, 0x02, ..., 0x20  # exactly 32 bytes
    Set-TpmNvStorage -Index 0x01C00001 -Data $data -Size 32
    If the index expects 64 bytes, pad your data with zeros to hit that size.
  5. Update Windows and TPM drivers
    Go to Settings > Windows Update > Check for updates. Install any optional driver updates listed under “Driver updates.” Specifically look for “Trusted Platform Module 2.0” driver updates. Without the right driver, the communication layer between Windows and TPM can mangle the write size.
  6. Run the TPM troubleshooter
    Search for “Find and fix problems with TPM” in Settings > Update & Security > Troubleshoot. It’s basic, but I’ve seen it reset a stuck TPM state on my personal Surface Laptop 4.

What to Check If It Still Fails

If the error persists, your TPM hardware might be defective. Run a hardware diagnostic from your BIOS (F2 on Dell, F10 on HP). Also check the Windows Event Viewer under Applications and Services Logs > Microsoft > Windows > TPM-WMI for detailed error logs. I’ve seen a failing TPM on a 2022 Lenovo Yoga cause this error after a drop that damaged the chip.

One last thing: Some third-party security software (McAfee, Symantec) intercepts TPM commands. Try disabling them temporarily. That fixed it for a client using Dell Encryption on an OptiPlex 7080.

You’ve got this. The TPM is finicky, but once you nail the write size and firmware version, 0X80280046 disappears.

Related Errors in Windows Errors
0XC0000703 ALPC 0XC0000703: Message Canceled Error Fixes Windows cannot find C:\ProgramData\Microsoft\Windows\Start Menu\Programs Fix 'Windows cannot find C:\ProgramData\Microsoft\Windows\Start Menu\Programs' 0x800f0922, 0x80070020, 0x8024401c Windows Update Downloads Then Fails to Install – Fixed 0X80290114 Fix TPMAPI_E_INVALID_DELEGATE_BLOB (0X80290114) Fast

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.