Quick fix: If stuck longer than 4 hours, hold power button to force shutdown. Boot → if stuck on update screen again: boot to Safe Mode (hold Shift while clicking Restart from sign-in screen → Troubleshoot → Advanced → Startup Settings → F4). In Safe Mode: open cmd as admin → net stop wuauserv → rename C:\Windows\SoftwareDistribution to SoftwareDistribution.old → reboot. Resume normal boot. The update retries from clean state.
The “Working on updates” screen can take 5-60 minutes normally. Beyond 4 hours: usually stuck. Cause: corrupted update, hardware issue, low disk space. Recovery: force restart, then clear update cache and retry.
Affects: Windows 11 (and Windows 10).
Fix time: ~30 minutes.
What causes this
The update screen processes pending changes from the previous boot. Stuck causes: corrupted update file, failed driver install, low disk space, slow HDD (especially mechanical drives), TPM/BitLocker issue, hardware failure during update.
Method 1: Wait it out (if first time)
The first step.
- If the screen has been stuck under 2 hours: keep waiting.
- Indicators that update is progressing:
- Disk activity LED blinking (laptop / case).
- Slight CPU fan noise.
- Percentage occasionally changing (even slowly).
- For SSD systems: 30-90 minutes typical.
- For HDD systems: can be 2-4 hours.
- If at 4 hours with no progress: force restart.
- To force restart: hold power button until PC shuts off. About 5-10 seconds.
- Wait 10 seconds. Power on.
- If update screen resumes and finishes: lucky — just slow.
- If stuck again: continue to Method 2.
This is the wait-and-see.
Method 2: Boot to Safe Mode and clear update cache
The cleanup route.
- Force restart 3 times in a row. Windows enters Automatic Recovery / Recovery Environment.
- Pick Troubleshoot → Advanced options → Startup Settings → Restart.
- After reboot, press F4 (Safe Mode) or F5 (Safe Mode with Networking).
- In Safe Mode, open Command Prompt as Admin.
- Stop Windows Update service:
net stop wuauserv net stop bits net stop cryptsvc net stop msiserver - Rename the update cache folders (forces fresh download next time):
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old - Restart services:
net start wuauserv net start bits net start cryptsvc net start msiserver - Reboot normally. Windows downloads updates fresh.
This is the standard recovery.
Method 3: Use Recovery to roll back the update
For when the specific update is corrupt.
- Boot to Recovery Environment (3 forced restarts).
- Pick Troubleshoot → Advanced options.
- Pick Uninstall Updates (if option available).
- Pick: Uninstall latest quality update or Uninstall latest feature update.
- Windows reverts the update. Reboots.
- If Uninstall Updates not available: Go back to the previous version of Windows (if within 10 days of upgrade).
- For older revert: System Restore. Pick a restore point before the update.
- After reverting: Settings → Windows Update → Pause for 1 week. Wait for Microsoft to fix the problem update.
- If pause runs out and bad update re-pushes: use wushowhide to block specific KB.
This is the revert route.
How to verify the fix worked
- PC boots to login screen.
- Settings → Windows Update shows current state (either up-to-date, or pending downloads).
- System functional. No further “Working on updates” stuck loops.
- SoftwareDistribution.old folder exists (proof that you cleared cache).
If none of these work
If stuck after Safe Mode: Hardware issue: drive failing during update. Check SMART status (CrystalDiskInfo). Low disk space: update couldn’t complete. Boot to recovery → Command Prompt → free space: cleanmgr, delete unneeded files. Or expand C: from other partition. For BitLocker prompts: keep recovery key ready. For Surface devices: surface diagnostic tool via USB. For dual-boot: Windows update broke bootloader. Boot Linux Live USB → chroot + grub-update. For chronic update fail: in-place upgrade via Media Creation Tool. Repairs and applies updates. Last resort: Reset This PC: Recovery Environment → Reset → Keep my files. Reinstalls Windows without data loss.
Bottom line: Wait up to 4 hours first. Force restart. In Safe Mode: stop wuauserv + bits + cryptsvc + msiserver, rename SoftwareDistribution and catroot2, restart services. Reboot. Update retries with clean cache.