我相信昨晚我停电了,当我启动我的 Windows 7 机器时,时间全乱了(据我所知这不是 13324 年)。
这通常发生在系统时间上,因此我经常必须手动将其与下拉选项中看到的任何建议服务器同步(第一个 time.windows.com 通常会失败)。这总是能解决问题。但这次所有选项都不起作用,我收到的是普通错误消息或超时类型错误。
我检查了时间服务(跑去services.msc
寻找它),它是在无论如何重新启动后问题仍然存在。
虽然我有互联网连接(用ping
命令检查),但我无法浏览互联网,因为我猜如果系统时间不同步,现代浏览器会阻止连接尝试。嗯,实际上不仅仅是浏览器,就像除了命令之外我没有互联网连接一样ping
。
编辑:这可能与情况无关。但我想知道主板上的机器时钟是否会影响此问题(我猜?)所以我用 Ubuntu 启动了我的电脑,时间完全正常。
答案1
尝试同步 Windows 7 时间时出错
当我启动我的 Windows 7 机器时,时间全乱了(据我所知,这不是 13324 年)
在许多操作系统中,如果系统时间与当前时间相差很大,则不会同步。
如果没有 TOY 芯片或者由于某种原因其时间与服务器时间相差超过 1000 秒,ntpd 会认为一定出现了严重错误,唯一可靠的措施就是操作员进行干预并手动设置时钟。
解决方案是手动将时间设置为接近实际当前时间的时间。然后时间将按预期与时间服务器同步。
NTP 的运作方式
当今的大多数操作系统和硬件都包含一个年表(TOY)芯片,以便在断电期间保持时间。
- 当机器启动的时候,该芯片用来初始化操作系统时间。
- 当机器与NTP服务器同步后,操作系统会不时地校正芯片。
- 如果没有 TOY 芯片或者由于某种原因其时间与服务器时间相差超过 1000 秒,ntpd 会认为一定出现了严重错误,唯一可靠的措施就是操作员进行干预并手动设置时钟。
- 这会导致 ntpd 退出,并在系统日志中记录一条恐慌消息。-g 选项会覆盖此检查,并且无论芯片时间如何,时钟都将设置为服务器时间。
- 但是,为了防止硬件损坏,例如当 CMOS 电池出现故障或时钟计数器出现故障时,一旦设置了时钟,大于 1000 秒的错误将导致 ntpd 退出。