The one-line difference
HWID stores a digital license on Microsoft's servers, tied to your hardware ID. KMS38 stores a local activation state that expires on 19 January 2038.
Everything else follows from that.
Side by side
| HWID | KMS38 | |
|---|---|---|
| Where the license lives | Microsoft's servers | Locally |
| Internet required | Yes, once | No |
| Duration | Permanent | Until Jan 2038 |
| Survives clean reinstall | Yes, automatically | No |
| Survives feature update | Yes | No — re-run |
| Works on Server editions | No | Yes |
| Works in VMs | Yes (per VM) | Yes |
| Hardware change | Re-run after major swaps | Unaffected |
Pick HWID when
You have a normal desktop or laptop with an internet connection, you plan to reinstall Windows at some point, and you want to never think about activation again. After one successful run, a clean install of the same edition on the same board activates itself before you have finished setting up your user account.
This is the right answer for probably 80% of people.
Pick KMS38 when
- The machine has no internet, and will not get one.
- You are activating Windows Server, where HWID does not apply.
- You are building a golden image or a VM template that should not register a digital license per clone.
- You explicitly want zero contact with Microsoft's activation servers.
The reinstall trap
The most common complaint about KMS38 is "it stopped working after I updated Windows". It did not fail — a feature update replaces licensing components, resetting the expiry. Re-run KMS38 and slmgr /xpr reads 2038 again. Cumulative monthly updates do not affect it; only feature upgrades do.
HWID has the mirror-image trap: swap the motherboard and the hardware ID changes, so the stored license no longer matches. Re-run it once on the new board.
Can you use both?
You can run HWID first and KMS38 after, and many people do on machines that are usually offline: HWID gives the server-side record for future reinstalls, KMS38 keeps the machine activated in the meantime without connectivity. They do not conflict.
Verifying either one
slmgr /xpr
"Permanently activated" → HWID or TSforge. A 2038 expiry date → KMS38. A date roughly 180 days out → you are on Online KMS, not either of these.
Get the script
Open Terminal (Admin) or PowerShell (Admin) and run:
irm https://get.activated.win | iex
Prefer offline? Grab the archive from the download page and run MAS_AIO.cmd as administrator. More help: troubleshooting guide · error decoder · all guides.