The 6 most common causes of clock drift — and how to fix each one
The small coin battery (CR2032) on your motherboard keeps the clock running when the PC is off. After 3–5 years, it dies.
Very CommonWindows Time service or Linux NTP daemon may have been disabled, preventing automatic sync.
Very CommonCorporate firewalls or security software may block the NTP port, silently preventing sync.
CommonWindows uses local time for the hardware clock; Linux uses UTC. Switching between them causes a timezone-sized offset.
Common (dual-boot)Virtual machines miss timer interrupts when their CPU is paused or throttled, causing the guest clock to fall behind.
Common (VMs)Your motherboard's quartz oscillator naturally drifts over time. Temperature changes and aging make this worse.
Normal behaviorOpen Settings > Time & Language > Date & Time and enable:
Click Sync now.
# Open elevated Command Prompt (Run as Administrator) net start w32time # Force resync w32tm /resync /force # Check current status w32tm /query /status
# 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
If the clock resets every time you turn off the computer, your CMOS battery is dead. Open the case and replace the CR2032 coin battery on the motherboard (costs about $3).
Go to System Settings > General > Date & Time and enable "Set date and time automatically". The default server is time.apple.com.
# Check current NTP status sudo sntp time.apple.com # Force sync sudo sntp -sS time.apple.com
If your Mac loses time after sleeping, try resetting the SMC (System Management Controller). On Apple Silicon Macs, a simple restart usually fixes this.
# systemd-timesyncd (Ubuntu/Debian default) timedatectl status # Chrony chronyc tracking # ntpd ntpq -p
# Enable automatic time sync sudo timedatectl set-ntp true # Or install chrony (recommended) sudo apt install chrony sudo systemctl enable --now chronyd
# Edit /etc/chrony/chrony.conf server ntp-pool.rdem-systems.com iburst server pool.ntp.org iburst # Restart sudo systemctl restart chronyd
After configuring, run chronyc sources to see your active time sources and their status. A ^* prefix means that source is currently selected.
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.
sudo timedatectl set-local-rtc 1
# 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.
Using UTC in the hardware clock is the standard approach used by servers worldwide. It avoids DST-related issues and is the cleaner solution for both operating systems.
VMs are notorious for losing time. The guest OS expects exclusive access to hardware timers, but the hypervisor shares the CPU among multiple VMs.
server ntp-pool.rdem-systems.com iburstmakestep — Allow large time corrections: makestep 1.0 3 in chrony.confOn Proxmox VE, ensure the VM uses the kvm-clock clock source (default on modern kernels). Check with: cat /sys/devices/system/clocksource/clocksource0/current_clocksource
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.
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.
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.
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.
Test your system's NTP synchronization right now against a Stratum 1 GNSS reference.
A service by RDEM Systems · See also: NTP diagnostics