在 Windows 启动时自动同步计算机时钟的 6 种方法

发布时间 2023-10-09 11:47:00作者: Leone-

在PC的主板上有一个小电池,能让PC在关机时仍能维持时钟的运行。但电池是有寿命的,几年之后电量耗尽,你就会看到诸如“System CMOS checksum bad – Default configuration used”这样的错误提示,此时日期和时间会被重置到BIOS的默认值(比如2010年),你可以通过按键盘(屏幕会有提示,大多数是F1)继续启动计算机,Windows会正常启动,但时间已经不对。

当你开始使用计算机,问题就接二连三地出现了。文件和文件夹的创建、修改和访问时间会变得混乱,电子邮件被标记为错误的日期,HTTPS网站无法在你的浏览器中正常加载,试用软件的评估期可能会立即过期等等。

Windows会自动同步时间,但问题在于某些系统每周仅同步一次。更换主板上的电池可以可解决此问题,这在台式计算机上很容易完成,但在笔记本电脑上就比较难了。如果你不想或无法将机器拆开,这里有几种在Windows启动时自动同步PC时钟的方法,这样你就不必在每次开机后手动调整时间了。

本文所有文件下载。

 

1. Time-Sync

Time-Sync是一个免费且易于使用的Windows时间校正工具,可作为Windows服务安装,还可成为因特网和局域网的NTP服务器。默认在 Windows 启动时运行服务并同步时间。可以从"Prococol"选项卡确认同步状态。

在"Settings"选项卡中,可选把日志写入Windows日志查看器,还可以设置时间更新间隔,从半分钟一次到每天一次不等。建议选择"每天同步"以避免不必要的同步动作。

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟

默认有五个时间服务器,也可以在"Settings"选项卡中增减。使用策略是先同步列表中的第一台服务器,如果失败就自动尝试下一台服务器。默认的pool.ntp.org 条目非常可靠,它在全球有超过四千台时间服务器。

最后,建议以默认的客户端版本安装,如果安装为Windows服务,你的计算机自己就会成为NTP服务器!

最新版支持Windows 11。

Download Time-Sync


2. NetTime

NetTime的最新版本是3.20α3,支持从Win95到Win10,Server2003到2016全系列32/64位系统。NetTime 有两种不同的使用方式:作为Windows服务在后台同步时间,或者运行主程序同步时间,之后进入系统托盘。后者需要管理员权限。

如果你需要NetTime在后台自动同步时间,就选默认安装为服务:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_02

默认设置是查询四个pool.ntp.org服务器,可以设置你自己的服务器。同步频率是每分钟尝试同步一次,每12小时更新一次。

如果没有作为Windows服务安装,就需要以管理员权限运行主程序来同步时间。进入软件安装目录,在NetTime.exe上右键 ->属性 ->兼容性,勾选“以管理员权限运行此程序”,然后勾选“Show NetTime Icon in the system tray at login”,不勾选“Run NetTime as a system Service”:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_03

最新版支持到Win10和Server 2016。

Download NetTime


3. Meinberg NTP

像之前的工具一样,Meinberg NTP需要安装为Windows服务。它基于ntp.org的源代码,新版本创建于2021年,支持IPv6和Windows XP及以上系统。

NTP需要管理员权限才能安装。

安装过程一路默认,看到如下窗口把更新服务器改为亚洲(因为没有中国服务器),还可以输入最多9个NTP服务器,以逗号间隔,之后一律下一步:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_04

Meinberg NTP服务每次启动都会同步时间,也会在启动时持续检查网络连接,以防网卡初始化之前的延迟。如果你想在会话期间同步时间就必须重启服务,路径是开始 ->Meingerg ->Restart NTP Service。

Download Meinberg NTP


4. Dimension 4

Dimension 4曾经是很有名的Windows时间同步工具,遗憾的是该项目已于2013年被放弃,官网也于2020年初消失。虽然Dimension 4内置了很多时间服务器供循环使用,但由于年代久远,其中一些已经无法提供服务,所以在成功同步时间之前你会遭遇一堆报错信息。你可以删除无效的服务器并添加自己的服务器,或者在“高级”菜单中配置为只使用特定的服务器。

一个问题是每次运行Dimension 4主程序都会弹出一个窗口,提示Dimension 4作为Windows服务运行,要求提升至管理权员限,需要手工点Allow:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_05

解决方法是将其添加任务计划(能忽略UAC弹窗),当电脑启动,以管理员权限自动运行。

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_06

主程序窗口中有一些设置需要注意。确保选中“Once loaded, wait until online”和“Synchronize once, then exit”。取消选中“Maximum correction”,否则只有当前处于指定的时间范围内才会执行同步。如果未使用任务计划,也可以启用“Load Dimension 4 at startup”。

Download Dimension 4


5. Neutron

如果你只想要一个简单的工具,仅仅是同步时间而没有其它的麻烦事,那就看看Neutron,她以10KB的苗条身材在众多的同步软件里鹤立鸡群。Neutron是绿色软件,当前服务器出现故障就会自动重试下一个服务器,也能够在系统启动时同步时间。更重要的是,Neutron可以在同步时间后退出,因此不会在内存里残留任何东西。虽然是2008年的软件,但亲测在Windows10-64中仍然有效。

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_07

启动Neutron并单击右下角的箭头打开选项面板。选中“Auto sync at porgram statrup”和“Exit after time has been synced“,会在同步时间后并退出。也可以编辑Neutron.ini文件添加你自己的时间服务器。

因为Neutron是绿色软件,不能在开机时自动启动,该如何做到这点呢?你可能会想在启动文件夹中放置一个快捷方式,或创建一个注册表run键,但出于管理员权限的原因,这种方法在Win10中已经不可行。

替代方案是创建“任务计划”,这有一些优点,如完全绕过UAC限制,并且可以选择只在系统连接到网络后启动。如果你的网卡需要几秒钟的时间来初始化,这就很有用了。

注意:在使用 Neutron 时可能遇到的一个小bug是时钟同步延迟一小时,但所有时区设置都是正确的。 要解决此问题,请单击任务栏时钟 > 调整日期/时间 > 更改时区(仅限 Windows 7),从下拉列表中选择不同的时区,然后再改回原来的时区。

Download Neutron


6. 开机时自动同步Windows时钟

如前所述,Windows自己就有同步时间的功能,但每周只同步一次,如果想要在每次计算机启动时同步时间,这就没啥用处,为此我们需要创建新的任务计划。

Windows 7没有时间任务计划在启动时运行,但Windows 10已经内置了一个。因此为Windows10创建一个新任务并无必要。但如果你的Win10遇到了时间同步问题,也可以使用此方法,步骤是一样的。

创建Windows时间计划任务

可以使用我们制作的批处理创建一个新的任务计划,创建过程中会启动Windows时间服务同步时间,完成之后停止服务。

右键以管理员身份运行批处理Create_WindowsTimeSync_Task.bat,一个名为WindowsTimeSync的新任务将出现在任务计划程序库中,该任务将在你手动启动,或者手动启动网卡后运行:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_08

使用Windows时间服务的一个缺点是有时Internet时间服务器无法同步时钟。本文中提到的第三方工具会在失败时轮询其它服务器,但Windows Time做不到这点。

Windows时间同步错误和所需的检查

尽管时间同步任务计划可能会顺利运行,但还是建议你检查一些系统设置以避免如下潜在的错误。

修正时差太大的错误

如果PC时钟的误差超过数周、数月甚至数年,Win7将无法同步时间。错误信息是“Windows无法自动与时间服务器同步,因为时差太大。请手动更新的时间”,WIN10无此问题。

该错误是由Windows中的隐藏设置引起的,该设置定义时差小于15小时才能重新同步。增加到更大的数值需要在注册表中编辑两个设置,即MaxPosPhaseCorrection和MaxNegPhaseCorrection。它们的默认十六进制值是d2f0(15小时),更改为更大的数字,例如FFFFFFFF(35年)就可以让时间同步启用。

你可以根据下文编辑注册表,或者另存为.reg文件导入

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config]
"MaxNegPhaseCorrection"=dword:ffffffff
"MaxPosPhaseCorrection"=dword:ffffffff

确保未禁用Windows时间服务

为了使Internet时间任务正常工作,必须确保服务本身未被禁用。转到控制面板 ->日期和时间 ->Internet时间选项卡 ->更改设置,确保选中“与Internet时间服务器同步”。单击“确定”:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_09

确保计算机具有正确的时区

除了将时钟同步到正确的时间和日期,Windows 中的另一个重要设置是拥有正确的时区。比如你住在中国但将时区设置为美国,时钟可能会延迟十几个小时(美国横跨5个时区,与中国的时差各不相同)。此外还要注意夏令时。

控制面板 ->日期和时间 ->更改时区:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_10

使用更可靠的时间服务器

鉴于 Microsoft 提供的 Windows 时间服务器并非 100% 可靠,可能会出现服务器无响应或超时错误,你可以使用其它更可靠的的NTP服务器,而且尽量选择物理距离近一些的。建议所有版本的 Windows 使用相同的时间服务器,包括 Windows 10。

“NTP池“项目提供时间同步服务,在全球范围内提供超过四千个时间服务器。池中的通用全局地址pool.ntp.org适用于所有人,可以无脑填入,但若有可能,最好还是选物理距离较近的服务器。

以中国为例,访问 NTP 池项目网站,在右侧选择Asia,找到China:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_11

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_12

括号内的数字是服务器的数量,点进去可见服务器域名:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_13

 要将Windows中的默认时间服务器改为NTP池服务器,请转到控制面板 ->日期和时间 ->Internet时间选项卡 ->更改设置,确保选中同步选项并在框中输入池服务器地址,然后单击确定:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_14

当你按”立即更新“按钮,或Windows 根据任务计划同步时间,就会使用本地的NTP 池服务器,这应该更快更可靠,从而减少了来自 Windows 时间服务的错误。

本文介绍的5个时间同步软件都可以自定义NTP服务器,可以在这里找到属于你的服务器。

对于Win10,在屏幕右下角的时间上右键 ->调整日期/时间,可见NTP服务器已改为新的服务器:

在 Windows 启动时自动同步计算机时钟的 6 种方法_自动同步Windows时钟_15