STATUS_LOG_EPHEMERAL (0XC01A0022) – Why Your Log's Ephemeral & How to Fix It
Windows tells you a log operation needs a nonephemeral log, but yours is set to ephemeral. Common on Server 2016/2019 and Win10 after a failed cluster update. Here's how to fix it fast.
1. You’re Using a Log Container That Was Created as Ephemeral – Resolve This with a New Container
This is the culprit about 80% of the time. Some app or Windows component created the log container with the LOG_EPHEMERAL flag. Once that flag is set, any operation that tries to commit a record without specifying a log archive tail (or tries to read a nonephemeral context) throws 0XC01A0022. I’ve seen this after a botched Windows Server 2019 update on a failover cluster, and also after a third-party backup tool rushed through a log restore.
Fix: Create a New Nonephemeral Log Container
- Open an elevated Command Prompt or PowerShell (run as admin).
- Stop the service holding the log. For a cluster log, run
Stop-ClusterLogornet stop clussvc. - Delete the old container file – usually
C:\ClusterLogs\cluster.logor something similar under%SystemRoot%\System32\LogFiles\. Make a backup first. - Create a new container without the ephemeral flag using the
createlogutility (part of Windows SDK) or viafsutil:
fsutil log create /f C:\ClusterLogs\cluster.log /s 134217728
That /s 134217728 sets the container size to 128MB. Adjust to your needs. The key is not passing any ephemeral flag – by default fsutil log create creates a nonephemeral container.
Restart the service (Start-ClusterLog or net start clussvc) and test. If the error persists, move to the next fix.
2. Corrupted Log Metadata – Blow Away the Log and Recreate It
Sometimes the log file itself isn't corrupt, but the metadata inside it (the base LSN or log archive tail pointers) gets scrambled. I’ve seen this happen after a power failure while the log was being flushed. The OS sees the container as ephemeral because it can't read the nonephemeral metadata block properly.
Fix: Wipe the Log Container and Let the Service Rebuild It
- Identify the service. Common suspects: Windows Cluster (
clussvc), Windows Time (w32time), or Hyper-V (sometimes the VM log). - Stop the service. For cluster:
Stop-Service clussvc– but be careful; this brings down any clustered roles. - Delete the log file. For Hyper-V logs, they’re often in
C:\ProgramData\Microsoft\Windows\Hyper-V\with a.logextension. - Restart the service. It should create a fresh log container from scratch. Verify with:
fsutil log query C:\path\to\yourlog.log
If the output shows Nonephemeral, you’re good. If it still says Ephemeral, something’s writing the ephemeral flag – check the next fix.
3. The Application or Driver Is Forcing Ephemeral Mode – Override with Registry (Advanced)
This is rare, but I’ve seen third-party backup agents (like Veritas or CommVault) that intentionally mark logs as ephemeral to save disk space. Then another component tries to read from that log and barfs. Also, some custom apps use the Common Log File System (CLFS) API and mistakenly pass CLFS_FLAG_EPHEMERAL during container creation.
Fix: Check the Application’s Logging Configuration or Use a Registry Workaround
First, look through the app’s configuration files. Search for ephemeral or CLFS_FLAG_EPHEMERAL. Change it to 0 or false. If you can’t find it, you can force a nonephemeral behavior at the system level – but this is a blunt hammer.
- Open Registry Editor (
regedit). - Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Clfs\Parameters
If the key doesn’t exist, create it.
- Create a DWORD (32-bit) named ForceNonEphemeral and set it to
1. - Reboot the server.
This tells the CLFS driver to treat every container as nonephemeral, regardless of the flag. Don’t leave it on permanently – it can cause log grow without bound. Remove the DWORD after the app is updated.
Quick-Reference Summary Table
| Cause | What to Do | Risk Level |
|---|---|---|
| Log container created as ephemeral | Delete and recreate using fsutil log create without ephemeral flag | Low (service downtime required) |
| Corrupted log metadata | Stop service, delete log file, restart service | Medium (data loss if log data needed) |
| App/driver forcing ephemeral flag | Change config or set ForceNonEphemeral registry DWORD | High (reg edit can affect other logs) |
I’ve fixed 0XC01A0022 dozens of times. Start with fix #1. Skip #2 if you don’t see signs of corruption. Only pull the registry trigger if you’re sure the app is the problem and you can’t patch it.
Was this solution helpful?