Windows 10 time falling an hour behind when dual booting
I've checked and my BIOS clock stays correct so it can't be the CMOS battery.
Also when I boot Windows 10 and the clock is an hour behind if I got and sync the clock with the time server it shows correctly.
So I'm not sure what could be causing the issue.
Had this issue on my laptop and regular PC (both dual boot Windows 10 and Xubuntu) - the time was always 1 hour behind.
Before I give my solution, just to be clear;
- Yes, BIOS showed the correct time
- No, the BIOS battery was not empty
- Yes, tried both with Daylight savings on and off
- Yes, my time zone was set correctly
- Yes, I did try different time zones as well
- No, I did not mess up my region settings
- Yes, I even changed time manually - but it would switch back nevertheless
What worked for me, was the following; change the "Internet time" settings to time.nist.gov.
- Go to Control Panel
- Go to Clock, language and region
- Select "Set the time and date"
- In the pop-up, go to tab "Internet time"
- Select "Change settings"
- Select the server time.nist.gov.
Time is now shown correctly again, even after restart.
If you are still having issues with time after these steps verify the Windows Time Service is running (w32Time)
- Open the Start menu and type "Services"
- From The list of options available select "Services"
- Click on any service in the list and then type "win" to be taken to the services with a name beginning "Windows"
- Find the "Windows Time" service and right click on it and open properties.
- Ensure the "Startup Type" is set to "Automatic" and then make sure you "Start" the service.
This should ensure that if you are using NTP (Internet Time) then you should be able to sync your clock on startup.
I have a dual boot Win 10 and ubuntu box. Originally I used Task Scheduler in Windows to force the action w32tm /resync /nowait
to be run when any user logged on. This worked but it's pretty clunky.
Then I discovered via this answer that Windows and Linux make different assumptions about the hardware clock. By default Windows assumes it's set to local time whereas Linux assumes it's set to UTC. So, depending on your preference, you can either tell Windows to assume the hardware clock is using UTC, as in @juniorRubyist's answer; or tell Linux to assume the hardware clock is set to local time, as at https://superuser.com/a/1336320/576397 or https://superuser.com/a/198196/576397.
Think I just figured this out on Windows 10.
Go to:
- Control Panel
- Click 'Clock, Language & Region'
- Click 'Change the time zone'
- Click 'Change time zone...' button
- Check 'Automatically adjust clock for Daylight Saving Time'
This immediately fixed the problem for me. Note that I'd already right-clicked the clock, selected 'Adjust date/time' and on that screen 'Adjust for daylight saving time automatically' was already on. It was only when I also turned it on for the 2nd time in Control Panel that my clock stopped being an hour behind after a reboot.