Ошибка синхронизации времени в Windows

  • Михаил
  • 12 мин. на прочтение
  • 138
  • 21 Dec 2012
  • 21 Dec 2012

Вы можете столкнуться с ошибкой синхронизации времени в Windows, когда ваш компьютер не может автоматически синхронизировать свое время с серверами времени time.microsoft.com в Интернете. Из-за некорректного времени на компьютере у вас может возникать ошибка « Your clock is ahead/ Ваши Часы спешат (отстают) » при открытии HTTPS сайтов Chrome (и в других браузерах), не корректно работать сторонние программы, и появляться различные другие неприятности.

Если синхронизация времени с Интернетом не работает, проверьте, с какого внешнего NTP сервера должен получить время ваш компьютер. Выполните команду:

w32tm /query /peers

По умолчанию компьютеры в рабочих группах (не присоединенные к домену Active Directory) настроены на получение времени с серверов time.windows.com.

Если при запуске этой команды появилась ошибка “The following error occurred: The service has not been started. (0x80070426)”, проверьте состояние службы Windows Time. Она должна быть настроена на автоматический или ручной запуск. Можете проверить состояние службы с помощью PowerShell или консоли services.msc:

Get-Service w32time| Select DisplayName,Status, ServiceName,StartType

Перезапустите службу:

Restart-Service -Name w32time

 

Затем проверьте, что сервер времени Microsoft доступен по порту NTP (UDP 123). Для проверки доступности UDP порта можно использовать утилиту portquery или можно напрямую обратиться к серверу и запросить у него текущее время:

w32tm /stripchart /computer:time.windows.com

Если команда вернет ошибку error: 0x800705B4, значить указанный NTP сервер не доступен. 

Проверьте, что в Windows открыт исходящий порт UDP/123 для протокола NTP (по умолчанию порт должен быть открыт). Вы можете принудительно открыть порт в Windows Defender Firewall с помощью PowerShell:

New-NetFirewallRule -DisplayName "AllowOutNTP" -Direction Outbound -Protocol UDP -RemotePort 123 -Action Allow
Enable-NetFirewallRule -DisplayName AllowOutNTP

Также убедитесь, что исходящий NTP трафик не блокируется на сетевом уровне (провайдера, вашего файервола или другими сетевыми устройствами).

 

Яндекс DNS

Базовый

IPv4:

77.88.8.8 
77.88.8.1

 

Рекомендуемые серверы синхронизации:

  • ntp0.NL.net
  • ntp2.vniiftri.ru
  • ntp.ix.ru
  • ntps1-1.cs.tu-berlin.de
  • ntp.msk-ix.ru

 

WINDOWS

Укажите рекомендуемые серверы в настройках сервиса Windows Time, последовательно выполнив следующие команды в PowerShell или cmd:

net stop w32time
w32tm /config /syncfromflags:manual /manualpeerlist:"ntp0.NL.net ntp2.vniiftri.ru ntp.ix.ru ntps1-0.eecsit.tu-berlin.de"
w32tm /config /reliable:yes
net start w32time

 

LINUX (systemd)

Внимание

Сервис systemd-timesyncd может конфликтовать с сервисом ntpd, если они запущены одновременно. Вы можете либо удалить сервис ntpd, либо настроить синхронизацию времени с его помощью (на соседней вкладке).

Укажите запасные серверы в настройках системы:

Перечислите запасные серверы в файле /etc/systemd/timesyncd.conf, в секции [Time] в параметре FallbackNTP=, например:

FallbackNTP=ntp0.NL.net ntp2.vniiftri.ru ntp.ix.ru ntps1-0.eecsit.tu-berlin.de

Установите параметр UseNTP=true в конфигурационном файле сервиса systemd.network, обычно расположенном в каталоге /etc/systemd/network или /var/lib/systemd/network.

Перезапустите сервис синхронизации:

sudo systemctl restart systemd-timesyncd

 

LINUX (ntpd)

Укажите адреса нужных серверов в конфигурации ntpd:

Укажите адреса рекомендуемых серверов в файле /etc/ntp.conf. Адреса серверов по умолчанию закомментируйте символом # в начале строки, например:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
# server 0.ubuntu.pool.ntp.org
# server 1.ubuntu.pool.ntp.org
# server 2.ubuntu.pool.ntp.org
# server 3.ubuntu.pool.ntp.org
server ntp0.NL.net
server ntp2.vniiftri.ru
server ntp.ix.ru
server ntps1-0.eecsit.tu-berlin.de

Перезапустите сервис:

sudo service ntp restart

 

Затем выполните синхронизацию времени:

w32tm /config /update
w32tm /resync

Проверьте, что ваш компьютер успешно получил время с нового источника времени (NTP сервера):

w32tm /query /status

Если ничего не помогло, попробуйте полностью сбросить настройки службы Windows Time:

net stop w32time
w32tm /unregister
w32tm /register
net start w32time

Выполните синхронизацию времени:

w32tm /resync

Для автоматической синхронизации времени в Windows используется отдельно задание в планировщике Task Scheduler. Запустите консоль taskschd.msc и перейдите в раздел Task Scheduler (Local) -> Task Scheduler Library -> Microsoft -> Windows -> Time Synchronization. Проверьте, что задание SynchronizeTime включено.

Также вы можете проверить состояние задания Task Scheduler с помощью PowerShell:

Get-ScheduledTask SynchronizeTime

Чтобы включить его:

Get-ScheduledTask SynchronizeTime|Enable-ScheduledTask