I have several Windows 11 updates waiting to download, but they freeze at random percentages and can take days without completing. The progress sometimes even drops—for example, from 30% back down to 6%. I have already rebooted repeatedly, run DISM RestoreHealth and sfc /scannow, restarted Windows Update, Windows Installer, BITS, and related services, cleared the SoftwareDistribution and Catroot2 folders, removed update files with Disk Cleanup, verified the date and time, and tried the built-in troubleshooter. I have also performed an in-place repair upgrade of Windows 11 three times, including driver updates, but the issue remains. During one repair attempt, Windows Setup itself appeared to deadlock at the 46% verification stage and eventually timed out after an hour. What else can I try to get Windows Update working?
2 Answers
You can try allowing Windows Defender to update first, then handle the remaining updates separately. Windows Update normally queues everything together, though, so the practical workaround is to let the batch fail and use Retry on individual items afterward. If retrying them one at a time produces the same stalls, that likely points to a deeper servicing or system issue rather than a simple download congestion problem.
One possibility is that prerequisite updates are missing or failing. On branded systems, the manufacturer’s update utility can sometimes install firmware, chipset, or other dependencies that Windows Update needs. Since this is a custom-built desktop, that specific approach may not apply, but checking the motherboard and chipset drivers directly could still be worthwhile.
This is a custom-built system with an MSI motherboard, so there is no Dell- or HP-style support utility to use. Intel’s driver assistant reports that the drivers are current, and the problem also affects Windows Setup during an in-place repair, which makes this look more like a Windows servicing problem than a normal driver issue.

Windows Update does not provide a normal way to select individual updates before the initial check. The only workaround is waiting for the batch to fail and retrying items afterward, and I have already tried that without any improvement.