
Windows 10 reaches end of life on Oct 5, 2025. After that, it won’t get security updates. If you stay on Win10, your machine is a sitting duck for malware and attackers. Don’t procrastinate.
If Windows Update keeps failing—or hangs forever at 99%—use this clean, offline upgrade that skips the flaky “checking for updates” step.
1) First, confirm your PC is Windows 11–ready
Use Microsoft’s official checker:
https://support.microsoft.com/en-us/windows/check-if-a-device-meets-windows-11-system-requirements-after-changing-device-hardware-f3bc0aeb-6884-41a1-ab57-88258df6812b
Important: The most common blockers are the CPU and motherboard (TPM 2.0, UEFI/Secure Boot). If your device doesn’t meet Windows 11 requirements, it’s unsupported after Oct 5, 2025. Treat that Windows 10 PC as unsafe for internet use—either upgrade/replace the hardware, reassign it to offline tasks, or retire it.
2) Prep (5–10 minutes)
- Unplug non-essential USB devices (drives, printers, docks).
- Ensure ≥30 GB free on C:.
- Suspend BitLocker (if enabled): Control Panel → BitLocker → Suspend.
- Temporarily disable third-party AV/VPN.
- Clean Boot:
msconfig→ Services → Hide Microsoft services → Disable all; Startup → disable everything.
3) Reset Windows Update & appraiser caches (PowerShell)
Open PowerShell as Administrator and run:
net stop wuauserv
net stop bits
net stop cryptsvc
ren "C:\Windows\SoftwareDistribution" SoftwareDistribution.old
ren "C:\Windows\System32\catroot2" catroot2.old
rd /s /q "C:\$WINDOWS.~BT"
rd /s /q "C:\$WINDOWS.~WS"
rd /s /q "C:\Windows\Panther"
md "C:\Windows\Panther"
net start cryptsvc
net start bits
net start wuauserv
Then heal the image:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
4) Run the upgrade offline from ISO (no update checks)
- Download the official Windows 11 ISO (same edition/language/arch) from Microsoft.
- Right-click the ISO → Mount → note the drive letter (e.g., E:).
- Disconnect the network (unplug Ethernet / disable Wi-Fi).
- In elevated PowerShell, launch Setup with Dynamic Update disabled:
Start-Process -FilePath 'E:\setup.exe' -ArgumentList '/auto upgrade /dynamicupdate disable /copylogs C:\$UpgradeLogs' -Verb RunAs -Wait
(Optional quick blocker scan without upgrading):
Start-Process -FilePath 'E:\setup.exe' -ArgumentList '/compat scanonly /dynamicupdate disable' -Verb RunAs -Wait
5) If it still stalls
- Drivers (most common):
- Storage: Device Manager → Storage controllers → switch to Microsoft Standard controller (Update driver → Let me pick).
- Display: use Microsoft Basic Display Adapter temporarily.
- Remove extra language packs, old VPN clients, and heavy OEM utilities.
- BIOS/Chipset: update from your PC maker’s support page.
- Rerun the offline setup command.
6) Pinpoint the exact blocker (2 minutes)
If it fails again, run Microsoft SetupDiag and read the summary:
mkdir C:\SetupDiag; cd C:\SetupDiag
.\SetupDiag.exe /Output:C:\SetupDiag\SetupDiagResults.log
- Codes like 0xC1900101-0x… usually name a driver (
oem*.inf)—remove/roll it back and retry. - Dynamic-Update/Appraiser errors → repeat Step 3 and ensure you’re truly offline with
/dynamicupdate disable.
7) After success
- Re-enable BitLocker, AV/VPN, and normal startup apps.
- Reconnect the network and run Windows Update to pull fresh drivers and features.
© 2012–2025 Jet Mariano. All rights reserved.
For usage terms, please see the Legal Disclaimer.