Last active
October 24, 2025 12:37
-
-
Save stong/c888d7fc9eae06a82357c8d06e316362 to your computer and use it in GitHub Desktop.
Revisions
-
stong revised this gist
Dec 18, 2024 . 1 changed file with 1 addition and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,8 +6,7 @@ This HRESULT means > An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log. Log here might give the impression of a log file, but I think it is actually related to "log" in the concept of "transaction log for commit and rollback" like in databases. For an update service, I'd expect Windows wants the filesystem to have some kind of transaction mechanism so failed updates can be cleanly and safely rolled back. I'm not an engineer at Microsoft and I am just speculating, so I could be wrong. Doing research online, I've seen people suggest using the `fsutil` command, so I looked into this. -
stong revised this gist
Dec 18, 2024 . No changes.There are no files selected for viewing
-
stong renamed this gist
Dec 18, 2024 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
stong created this gist
Dec 18, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,92 @@ I was trying to apply some Windows updates (specifically KB5048652) and it was failing. The system would reboot and try to apply the update (where it spins before the login screen), fail to apply the update, undo the update, and reboot. Checking `C:\Windows\Logs\CBS\CBS.log`, I saw `poqexec.exe` failing on HRESULT 0x80071AB1 - ERROR_LOG_GROWTH_FAILED. This HRESULT means > An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log. Log here might give the impression of a log file, but I think it is actually related to "log" in the concept of "transaction log for commit and rollback" similar to in databases. For an updates, I'd expect Windows wants the filesystem to have some kind of transaction mechanism so failed updates can be cleanly and safely rolled back. I'm not an engineer at Microsoft and I am just speculating, so I could be wrong. Doing research online, I've seen people suggest using the `fsutil` command, so I looked into this. I applied the following steps and was successfully able to install the update: (Admin command prompt) - `fsutil resource info c:\` Resulting in: ``` Resource Manager Identifier : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx KTM Log Path for RM: \Device\HarddiskVolume5\$Extend\$RmMetadata\$TxfLog\$TxfLog::KtmLog Space used by TOPS: 1 Mb TOPS free space: 100% RM State: Active Running transactions: 0 One phase commits: 0 Two phase commits: 1 System initiated rollbacks: 0 Age of oldest transaction: 00:00:00 Logging Mode: Simple Number of containers: 2 Container size: 10 Mb Total log capacity: 20 Mb Total free log space: 19 Mb Minimum containers: 2 Maximum containers: 10 Log growth increment: 2 container(s) Auto shrink: Not enabled RM prefers availability over consistency. ``` Playing around with the fsutil command, this seemed to support my idea this was some kind of transactional log thing. ``` C:\Users\User>fsutil resource ---- RESOURCE Commands Supported ---- create Create a Secondary Transactional Resource Manager info Display information relating to a Transactional Resource Manager setAutoReset Set whether a default Transactional Resource Manager will clean its transactional metadata on next mount setAvailable Set a Transactional Resource Manager to prefer availability over consistency setConsistent Set a Transactional Resource Manager to prefer consistency over availability setLog Change characteristics of a running Transactional Resource Manager start Start a Transactional Resource Manager stop Stop a Transactional Resource Manager C:\Users\User>fsutil resource setLog ---- SETLOG Commands Supported ---- growth Change the automatic growth settings maxExtents Change the maximum number of containers minExtents Change the minimum number of containers mode Switch between undo only logging and full logging rename Change the RM's Guid shrink Change the automatic shrink settings size Change the number of containers explicitly ``` I tried to increase the size of the log, wondering if that was the issue. - `fsutil resource setLog maxExtents 50 containers c:\` - `fsutil resource setLog size 10 c:\` - on this command, I got the error `"Error: Log service encountered a corrupted metadata file."` That error suggested to me perhaps the log was corrupt. I'd also seen people suggesting this command: - `fsutil resource setautoreset true c:\` According to the help text, this command does the following: > "Set whether a default Transactional Resource Manager will clean its transactional metadata on next mount" So I did this, restarted the PC, and tried the above two commands successfully. Then I downloaded and installed the update manually from the Windows Update Catalog (you can google the KB number and you'll find the download page hosted officially by Microsoft). Also I made sure all the typical services for Windows Update were running (wuauserv, bits, etc.). This went smoothly. Then I restarted the computer and it worked fine.