This guide will provide you with robust bullet-proof time synchronization in Windows 8 and Windows 7. Also, it will allow you to overcome some difficulties when using dual-boot with Linux.
Notice: you will need an administrative privileges to complete this setup.
If you have any problems, questions, ideas — please leave a comment.
Select proper timezone
First of all you need to open the Date and Time
configuration window. You can do so by clicking on a time widget in your toolbar using right mouse button and select Adjust date/time
. Then you should click Change time zone...
button. Now make sure that your time zone is configured correctly. If not, select proper one from the drop down menu.
If you don't know your timezone in UTC standard, you can find it here. Just select your country and city in the left menu. Your timezone will be written under the current time: e.g.: Moscow Time (MSK) +0400 UTC
Now close the window by clicking OK
button.
Select NTP-server
Open the tab called Internet Time
and hit Change settings...
button (you will need an administrator's privileges). Make sure that checkbox is ticked in the opened window.
Now we want to specify a valid NTP-server. This will allow your computer to automatically synchronize time from the remote server. I would recommend you to use the server from ntp.org. Just open the website, select your region from the right menu (e.g. Europe), select your country on the following page. Now you should see an address of the proper NTP server for your country in the header, e.g.: Russian Federation — ru.pool.ntp.org. Copy this address and paste it in the Server
text box of the Internet Time Settings
dialogue. Click OK
.
You can close the Date and Time
window now.
Updating time at boot
Next thing we should do is to setup Task Scheduler
to update our time during boot up process.
Open the Control Panel
. Find Administrative Tools
and open it. Now open Task Scheduler
from the list of administrative tools.
Click Actions
> Create Task...
On the General
tab:
- Specify the name, e.g.: Synchronize Time
- Tick
Run whether user is logged on or not
- Tick
Run with highest privileges
- Make sure that the proper user is selected (it must have administrative privileges). You can change user by clicking
Change user or Group
On the Triggers
tab:
Click the New...
button.
Select At startup
from the Begin the task
dropdown menu.
You can also create another triggers if you want. For example you can run this task every hour to make sure that you have a precise time
Click OK
button.
On the Actions
tab:
Click the New...
button.
Fill the form according to this values:
Program/script: schtasks
Add arguments (optional):
/Run /I /TN "Microsoft\Windows\Time Synchronization\ForceSynchronizeTime"
We are using schtasks console util to run special Microsoft's task that comes with Windows called ForceSynchronizeTime which is used to forcibly update the date and time.
Click OK
button.
On the Conditions
tab:
- Untick
Start the task only if the computer is on AC power
On the Settings
tab:
Tick Run task as soon as possible after a scheduled start is missed
Tick If the task fails, restart every
and select 1 minute
, also specify 15 times
for Attempt to restart up to
.
Tick Stop the task if it runs longer than
and specify 5 minutes
.
Click OK
button.
Enter the password for selected user when prompted.
Test (optional)
Adjust your time manually so it become incorrect. Right click on the created task in the list of the tasks and click Run. If everything configured correctly your time will be updated from the selected NTP server.
This value needs to be a QWORD on 64-bit systems, – Scott Simontis – 2019-06-08T05:50:48.873
The same used to happen to me with every multiboot system I built. Can you accept the answer as well? – Mat Carlson – 2013-11-28T14:03:59.793