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. Created, modified and accessed time on files and folders will get messed up, emails are marked with the wrong date, secure HTTPS websites won’t load in your web browser, evaluation periods of trial software may instantly expire, and 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 on some systems.
Changing the integrated battery on the motherboard will solve the problem and it’s quite easy to accomplish on desktop computers but can be much harder to do on laptops. If you don’t want to or can’t take things apart, here are a few ways to automatically synchronize your PC clock on Windows startup. This way you don’t have to manually change the time settings each time you power up your computer.
Time-Sync is a free and simple to use Windows time correction tool that installs and runs itself as a Windows service. After install, the default configuration is to run at Windows startup and automatically perform a time synchronization when the service is started. You can verify sync status from the Protocol tab.
In the Settings tab, you can configure event logging and the update interval. The update interval contains selections as fast as every half a minute to once every day. If your computer is having battery problems and not maintaining the time, select “Synchronize every day” so that the program doesn’t unnecessarily perform time synchronizations.
Time-Sync supports up to five time servers which can also be configured in the Settings tab. It uses the first server on the list and automatically attempts the next one if it fails. The default pool.ntp.org entries should be very reliable with over four thousand time servers worldwide. Make sure to install the default client version during install and not the server version. Otherwise, your computer will turn into its own time server!
The last stable release of NetTime was back in 2012 although there is an alpha 3.20 build from 2017. Compatibility is fine though and it works on the latest Windows 10. NetTime can be used in two different ways; either syncing the time in the background using a Windows Service or launching the main program and letting it sync then sit in the system tray. The second option requires administrator privileges.
During install, NetTime defaults to running as a service which is recommended. Turn the option off to run the sync manually or from the main program. The default settings will query four pool.ntp.org servers although you can edit or add your own. It will keep trying every minute and update every 12 hours. If you want to let the service update the time in the background, uncheck “Show NetTime icon in the system tray at login”.
To run without the service, NetTime has to be permanently run as administrator (even if you are an admin). Go to the NetTime folder in Program Files (x86), right click on NetTime.exe > Properties > Compatibility > “Run this program as administrator”. In the Settings, leave “Show NetTime icon in the system tray at login” checked but uncheck “Start NetTime service at bootup”.
3. Meinberg NTP
Like some of the previous tools, Meinberg NTP uses a Windows service for its time syncing. The program is based on source code from NTP.org who also list thousands of worldwide time servers. The newer versions of NTP support IPv6 and Windows XP or newer systems while there is another version from 2010 available for older PCs. NTP requires administrator privileges to install.
During the install process, you can leave the main settings at the defaults until the Configuration File Settings window appears. Check “Create an initial configuration file with the following settings” and then select a region or country from the pool.ntp.org drop down list. Click Next and then click No to not review the generated config file and at the next window leave everything alone. Click Next and Finish.
The Meinberg NTP service will set the time after the install is complete and on every boot. It is configured to keep checking for a network connection on startup in case there is a delay before your network adapter is initialized. If you want to sync the time during a session, the service will have to be restarted. You can do that from the Start Menu, the Program Files folder, the Services Control Panel applet or the command line.
4. Dimension 4
Dimension 4 is one of the most well known time syncing tools for Windows. Sadly, the project appears to have been abandoned with no updates since 2013 and the website disappeared in early 2020. Although Dimension 4 has a huge list of time servers that it can cycle through, because of its age a number of them don’t work. As a result, you might get several sync failures before a success.
To help with this issue, bad time servers can be removed and you are also able to add your own. Dimension 4 can be told to use a specific server from the Advanced menu if you want it to use just one and not the rest of the list (as long as you’re sure it’s a reliable time server).
One problem is getting Dimension 4 to work on boot, usually for Windows 10 systems. It pops up a window asking for administrator privileges to start the service, even if you are already an administrator. A trick to get around that is to manually start the Dimension4 service on boot using a scheduled task. We have included a batch script to add a new scheduled task in the Zip archive, simply right click and run it as administrator.
There are a few settings that you need to take note of in the main program window. Make sure “Once loaded, wait until online” and “Synchronize once, then exit” are checked. Uncheck “Maximum correction” or the time will only sync if it’s currently within the specified time range. If you are running Dimension 4 without using the scheduled task, “Load Dimension 4 at startup” can also be enabled.
If you prefer a simpler tool that just syncs the time 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 sync on startup. Importantly, Neutron can also exit after the time has been synced so nothing runs in the background. Neutron’s an old tool dating back to 2008 but it still works in Windows 10.
Download and extract the Zip, 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. It will automatically sync the time and quit. Edit the Neutron.ini settings file to add your own custom time servers. There is a problem because Neutron is portable and doesn’t have the ability to start itself on boot. Help on how to do that is below.
Run Neutron on Windows Startup
Neutron can automatically check the system time during boot by creating a scheduled task. In newer operating systems like Windows 10 and 8/8.1 placing a shortcut in the Startup folder or creating a registry Run key no longer works due to administrator privileges.
A scheduled task has some advantages such as bypassing UAC restrictions completely and optionally only launching after the system has connected to the network. That is useful if your network adapter takes several seconds to initialize. Here’s how to do it:
a) Extract and set up the Neutron options as explained above. Copy the Neutron folder to the root of your C: drive. The path should look like this:
b) 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, right click and “Run as administrator”.
c) Type in the password for the current user account, if the account has no password just press Enter.
A new task will appear in Task Scheduler 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 the root of C. If you want to change the location, open NeutronTime.xml with Notepad and change the path to Neutron.exe near the bottom. Then (re)run the batch file.
Note: A small issue you might encounter with Neutron is the clock sync being out by one hour but all time zone settings are correct. To fix this, click on the taskbar clock > Adjust Date/time > 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 original time zone. This fixed the issue for us.
There is lots more information on synchronizing time servers and using third party time servers on page 2.