There is a small battery integrated into your computer’s motherboard to keep the PC clock running even when the computer is turned off. When the battery runs out, you will start seeing error messages such as “System CMOS checksum bad – Default configuration used” when starting up the computer and the date and time getting reset back to the default BIOS manufacturer date. You can still start up the computer by pressing a button to resume the boot process and Windows will load as normal.
The problems start when you begin using the computer whereby the created, modified and accessed time on files and folders will get messed up, the emails that you sent and received on your email client software are marked with a much older date resulting in the mails being pushed to the bottom, all secure HTTPS websites won’t load on your web browser, evaluation periods of trial software may instantly expire, etc. Windows has an automatic time synchronization feature to keep your computer’s clock accurate, but unfortunately it is scheduled to only run once a week.
Changing the integrated battery on the motherboard will solve the problem and is actually quite easy to accomplish for desktop computers but on laptops the battery is often harder to get to. If you don’t want to take things apart, here are a few ways to automatically synchronize your PC clock on Windows startup so you don’t have to remember going to the Internet Time Settings option and manually click on the Update Now button each time you power up your computer.
Dimension 4 is probably the most popular time correction software for computers running Windows operating system. It is free for personal use but commercial users will require to purchase a license at $10 each. What we like about Dimension 4 is it comes with a huge list of time servers, able to load the program at Windows startup through services, run a time sync once and then automatically exiting the program. Apart from that, if the time server fails, it can automatically retry the next time server until it gets a working time sync.
If you want to use Dimension 4 to automatically sync your computer’s time on Windows startup, there are a few settings that you need to take note of. First of all, click the Settings button on the program. Then you will need to enable the following options by ticking the checkbox:
- Load Dimension 4 at startup
- Once loaded, wait until online
- Synchronize once, then exit
At the correction area uncheck the “Maximum correction” checkbox or else it won’t work. This maximum correction setting will only update the time if the time on the computer is within the specified time range. Do take note that there will still be a d4.exe process running after closing the program, but it takes up very little memory usage at only 500Kb.
Time-Sync is another free Windows time correction software that installs and runs as a service. It is quite similar to Dimension 4 but is much simpler with less options. After installing Time-Sync, by default it is configured to run at Windows startup and automatically performing a time synchronization when the service is started. You can verify this from the Protocol tab.
At the Settings tab, you can configure to enable the event logging and change the update interval. The update interval contains selection as fast as every half a minute to once every day. So if your computer is having battery problems and not maintaining the time, you should select “Synchronize every day” so that the program doesn’t unnecessarily perform time synchronization. Time-Sync supports up to 5 time servers which can be configured in the Settings tab. It uses the first time server on the list, and automatically attempts the next one when it fails.
While Time-Sync doesn’t have the option to automatically close the program after a successful time sync, the executable file TimeSyncServiceClient.exe running in background only takes up 532Kb of memory.
If you prefer a simpler tool that just checks for the current time on the server and automatically adjusts the clock without too much fuss, check out Neutron. What makes Neutron stand out is the small file size (10KB), it’s portable, it automatically retries the next time server when the current one fails and has the ability to auto sync on startup. Importantly it can also exit after the time has been synced so nothing is left running in the background. Neutron’s an old tool dating back to 2008 but still works fine.
Although Neutron can automatically check for the system’s time accuracy during boot by placing it in the Startup folder or registry Run key, we prefer a more elegant solution of setting Neutron up to run as a scheduled task. This has some advantages such as bypassing UAC restrictions and only launching after the system has connected to the network, which is better if your network adapter takes several seconds to initialize. Here’s how to do it:
a) Download Neutron, extract the Zip file and copy the Neutron folder to the root of your C: drive. The path to the executable should look like this:
b) Launch Neutron and click the arrows at the bottom right to open the options panel. Check the “Auto sync at program startup” and “Exit after time has been synced” boxes, then close Neutron.
c) To try and simplify the process we’ve already created a scheduled task to be imported into your Task Scheduler. Download NeutronTime_Task.zip, extract it and run Create_NeutronTime_Task.bat. Users without administrator privileges will need to right click and Run as administrator or there’ll be an access denied error in the script.
d) When asked type in the password for the current user account, if the account has no password just hit Enter.
A new task will appear in Task Scheduler (taskschd.msc) which runs whenever the system boots and/or the network is initialized. Neutron will start, sync the time and close after 5 seconds. The batch script relies on the Neutron folder being in C:, if you want to change the location edit NeutronTime.xml with Notepad and change the path to Neutron.exe near the bottom, then (re)run the batch file. Edit the INI settings file to add your own custom time servers.
Note: We had a small issue on one of our test PCs although the PC itself may have caused the problem and not Neutron. The clock sync was always out by 1 hour but all time zone settings were correct. If you get the same, click on the taskbar clock > (Change) Date and time settings > Change time zone (Windows 7 only), choose a different time zone from the drop down (make sure it has a different + or – time), then change it back to your time zone. This fixed the issue for us.
4. Synchronize The Clock on Boot With Windows Time
As we’ve mentioned Windows can automatically resync the time and it does this using a scheduled task running once a week which isn’t very useful if you need to resync the clock every time the computer starts. The solution is starting the Windows Time Service on boot which will automatically synchronize the time, and it can be done by creating a new scheduled task.
Windows 10 actually does this automatically and will start the Time service via the task during boot so manually creating a task for that operating system isn’t strictly necessary. We’ve found from testing Windows 10 will sync on boot only if your system clock is currently wrong by more than 16 hours. If you need to keep the clock more closely synced you can also use this method. For Windows 7 users there is something you should do first before creating the task.
Fix The Time difference Is Too Great Error
If the clock is out by weeks, months or even years, when trying to sync the time in Windows 7 it could fail with an error saying “Windows can’t synchronize automatically with the time server because the time difference is too great. Please update your time manually”.
The error is caused by a hidden setting in Windows which only allows the clock to resync when the time difference is less than 15 hours. Increasing this to something bigger requires two settings to be edited in the registry. To modify the registry press Start, type regedit and hit Enter. Navigate to the following path:
Look for the registry values MaxPosPhaseCorrection and MaxNegPhaseCorrection. The default hexadecimal value for each is d2f0 (15 hrs), double click and change both values to FFFFFFFF, the new value is equivalent to 35 years so any time change less than that will be accepted in future.
Alternatively, you can download this ready made .reg file and run it to make the changes if you don’t want to edit the Windows registry yourself.
Create The Windows Time Scheduled Task
Like the Neutron tool above you can create a new scheduled task by importing one we’ve already made although in this case it’ll start the Windows Time Service, sync the time and then the service will stop again upon completion.
To do that download WindowsTimeSync.zip and extract it. Run the Create_WindowsTimeSync_Task batch file making sure to right click and Run as administrator if you don’t have full privileges. A new task called WindowsTimeSync will appear in Task Scheduler which will run whenever you boot or manually enable the network adapter.
A drawback using the Windows Time service is sometimes the Internet Time server fails to synchronize the clock. Third party tools we’ve mentioned in this article solve the problem by automatically attempting to sync with another server when the default fails but Windows Time will just fail if it cannot contact the default time server.
Make Sure The Windows Time Service is Not Disabled
In order for the Internet Time task to work you have to make sure the service itself is not disabled, which it will be if Internet Time is not set to synchronize once a week. To make sure go to Control Panel > Date and Time > Internet Time tab > Change settings and make sure “Synchronize with an internet time server” is checked. Click OK to confirm.
Using a More Reliable Time Server
Because the Windows Time servers supplied by Microsoft are not 100% reliable it’s possible to get server not responding or timeout errors when synchronizing. This is more likely if you live outside the United States because all the Windows time servers are US based. For a more reliable time server it’s best to use one closer to where you live.
The NTP Pool project is a service with nearly four thousand time servers available worldwide. The generic global address of pool.ntp.org does work for everybody and tries to sync with a server in your local area but it’s preferable to manually choose the closest servers to you:
a) Visit the NTP Pool Project website and click on the link for your region on the right of the page in the active servers list.
b) Inside the region page locate your country or the closest country to you and check how many servers there are in brackets. If the number is low (single figures) choose the next closest country with a higher number. Note down the server address (xx.pool.ntp.org), for the US it’s us.pool.ntp.org, for Malaysia there is only one server so a close alternative with a reasonable number would be Singapore (sg.pool.ntp.org).
c) To change the default time server in Windows to a NTP Pool server go to Control Panel > Date and Time > Internet Time tab > Change settings. Ensure the Synchronize option is checked and enter the Pool server address into the box, then click OK.
When Windows tries to sync the time according to the schedule or by pressing the Update now button, local NTP Pool servers will now be used to sync from instead, which should be faster and more reliable causing fewer errors from the Windows Time service. This is recommended for all versions of Windows as they all use the same time servers, including Windows 10.
Make Sure Your Computer Has The Correct Time Zone
Besides syncing the clock to the right time and date, another important setting in Windows to make sure the synchronization is correct is having the right time zone. If you live in Europe for example, and the time zone is set to the USA your clock could be out by as much as 10 hours. Making sure you have the correct time zone relative to your location will solve the problem.
Right click on the clock in the tray and select Adjust date/time, Windows 7 users will need to additionally press the Change time zone button. Click on the drop down and find the right time zone for your area, also make sure the daylight saving time option is enabled if your country uses DST.