Why Your PC Loses Time
The 6 most common causes of clock drift — and how to fix each one
The 6 Most Common Causes
1. Dead CMOS Battery
The small coin battery (CR2032) on your motherboard keeps the clock running when the PC is off. After 3–5 years, it dies.
Very Common2. NTP Service Stopped
Windows Time service or Linux NTP daemon may have been disabled, preventing automatic sync.
Very Common3. Firewall Blocking UDP 123
Corporate firewalls or security software may block the NTP port, silently preventing sync.
Common4. Dual-Boot UTC Conflict
Windows uses local time for the hardware clock; Linux uses UTC. Switching between them causes a timezone-sized offset.
Common (dual-boot)5. VM Timer Issues
Virtual machines miss timer interrupts when their CPU is paused or throttled, causing the guest clock to fall behind.
Common (VMs)6. Quartz Crystal Aging
Your motherboard's quartz oscillator naturally drifts over time. Temperature changes and aging make this worse.
Normal behaviorFix on Windows 10 / 11
Step 1: Enable automatic time sync
Open Settings > Time & Language > Date & Time and enable:
- Set time automatically — ON
- Set time zone automatically — ON
Click Sync now.
Step 2: Verify the Time service is running
# Open elevated Command Prompt (Run as Administrator) net start w32time # Force resync w32tm /resync /force # Check current status w32tm /query /status
Step 3: Change NTP server (optional)
# Point to a more reliable server w32tm /config /manualpeerlist:"pool-ntp.rdem-systems.com" /syncfromflags:manual /update # Restart the service net stop w32time && net start w32time
Fix on macOS
Via System Settings
Go to System Settings > General > Date & Time and enable "Set date and time automatically". The default server is time.apple.com.
Via Terminal
# Check current NTP status sudo sntp time.apple.com # Force sync sudo sntp -sS time.apple.com
Fix on Linux
Check current sync status
# systemd-timesyncd (Ubuntu/Debian default) timedatectl status # Chrony chronyc tracking # ntpd ntpq -p
Enable NTP sync
# Enable automatic time sync sudo timedatectl set-ntp true # Or install chrony (recommended) sudo apt install chrony sudo systemctl enable --now chronyd
Configure a reliable NTP server
# Edit /etc/chrony/chrony.conf server ntp-pool.rdem-systems.com iburst server pool.ntp.org iburst # Restart sudo systemctl restart chronyd
Dual-Boot Time Issues (Windows + Linux)
This is one of the most common time problems. Windows stores local time in the hardware clock (RTC), while Linux stores UTC. When you switch between them, the displayed time jumps by your timezone offset.
Option A: Tell Linux to use local time
sudo timedatectl set-local-rtc 1
Option B: Tell Windows to use UTC (recommended)
# Run in an elevated Command Prompt reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f
Restart Windows after making this change.
Virtual Machine Clock Drift
VMs are notorious for losing time. The guest OS expects exclusive access to hardware timers, but the hypervisor shares the CPU among multiple VMs.
Why it happens
- CPU contention — When the VM is paused to run other VMs, the guest misses timer interrupts
- Live migration — Moving a VM between hosts causes a brief time gap
- Snapshot/restore — Restoring a snapshot brings back old time
How to fix it
- Install guest tools — VMware Tools, QEMU Guest Agent, Hyper-V Integration Services
- Enable NTP inside the VM — Use chrony with
server ntp-pool.rdem-systems.com iburst - Use
makestep— Allow large time corrections:makestep 1.0 3in chrony.conf
Frequently Asked Questions
Why does my computer lose time when turned off?
Your motherboard has a small coin battery (CR2032) called the CMOS battery that keeps the clock running when the computer is off. If this battery is dead or weak, the clock resets. Replacing it (about $3) fixes the problem instantly.
Why is my Windows clock wrong after dual-booting Linux?
Windows stores local time in the hardware clock (RTC), while Linux stores UTC. The fix is to tell Windows to use UTC via a registry key, or tell Linux to use local time with timedatectl set-local-rtc 1.
How do I fix clock drift on Windows 10/11?
Open Settings > Time & Language > Date & Time, enable "Set time automatically", then click "Sync now". If that doesn't work, run w32tm /resync /force in an elevated command prompt.
Why does my virtual machine lose time?
VMs share CPU with the host and other VMs. When paused, the guest OS misses timer interrupts. Install guest tools and enable NTP inside the VM with a reliable server.
Is Your Clock Fixed?
Test your system's NTP synchronization right now against a Stratum 1 GNSS reference.
A service by RDEM Systems · See also: NTP diagnostics